Page last updated
How to use the timecard CSV reconciliation tool
- Paste each file into its box, or choose a CSV. Press Load sample to see how it works with made-up data.
- Confirm the employee, hours and optional date columns, which are detected from the header names.
- Choose how to match: by ID or name, per employee or per employee per day, and how many minutes still count as equal.
- Read the review list, check the rows it points to, and download it as a CSV for your payroll file.
How are the two files compared?
Each file is read into rows, the employee column is matched by ID or by name (leading zeros ignored, “Last, First” read as “First Last”), and the hours are added up per employee or per employee per day. A difference at or below the tolerance counts as a match. Anything else is listed as different hours, only in file A, only in file B, a duplicate row or an unreadable row. The comparison covers hours only, never pay rates or tax.
For example, the sample timesheet file totals 86.50 hours and the sample payroll file 79.50, a net difference of 7.00 hours. One employee is short by 30 minutes, one by 7.5 hours (a missing day), one appears twice in the timesheet (a duplicate row), one is paid but not in the timesheet and one is in the timesheet but not paid. The names and hours are made up; yours come from the files you load.
Who should use the timecard CSV reconciliation tool
- Payroll staff checking approved hours against a payroll export before closing the period
- Managers who want to know why a paycheck does not match a timesheet
- Small business owners moving hours between a time clock and a payroll provider
- Anyone who needs a simple discrepancy report to attach to payroll records
Who should not use this
- Anyone who needs pay rates, taxes or deductions checked; this compares hours only
- Anyone with .xlsx files and no way to copy or save them as CSV; the tool reads pasted cells and CSV, not workbooks
- Anyone who wants a verdict on underpayment; a mismatch only means the two files disagree
Limitations
- Hours only; no rates, taxes or deductions.
- It does not open .xlsx files; paste the cells or save as CSV.
- The tables show the first 300 rows; the CSV export has all of them.
- The hints are possibilities to check, not conclusions.
- Nothing is uploaded or stored on a server. Clearing your browser data also removes the saved profile.
Compare two timecard or payroll CSV files
Use it as a payroll reconciliation tool: to compare timesheet and payroll hours, as a timecard CSV comparison before you close payroll, or as a payroll CSV comparison when two exports should agree.
- Paste each file into its box (or choose a CSV). Press Load sample to see how it works.
- Confirm the employee, hours and (optional) date columns. They are detected from the header names.
- Choose how to match: by ID or by name, per employee or per employee per day, and how many minutes still count as equal.
- Read the review list and download it as CSV.
Sample files for both boxes can be downloaded under the calculator.
How the reconciliation tool works
The tool compares totals, not raw lines, so formatting differences between the two exports do not cause false alarms. Each of these rules is applied before any difference is reported:
- Matching. IDs are trimmed, compared without regard to capital letters, and leading zeros can be ignored, so 01001 matches 1001. Names are matched as "First Last" even if one file has "Last, First".
- Adding up. All rows for the same employee (or employee and day) are added together, so daily rows in one file match a weekly total in the other.
- Hours formats. 8.5, 8:30, 8h 30m and 8.5 hrs are all read.
- Date matching. Dates in 2026-10-12 or 10/12/2026 form are treated as the same day.
- Tolerance. A difference at or below your tolerance counts as a match.
What mismatches it detects
The results list separates four kinds of problem, because each has a different fix and a different person to ask. They are:
- Different hours: both files have the employee but the totals differ. A hint suggests what to check, for example a 30-minute gap that looks like an unpaid break.
- Only in A / only in B: an employee is missing from one file. If the same person appears once as "only A" and once as "only B", the IDs are probably formatted differently.
- Duplicate rows: a row identical to an earlier row in the same file, with both row numbers.
- Unreadable rows: blank IDs, hours that are not numbers, dates that are not dates. They are listed and left out of the totals.
How to prepare your CSV files
Clean input gives a short review list, and messy input gives a long one, so spend a minute on the files first. A few habits make the comparison reliable:
- One header row, one row per entry, same pay period in both files.
- Recognised headers include Employee ID, Emp No, Name, Work Date, Hours, Total Hours, Paid Hours. If yours differ, choose the columns from the drop-downs.
- Excel: copy the cells and paste them, or use File, Save As, CSV.
- Remove subtotal and total rows first; they would be read as employees.
- Keep sensitive details out. Employee ID and hours are enough.
Example: approved hours vs payroll export
The sample files give 1 matches, 3 different, 1 only in A and 1 only in B. File A totals 86.50 hours and file B 79.50 (-7.00 net). One employee is short by 30 minutes, one by 7.5 hours (a missing day), one appears twice in file A (a duplicate row), one is paid but not in the timesheet and one is in the timesheet but not paid.
Payroll CSV privacy and data handling
The comparison runs in your browser with JavaScript. The tool's code does not upload your file or send it to a server; there is no account and nothing is saved. You can check this yourself: open your browser's developer tools, choose the Network tab, then load a file and watch that no request carries your data. Two practical cautions: close the tab when you are done on a shared computer, and remember that browser extensions can read any page you have open.
Sources and review
Reviewed on 25 Oct 2026 against the published sources below. Rules and prices change, so check the current position before you rely on a figure.
- 29 CFR 785.48: Rounding of working time
- 29 CFR Part 516: Records to be kept by employers (516.5 and 516.6)
- U.S. Department of Labor: Overtime pay
Common questions
How do I compare timesheet hours with payroll hours?
How do I find differences between two CSV files?
How do I reconcile employee hours before payroll?
What should I check when timesheet hours do not match payroll?
Can I compare two Excel or CSV timesheets online?
How do I find missing employees or duplicate rows in a payroll export?
Is it safe to upload payroll CSV data to an online tool?
Why do the hours in my timesheet not match my paycheck?
What is a payroll hours discrepancy report?
Is this a payroll reconciliation spreadsheet alternative?
Does a mismatch mean someone was underpaid?
What tolerance should I use?
How long should timesheets and payroll records be kept?
Guides that explain the rules
Related tools
This tool produces a document from the information you type. It does not give legal, tax or accounting advice, and it does not check that your figures or rates are right. See the disclaimer. Found a mistake? Report an error in a calculation.