Help

Employee CSV Import

Updated

Overview

The Employee CSV Import page in the back office (Employees → Setup → Employee CSV Import) is a four-step guided wizard for adding or updating employees in bulk from a spreadsheet.

It supports Excel files, column mapping, a full row-by-row preview before anything is saved, and an undo button. You can use it to set up your staff from an existing employee list, or to change pay rates, job titles, or active flags for your current staff by re-uploading the same sheet with the new values.

How to Use

Open Employees → Setup → Employee CSV Import from the navbar. The page walks you through four steps, numbered 1 to 4 across the top of the page:

  1. Upload File
    • Click Download Template if you want a starter CSV with the right column headers.
    • Drag and drop a CSV or Excel (.xlsx / .xls) file onto the upload box, or click the box to browse.
    • The page shows the file name, format, row count, and column count after the upload.
    • Leave First row contains column headers checked unless your file is just data with no header row. When the first row of your file is clearly an employee rather than column names, the page clears the box for you; you can check it again if needed.
    • Click Next.
  2. Map Columns
    • Each column from your file is listed on the left. Pick which employee field it maps to using the dropdown on the right. The page tries to auto-map common column names like "First Name", "Last", "PIN", "Job", "Pay Rate".
    • Required fields are marked with an asterisk (*). All required fields must either be mapped from a file column or filled in under Default Values.
    • Default Values lets you set a fixed value that applies to every row for any field you didn't map. For example, you can map first name / last name / password from the file and set the same Job Title and Pay Rate as defaults for everyone.
    • Optionally save the mapping as a named profile (stored in your browser) so you can reuse it next time you upload a similar file. Saved profiles appear in the Load saved dropdown.
    • Click Next.
  3. Preview & Validate
    • The page shows every row with a Status badge: Insert (new employee), Update (existing employee will be changed), or Error (this row can't be imported as-is).
    • Click a column header to sort. Use the Errors Only / New Employees Only / Updates Only filter buttons to narrow the view.
    • Cells highlighted red must be resolved before the row can import; cells highlighted yellow carry a warning you can leave alone. Hover for details.
    • A yellow Password cell on an Update row means the new PIN will be added next to a password the employee already has, instead of replacing it, so both will work. See the PIN note under Limitations.
    • If your file references job titles that do not exist yet, a yellow Missing Job Titles panel appears at the top with each missing title. If you have the Job Manager privilege, the panel also has a Create All Missing Jobs button. Without it, the panel only lists the titles: ask someone who has it to add those jobs, or change the job titles in your file.
    • If two rows in your file have the same first/last name or the same password, a Duplicate rows banner lets you skip duplicates with one click (the first row of each duplicate set is kept).
    • Uncheck the box on the left of any row to exclude it from the import.
    • Click Next when you're satisfied.
  4. Import
    • Confirm the row counts and click Start Import.
    • A progress bar shows percent complete and an estimated time remaining for large files. Cancel Import stops further batches; rows that already imported stay imported.
    • When the import finishes, you see counts for Inserted / Updated / Errors / Skipped.
    • If any rows didn't import, Download Error Report gives you a CSV listing each of those rows and the reason.
    • If an updated employee's new PIN was added next to a password they already had, a yellow note below the counts lists those rows by row number and name. Their old password keeps working until you remove it on the employee's Passwords tab.
    • Undo Inserted Employees removes only the employees that were just inserted in this import session. Updates to existing employees are not undone. Undo is available for one hour after the import starts, to the person who ran the import (and to OrderCounter support).

Limitations

  • Required fields per row: First Name, Last Name, Password, Job Title, Pay Rate. (Active is optional and defaults to Y. Y, Yes, True or 1 means active and N, No, False or 0 means inactive, in any mix of capitals; an Excel TRUE or FALSE cell reads the same way.)
  • When a row updates an existing employee, its password replaces the employee's PIN only when they have one: a password with no title, or with "PIN" in its title (such as "Time Clock PIN"), of 3 to 8 digits. Any other password the employee signs in with, such as one titled "Password", a 2-digit PIN, or one with letters in it, is kept, and the new PIN is added next to it, so both work. The preview marks those rows with a yellow Password cell and the results list them; remove the old password on the employee's Passwords tab if it should stop working. Swipe cards, fobs, badges and door cards (a title with card, fob, badge, swipe or door in it) are never replaced, so a PIN added next to one of those is not pointed out.
  • Passwords must be unique. A row that would reuse another employee's password cannot be imported; the preview marks it as an Error.
  • Updates match existing employees by first name + last name (case-insensitive). If two existing employees share a name, the import updates the older one and shows a warning. Renaming an existing employee from this importer is not supported - it would create a new employee record instead.
  • Job titles must exist in the Job Manager before the row can import. Use the Create All Missing Jobs button on the preview screen to create them on the fly with default permissions; you can fine-tune permissions afterward in Employees → Job Manager. The button is only offered to someone with the Job Manager privilege, the same privilege that adding a job in Job Manager takes.
  • Pay rate must be a number, such as 12.50. In the Pay Rate column of your file, dollar signs and commas used as thousands separators are dropped before the row is checked, so $12.50 reads as 12.50 and $1,250.00 reads as 1250.00. A comma between two digits is always read as a thousands separator, so 12,50 reads as 1250, not 12.50: use a point for cents. Other currency symbols (such as € or £) are not accepted, and a pay rate typed under Default Values must be a plain number with no symbols.
  • To open the page you need any of the employee-management privileges. That is enough to add new employees. The owner account and OrderCounter support can always use it.
  • Updating an existing employee also needs Edit Employee Info, Employee Jobs and Passwords, plus Activate/Deactivate Employee when the row changes whether the employee is active. Without them, update rows show in the preview with a message and are skipped; new employees still import.
  • The owner account can only be updated by OrderCounter support. For anyone else, a row with the owner account's name is added as a new employee.
  • The undo button only undoes inserts. Rows that updated existing employees stay updated. If you need to reverse updates, re-import a sheet with the previous values.
  • Undo is only on the results screen at the end of the import, and only for one hour after the import starts. Once you leave that screen, or after the hour, mark an imported employee inactive in Employees → Employee Manager instead.
  • For very large files (thousands of rows), the import runs in batches of 100. Browser tab can be left open in the background; closing the browser stops the import after the current batch.

FAQ

My file has the columns in a different order. Do I have to rearrange them? No. Step 2 lets you map any column to any field. The wizard tries to auto-detect common names so most files map themselves.

My file is in Excel, not CSV. Will it work? Yes. The wizard accepts .csv, .xlsx, and .xls. Only the first sheet is read.

Our PINs start with a zero. Is the zero kept? Yes. A PIN such as 0458 keeps its zero when it is typed in a CSV, written as ="0458" (one way programs keep a leading zero), or displayed with its zero in an Excel cell. If Excel displays 458, the zero is no longer in the file: format the column as Text and type the zero back.

I uploaded the same file twice. Will it create duplicates? No. A row whose first and last name match an existing employee is read as changes to that employee rather than a new one. If you don't want to change an existing employee, uncheck their row on the preview screen. Without the privileges that updating an employee takes (see Limitations), those rows show a message on the preview screen and are left out of the import. The one exception is the owner account: it is matched only when OrderCounter support runs the import. For anyone else, a row with the owner account's name adds a new employee with that name, so uncheck that row unless a separate employee is what you want.

My job titles do not exist yet. Do I need to create them all manually first? No, as long as you have the Job Manager privilege. The preview screen lists every missing job title with a one-click Create All Missing Jobs button. The created jobs use default permissions; you can edit those afterward in Employees → Job Manager. Without that privilege the button is not shown: ask someone who has it to add the jobs, or change the job titles in your file to ones that already exist.

I re-imported my sheet to give employees new PINs. Why does an employee's old PIN still work? The import replaces a PIN only when the employee's current password is a PIN: no title, or "PIN" in its title, and 3 to 8 digits. Otherwise the new PIN is added next to it, and the preview and the results point those rows out. Open the employee's Passwords tab and remove the old password. If the old password is a 3 to 8 digit PIN with some other title, giving it no title, or a title with "PIN" in it, lets the next import replace it.

Can I undo an import that updated existing employees? The Undo button removes only the employees that were inserted by this import. Updates are not reversible from the importer. The way back is to re-import a sheet with the previous values.

Where do I get a starter template? Click Download Template on Step 1. It writes a CSV with the right column headers (First Name, Last Name, Password, Job Title, Pay Rate, Active (Y/N)) for you to fill in. Step 2 maps those headers to their fields for you.