Time & Attendance

Import attendance from a spreadsheet

Upload a month of punches from an Excel or CSV file, follow the background processing, and fix the rows that were not imported from the error report.

Where to find itPeopleTime & AttendanceView Import History

3 min readLast updated

When attendance is kept outside the system, for example exported from a time clock that is not connected, you can load a whole period in one file. Each row becomes an attendance day, graded against the employee's shift exactly like a punch.

Before you start

  • Every employee in the file must exist in the system with the same employee number, and must be active.

  • Assign employees to their shifts first, so the imported days are graded correctly.

Prepare the file

  1. Open People › Time & Attendance › View Import History.

  2. Select Download template. The Excel template has these columns: Employee Code, Employee Name, Attendance Date, Clock In, Clock Out, Status and Remarks.

  3. Fill one row per employee per day:

    • Employee Code is the employee number in the system. It is required.

    • Employee Name is for your reference only and is not used for matching.

    • Attendance Date is required, as YYYY-MM-DD or DD/MM/YYYY.

    • Clock In and Clock Out are HH:MM or HH:MM:SS. Leave both empty for an absence.

    • Status is optional: Present, Late, Absent, Half Day or On leave. Leave it empty and the system decides the status from the times and the shift.

The template's second sheet repeats these instructions.

Upload the file

  1. Select Choose file and pick the Excel or CSV file. The maximum size is 10 MB.

  2. Turn on Overwrite existing records if the file should replace days already recorded for the same employee and date. Leave it off to keep existing days; those rows are skipped.

  3. Select Upload.

The attendance import screen with the upload panel and the import history

The screen shows File received — processing… while the import runs in the background. You can keep working; the panel updates by itself.

Read the result

When processing finishes, the panel shows the status and the counts: Total, Successful, Failed and Skipped, with the success rate.

  • Skipped rows are days that already existed and were not overwritten.

  • Failed rows need correcting. The table Rows that were not imported lists each Row, Employee, Date and Reason. Select Download error report for the full list.

Common reasons a row fails:

  • the employee number does not match any employee;

  • the employee is not active;

  • the date or time is not in a recognised format;

  • the date or a time is in the future;

  • the date is before the employee's joining date.

Fix only the failed rows in a new file and upload it again.

Import history

Import history lists every upload with its File, Status, Total, Successful, Failed and Skipped. An import is completed, partially completed (some rows failed) or failed.

What happens next

Imported days appear in the attendance register at once, with their hours, lateness and overtime calculated. A status you put in the file is kept as you wrote it; the hours are still calculated from the times. Review the period in attendance management before you process payroll.

Common questions

An import has been processing for a long time. Large files take a few minutes. If an import never finishes, contact your system administrator: the background processing service may be stopped.

Was this article helpful?

Still need help?

Tell us what you are trying to do, and our team will get back to you.

Contact us