A payroll file can import successfully and still contain the wrong hours. Payroll import validation compares the approved source, the file you send and the records your payroll system actually accepts. Check all three before releasing the payroll.
Confirm the pay period and employee population, match employee IDs and earning codes, reconcile hours by employee and code, then review the destination results. Keep the batch reference and resolve rejected or duplicate rows before retrying.
This checklist is for a recurring handoff from time and attendance to a separate payroll provider. The controls and fictional example below are a suggested operating procedure. Adapt them to the destination's current import specification and your approval process.
Define exactly what this batch contains
Write down the company, pay group, period start and end, intended payroll date, export time and person responsible for the transfer. These details prevent a valid file from being loaded into the wrong run. Give the batch an internal reference, such as OPS-2026-10-B-v1; this is an example naming convention, not a required TimeTrex field.
Freeze an approved source snapshot for the comparison. If a manager corrects time afterward, record the change and create a controlled revision rather than silently replacing the file. Use the same population and period filters for every report used to reconcile the batch.
Identify deliberate exclusions. A salaried employee whose hours are not sent, a new hire awaiting setup and a worker paid in another pay group need different treatment. A list of excluded IDs with reasons is more useful than a single expected headcount. Assign someone to resolve each exception before the payroll deadline.
Check employee IDs, codes and units
A mapping is the agreement between a source field and a destination field. Review it whenever the provider, file format, employee numbering, earning codes or costing structure changes. Save the version used for each batch.
- Employee identity: confirm that each source identifier matches the correct active destination record. Preserve leading zeroes, and check transfers, rehires and new employees individually. Names alone are a weak matching key.
- Earning codes: verify regular, overtime, paid leave and each premium separately. Do not assume that similarly named codes calculate pay the same way.
- Time units: distinguish decimal hours from hours and minutes. Seven hours and thirty minutes is 7.50 decimal hours; a value of 7.30 decimal hours is seven hours and eighteen minutes.
- Amounts and rates: establish which system calculates earnings and where rates come from. A premium may be an additional amount or a separate earning; confirm the destination's treatment before mapping it.
- File structure: check required columns, header rows, date formats, delimiter, character encoding and allowed precision against the selected import format.
Confirm whether an overtime entry expects hours at an overtime earning code, a separate premium, or a precomputed amount. Sending both a full overtime earning and another premium without understanding the specification can overstate pay. This is a configuration check; applicable wage rules and payroll calculations still need their usual review.
Use control totals at more than one level
Keep a small control sheet beside the file. Record the approved source value, exported value, accepted destination value, difference, explanation and reviewer. Use the same units and level of detail in all three columns.
Batch control sheet template
- Batch and mapping version
- Company / pay group / period / file name / revision / export timestamp.
- Population and detail
- Expected employee IDs / actual distinct IDs / expected row structure / rejected rows.
- Hours and earnings
- Totals by employee and earning code; compare amounts and rates only when the file supplies them.
- Disposition
- Difference / cause / correction owner / destination batch reference / reviewer approval.
Row count is not employee count. One employee may have several earning-code, date or job rows. Compare distinct employee IDs separately from detail rows. If the source is daily and the destination is summarized, aggregate both to employee and code before comparing.
Check an overall hours total, totals by earning code and employee-level totals. Add department or job totals when the file carries labor distribution. Matching a grand total does not prove that hours reached the right person or pay category.
Define precision before testing. Compare the source using the destination's documented decimal precision and record any rounding difference. Do not invent a blanket tolerance that can hide a missing row. A difference that has no explained cause remains an exception even when it is small.
Worked example: the total matches, but the import is wrong
Assume a fictional batch contains three employees and 120.00 approved hours. Each employee has one regular row and one overtime row. The intended file therefore contains three distinct employees and six detail rows.
| Employee | Source regular | Source overtime | Accepted regular | Accepted overtime |
|---|---|---|---|---|
| A101 | 38.00 | 2.00 | 40.00 | 0.00 |
| A102 | 36.00 | 4.00 | 36.00 | 4.00 |
| A103 | 40.00 | 0.00 | 40.00 | 0.00 |
| Total | 114.00 | 6.00 | 116.00 | 4.00 |
Both sides total 120.00 hours. The destination nevertheless has 2.00 extra regular hours and 2.00 fewer overtime hours. Employee A101's code-level comparison exposes the mismatch. Investigate the mapping and accepted detail before correcting the batch; a successful upload message would not resolve it.
The file's structure is another control. If the destination suppresses zero-hour entries, its accepted row count can be lower than the source's six detail rows. That difference can be explained only after confirming that all three employees and every nonzero earning row are present. Do not force unlike row structures to match by deleting legitimate detail.
After the hours reconcile, review the payroll preview for expected earning treatment and unusual pay results. Use a broader payroll exception report for the rest of the run. Hours validation does not establish that taxes, deductions, rates or net pay are correct.
Handle rejected rows and uncertain retries
When an import reports an error or times out, first inspect the destination batch history and accepted detail. Determine whether nothing loaded, some rows loaded, or the full batch loaded despite the missing confirmation. Preserve the original response and file.
Find out whether the destination appends, replaces or updates records on a second upload. Never assume that the same file name makes a retry safe. If some rows were accepted, use the provider's supported correction or reversal process, or a confirmed file containing only unresolved records. Reconcile the final combined result to the approved source.
Watch for plausible duplicate keys: employee, period, earning code, date and job may identify an unintended repeated line. The same employee and code can also appear legitimately on several rows, so investigate the file's intended grouping before removing anything.
Keep a short incident note: what was accepted, what was rejected, the correction made, the replacement batch reference and who verified it. If the result is still uncertain, escalate to the payroll owner or provider while preserving the current batch. An unexplained retry can create a second problem on top of the first.
Payroll import release checklist
Use these checks for the batch review. The boxes are an on-page working aid and do not save an approval record.
Retain the source snapshot, exact transmitted file, control sheet, import response and final destination report under your organization's access and retention rules. Store employee-level payroll data in approved systems rather than attaching it to broad email chains.
Where this fits in a TimeTrex workflow
TimeTrex's Payroll Export Report exports time and earnings for a selected period to third-party payroll software. Its templates allow different employee, date, department and pay-period groupings. Choose a grouping that supports the comparison you need.
The payroll export instructions describe selecting an export format, configuring provider-specific fields and mapping hour codes. Confirm the exact receiving product and import specification; a general integration listing does not establish the field requirements for your account.
If you process payroll inside TimeTrex, the documentation says this third-party Payroll Export Report is unnecessary. Use the appropriate internal timesheet and pay-stub reports instead. For a separate provider, compare the export with its accepted results and preserve the final review evidence.
Review the complete handoff
Explore TimeTrex time and attendance and integration options. Bring a sanitized sample file, your earning-code map and the destination import specification when discussing your workflow.
Explore TimeTrexFrequently asked questions
Does a successful import mean payroll is correct?
No. It confirms only what the receiving system's response establishes. Review accepted detail against the source and then check the payroll preview, including earning treatment and unusual results.
Should the number of rows equal the number of employees?
Only if the selected format uses exactly one row per employee. Other formats may split employees by earning code, date or job. Compare row structure and distinct employee IDs separately.
Can I upload the same payroll file again after a timeout?
First reconcile the destination batch history and accepted records. A timeout does not prove the import failed. Confirm the provider's retry behavior and correction process before sending another file.
What if the total hours agree but regular and overtime hours differ?
Hold the affected batch for investigation. Compare by employee and code, check the mapping, and reconcile the corrected destination detail. Equal grand totals can hide different earning categories.
Product references checked October 27, 2026. The control sheet, examples and release checklist are suggested operational controls; confirm your organization's process and the receiving provider's current requirements.
