Import Attendance
How to bulk import attendance records from spreadsheets or external timekeeping systems.
The Import feature allows HR administrators to upload attendance records in bulk using a spreadsheet file. This is especially useful when migrating from an external timekeeping system, reconciling data from biometric devices, or entering historical records.
Navigation: HR > Attendance > Import
When to Use Bulk Import
| Scenario | Description |
|---|---|
| Initial migration | You are moving from a legacy system to TransportechAI and need to load historical attendance data |
| Biometric device sync | Your organization uses physical timekeeping devices (fingerprint scanners, card readers) and needs to import their output |
| Manual batch entry | HR needs to enter attendance records for a large group of employees for a specific date range |
| Data correction | A batch of attendance records needs to be updated due to a system issue |
Import Process
Follow these steps to import attendance data:
Step 1: Download the Template
- Open the Import page.
- Click Download Template to get the standard import spreadsheet.
- The template file (CSV or Excel) will download to your computer with the required column headers already in place.
Step 2: Fill In the Data
Open the downloaded template and populate it with your attendance data. The template includes the following columns:
| Column | Required | Format | Description |
|---|---|---|---|
| Employee ID | Yes | Text | The unique employee identifier in TransportechAI |
| Employee Name | No | Text | Employee name (for reference only -- not used for matching) |
| Date | Yes | YYYY-MM-DD | The date of the attendance record |
| Clock In | Yes | HH:MM (24-hour) | The time the employee started work |
| Clock Out | Yes | HH:MM (24-hour) | The time the employee ended work |
| Overtime Hours | No | Decimal | Manually specified overtime hours (if not auto-calculated) |
| Notes | No | Text | Any additional notes for the record |
The Employee ID column must match exactly with the employee IDs in TransportechAI. If an ID does not match, that row will be flagged as an error during validation. Double-check your IDs before uploading.
Step 3: Upload the File
- Return to the Import page.
- Click the Upload File button or drag and drop your file into the upload area.
- Supported file formats:
.csv,.xlsx,.xls - Maximum file size: 5 MB
- Maximum rows per upload: 5,000 records
Step 4: Review Validation Results
After uploading, the system validates every row in your file. The validation screen shows:
| Status | Description |
|---|---|
| Valid | The row passed all validation checks and is ready to import |
| Warning | The row has minor issues (e.g., duplicate record for the same date) but can still be imported |
| Error | The row has critical issues (e.g., unrecognized Employee ID, invalid date format) and cannot be imported |
A summary at the top of the validation screen shows:
| Metric | Description |
|---|---|
| Total Rows | Total number of data rows in your file |
| Valid | Number of rows that passed validation |
| Warnings | Number of rows with non-critical issues |
| Errors | Number of rows that failed validation |
You can download the error report to see exactly which rows failed and why. Fix the issues in your spreadsheet and re-upload only the corrected rows.
Step 5: Confirm and Import
- Review the validation summary.
- Optionally, uncheck any rows you do not want to import.
- Click Confirm Import to process all valid rows.
- A confirmation message will display the number of records successfully imported.
Handling Duplicates
If the system detects that an attendance record already exists for the same employee on the same date, it will flag the row as a warning. You have two options:
| Option | Description |
|---|---|
| Skip | Keep the existing record and ignore the imported row |
| Overwrite | Replace the existing record with the data from the import file |
You can set the default behavior at the top of the validation screen before confirming the import.
Validation Rules
The import process enforces the following validation rules:
| Rule | Description |
|---|---|
| Valid Employee ID | The Employee ID must exist in the system |
| Valid Date Format | Dates must follow the YYYY-MM-DD format |
| Valid Time Format | Times must follow the HH:MM 24-hour format |
| Clock Out After Clock In | The clock-out time must be later than the clock-in time |
| Date Not in Future | You cannot import attendance records for future dates |
| No Empty Required Fields | Employee ID, Date, Clock In, and Clock Out must all be filled |
Best Practices
- Always use the template -- The provided template ensures your file has the correct column headers and format. Modifying headers or adding extra columns may cause import failures.
- Import in batches -- If you have more than 5,000 records, split them into multiple files and import them one at a time.
- Verify a small batch first -- Before importing a large dataset, test with 10-20 records to ensure your data format is correct.
- Back up existing data -- If you are overwriting existing records, consider exporting the current data from the Hour Account page first as a backup.
- Schedule imports during off-peak hours -- Large imports may take a few minutes to process. Running them during off-peak hours minimizes any impact on system performance.