Attendance & Time

Import attendance from Excel or CSV

Bring in punches from a biometric device or any spreadsheet: map your columns, review problem rows and import — large files run in the background.

  • HR Admin
2 min read
On this page (4 sections)
  1. Prepare your file
  2. Import the file
  3. Large files
  4. Row errors

Prepare your file

Go to
  1. Attendance
  2. Upload Excel

You can upload any .csv, .xls or .xlsx layout — you’ll match its columns on screen. Or click Download Template for a ready-made file. You need one row per employee per day.

Employee IDRequired
The Employee ID on the employee’s profile. Leading zeros don’t matter.
Punch In (Date & Time)Required
For example 2026-10-05 09:30.
Punch Out (Date & Time)Required
For example 2026-10-05 18:15.
Attendance DateRequired
YYYY-MM-DD is preferred. DD-MM-YYYY and MM-DD-YYYY are detected automatically.

Import the file

  1. Choose your file. You’ll see how many columns and rows were detected. Click Next: Map Columns.

  2. Check each Attendance Field is matched to the right column in your file. Common names such as “emp code”, “in time” or “check in” are matched automatically. Click Next: Review.

  3. Review the rows. Rows with problems are greyed out and skipped; untick any others you don’t want.

    If dates in your file are ambiguous (like 03-08-2026), a notice tells you how they’ll be read.

  4. Click Import {n} Row(s).

When it finishes you’ll see how many days were newly marked and how many were updated, then the Monthly Log opens.

Large files

When you import more than 500 rows, the import runs in the background with a live progress panel showing processed, imported, failed and skipped rows. You can leave the page while it runs.

  • Download error report — a CSV of the rows that failed and why.
  • Retry failed rows — try the failed rows again after fixing the cause.
  • Import another file or Go to Attendance when you’re done.

Row errors

ErrorFix
Missing Employee ID / Missing Attendance DateFill in the value.
Invalid Attendance Date / Punch In / Punch OutUse YYYY-MM-DD and YYYY-MM-DD HH:MM.
Punch Out is before Punch InCheck the times, including the date part of night shifts.
Duplicate of row n (same employee & date)Keep one row per employee per day.
Employee {id} not foundThe Employee ID doesn’t match any employee profile.
Import attendance from Excel or CSV | Mocha HRMS Help Center