Workers

Bulk Importing Workers

Import hundreds or thousands of workers from a spreadsheet, check every row in a preview before anything is saved, and update existing workers safely.

Talk to us Browse all guides

Overview

For a new client or a seasonal intake.

The import reads a CSV file, checks every row on its own, and shows you a preview. Nothing is saved until you confirm. It handles files from Excel in any common encoding, semicolon-separated files and quoted cells, and keeps accented names such as Łukasz, Ștefan and Rūta intact. Up to 10,000 rows per file.

The Template

Start from ours.

Agency console: Workforce > Import workers. Client dashboard: Workforce > Import workers. Click Download CSV template. In Excel, save as "CSV UTF-8" to keep accents; other encodings are converted and flagged in the preview.

Columns

Only the badge number is always needed.

Column Notes
employee_id Badge or payroll number. Required. Also accepted as badge, badge_number, payroll_number.
name Full name.
client_name, location_name The client and home site, by name. Or choose a default client and site on the upload screen.
email, phone Used for set-up links and notifications. Phone must be a valid UK mobile for texts.
hourly_rate, charge_rate £11.44 and 11,44 are both read as 11.44. A rate that is not a number is an error, never saved as blank.
job_role, start_date, preferred_language Language is en, pl, ro or lt.
cost_code, department Must already exist.
pin Optional starting PIN (stored only as a one-way hash).
sms_opt_in Whether the worker has agreed to texts.

The first row must be the headings. Use any columns, in any order.

Upload and Preview

Two steps.

Upload

Choose the CSV file, and optionally a Default client, Default site (new workers) and Default hourly rate (new workers). Tick Reactivate returning workers if inactive or dormant workers in the file should become active again. Click Preview import.

Check the preview

Every row shows whether it will be added, updated, left alone or skipped, with the reason for any error or warning. Tick Only rows with errors or warnings to focus on problems.

Import

Click Import. Rows with errors are skipped; every other row is saved. Fix the file and import it again: unchanged rows are left alone. Each import is written to the audit log.

How Rows Are Handled

Safe updates.

An existing employee_id at the same client is updated.
An employee_id that belongs to another client is reported as an error and never changed.
Blank cells never overwrite what is already stored, and columns you leave out are not touched.
A bad email, phone, rate, date, language, cost code, department or site makes the whole row an error, so it can be fixed rather than imported half right.

After Importing

Next steps.

Send face set-up links in bulk with Batch re-enroll (agency console). They are queued and sent in the background, so large intakes are fine.
Print QR badge cards on Badges.
Workers who decline face clock-in set a PIN from their link.

Know who turned up, and pay every hour right.

Face-verified clock-ins, live geofencing and payroll-ready timesheets in one system. Tell us how your shifts run and we will show you how it fits.

App hosted in the UK · Onboarding led by a pilot site · No app needed to clock in