Payroll file check
Check payroll files for missing columns, duplicate employee IDs, invalid hours, pay-code values, and row count issues.
Your file is read in your browser. It is never uploaded.
Missing or renamed employee ID column
Payroll exports often use headers like 'Emp ID' or 'EmployeeNo' instead of 'Employee ID'. Without a stable identifier, duplicate and row-level checks cannot associate errors with the correct employee. The column must be present and named consistently before the file is checked.
Hours stored as text
Values like '8.5' or '40' sometimes appear with trailing spaces, apostrophes, or mixed text formatting. Numeric range rules cannot compare text values, so those rows are flagged even when the underlying hours are valid. All hours cells need to be stored as numbers.
Duplicate employee ID values
The same employee ID may appear more than once when a payroll export includes adjustments or combines multiple files. Duplicate rows make totals unreliable and hide missing records. Only one detail row per employee should remain for the pay period.
Pay code variation across rows
One export may use 'Regular', 'OT', and 'Bonus', while another uses 'REG', 'Overtime', and 'Bon'. Inconsistent pay codes break downstream mapping and produce avoidable warnings. The file shape should apply one stable set of allowed pay codes across all rows.
How to fix
- Rename any employee ID header variation to exactly 'Employee ID' before upload.
- Clear text formatting from the Hours column, remove spaces and apostrophes, and confirm all values are numeric.
- Remove duplicate Employee ID rows or keep only the row intended for the current pay period.
- Map every pay code to the same allowed set, such as Regular, Overtime, Bonus, and Commission.
- Delete totals rows, subtotals, and blank rows so only detail rows remain in the data area.
FAQ
What columns should a payroll file contain?
The default rules check Employee ID, Hours, Pay Date and Pay Code. Keep those header names consistent and they run without mapping. Amount and pay-rate columns are left unchecked - payroll systems name them differently, so add a numeric range rule for yours.
Why does the check flag duplicate employee IDs?
A duplicate means the same ID appears in more than one data row. This can happen with adjusted exports or merged files. Remove duplicates or keep only the correct row for the current pay period to avoid inflated totals and misleading results.
Can hours be stored as text?
Hours should be numeric for range checks to work. Text values, spaces, or apostrophes are treated as invalid unless the file shape intentionally uses a text code. Convert the column to a number format before running the check.
What pay code values are allowed by default?
The default rules allow a stable set such as Regular, Overtime, Bonus, and Commission. If your payroll export uses different labels, change the allowed values to match your file. Consistent pay codes help downstream mapping work correctly.
Should totals rows be included?
No. Summary rows, totals rows, and blank rows are treated as data rows by row-level checks. They create false failures and make row counts misleading. Keep only detail employee rows in the sheet before checking.