Prepare a driver or staff import file
A driver import creates a login and a driver record for each row; a staff import creates merchant users with a role. Each driver row needs a phone number or an email, and a driver's phone number becomes the username.
Before you start#
- Who imports what: tenant users import drivers, merchant users import staff. The Data Exchange menu appears for roles that can add vehicles, drivers, stores or users — among them Tenant Owner, Tenant Admin, Merchant Owner and Merchant Admin.
- Where: Data Exchange → Import Data; or Import from Spreadsheet on the Drivers list, or Import on the Users list for staff. Export Template on either list downloads a blank file with the right columns.
- Every column, its format and the mapping and preview screens are described in Import file columns and Bulk import from spreadsheets. This page covers who gets which login.
- To add one person by hand instead, see Create a user or Give a driver a Driver App login.
Steps#
- Download the template. For drivers who should be assigned a vehicle, add the Assigned Vehicle (License Plate) column yourself: the template leaves it out. The vehicle must already be in your fleet.
- For every driver row, fill in Phone Number, Email, or both, and map at least one of those two columns when you upload. A row with neither is rejected.
- Write phone numbers as digits, optionally with a leading
+. Spaces, dashes and brackets are removed on import. - Give each driver row its own phone number. Two rows of the file with the same phone number are flagged in the preview.
- For staff, give each row an Email and a Role that is one of the merchant role names — Merchant Owner, Merchant Admin, Merchant Supervisor or Merchant Accountant; letter case does not matter. A Store Name must match a store of your merchant.
- Upload the file, check the preview, choose Skip or Create New for each row flagged as a duplicate, and click Commit Import. See Bulk import from spreadsheets.
Warning: Import each person once. A staff row is never matched to an existing user, so a person already in the system is created again as a second account; the same happens to a driver who has only an email. To change an existing user's role, see Change a user's role.
What happens next#
- Driver usernames. A driver with a phone number gets that number — with spaces, dashes and brackets removed — as username, never with a number added. A driver with only an email gets the part of the address before the
@, with-2,-3and so on added if it is taken. How drivers sign in is on Give a driver a Driver App login. - Staff usernames are always built from the email address. Two staff rows sharing one email, such as a team mailbox, become two separate users, each with their own role.
- Every imported record has its own audit entry, with the user who ran the import as actor. An import that fails and rolls back writes no entries. See Audit log.
- Imported accounts have no password set. Set one before the person signs in; see Change a password.
Rules and limits#
- A driver's phone number is checked against every driver on the platform. A row whose phone number already belongs to a driver is flagged as a duplicate in the preview; if you leave it on Create New, no second driver is created for that number.
- A shared email is not a duplicate. Several drivers or staff may carry the same email.
- Staff rows are never flagged as duplicates on phone number or email.
- Blank values never collide. Two driver rows that both leave Phone Number empty are not duplicates of each other.
If something goes wrong#
| Message in the preview | Cause | Fix |
|---|---|---|
| "Email or phone number is required." | A driver row has neither. | Add a phone number or an email. |
| "First name is required." / "Last name is required." | A driver row's name column is empty. | Fill it in. |
| "'…' is not a valid email address." | A driver's email has no @. | Correct the address, or clear it if the row has a phone number. |
| "Invalid date '…' — use YYYY-MM-DD or DD/MM/YYYY format." | Date of Birth is not a recognised date. | Write it as 1990-05-31 or 31/05/1990. |
| "Invalid email format" | A staff email is empty or not a valid address. | Correct the address. |
| "Role is required" or "Unrecognized role '…' — valid roles: …" | The staff Role is empty or not a merchant role name. | Use one of the role names the message lists. |
| A "not found" message for a licence plate or store name | No vehicle in your fleet, or no store of your merchant, has that value. | Correct the value, or add the vehicle or store first. |
| "Duplicate value '…' within this file." | Two rows of the file share a phone number. | Keep one row per driver. |
| Duplicate, "Phone Number '…' already exists" | A driver with that phone number already exists on the platform. | Choose Skip for the row. |