Skip to content

Import Attendance from CSV or Excel

Attendance import supports CSV and XLSX files. Always start from the current template and preview the result before committing it.

Keep these exact headers:

Column Use
staff_identifier Staff ID when available
staff_name Display and review only; not used for automatic matching
staff_email Exact staff email match when ID is absent
staff_mobile Unique mobile match when ID/email is absent
location_code Permitted location ID, slug or exact name
work_date Attendance work date
shift_code Optional active shift code
clock_in Start time for clock-event mode or summary
clock_out End time for clock-event mode or summary
status Final status when using daily-summary mode
break_minutes Daily break minutes
external_event_id Stable external reference used to prevent duplicate events
notes Optional safe context

Names alone do not match staff. Matching uses staff ID, then exact email, then a unique mobile number within the business and location scope.

Import attendance safely
  1. Open Team → Attendance and select Import.
  2. Download the current template.
  3. Choose Clock events when the file supplies clock-in/out evidence, or Daily summary when it supplies an authorised daily result.
  4. Optionally choose a permitted default location, then upload the CSV or XLSX file.
  5. Select Preview and review matched, unmatched, error, warning and duplicate rows.
  6. Correct staff identifiers, locations, dates, order, shifts, status or conflicts in the source file and preview again.
  7. Commit only when the preview is correct.
  8. Review the completed counts and download the issue CSV for rejected rows.

Clock-event mode creates imported clock evidence and rebuilds the daily result. Daily-summary mode updates the daily summary without fabricating device events.

The import checks location and staff ownership, dates and times, event order, plausible duration, future dates, active shift codes, break values, final statuses, leave/holiday conflicts, locks and external references.

Rows already processed from the same data are reported as duplicate or skipped. Reimporting them does not create another attendance day or duplicate clock event.

  • Staff not matched: supply the numeric staff ID, exact staff email or unique mobile; do not rely on the name.
  • Location not matched: use an accessible location ID, slug or exact name, or choose the default location before preview.
  • Duplicate row: confirm it was imported previously; use a new stable external ID only for a genuinely new event.
  • Leave or holiday warning: verify whether an authorised working override exists before committing.
  • Locked-record error: finalised payroll protects the day; use the payroll correction workflow.
  • XLS file rejected: the customer workflow supports CSV and XLSX; save older Excel files as XLSX.

Last reviewed: