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.
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.
After Importing
Next steps.
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