The Time-to-Payroll Join
The join where errors become money. What crosses it, what must not, and the reconciliation almost nobody runs.
The joins · Analysis
Everything upstream can be imperfect for a day. This join cannot, because its output is what people are paid.
What crosses
Hours by pay category, per person, per period.
Absence, classified.
Premiums: overtime, unsocial hours, short-notice premiums, call-out.
Corrections from previous periods.
Not: raw punches, coordinates, schedules or anything payroll has no use for. A narrow interface is easier to reconcile and easier to defend.
Who applies which rule
The single most important question at this join, and the one most often unanswered.
Time capture can classify hours into pay categories, with payroll applying rates.
Or it can send raw times and payroll classifies.
Both work. Both doing some of it is where double-counted overtime lives, and it survives for years because each side assumes the other is not doing it.
Write down which system owns each rule, and the audit question — why was this person paid this — has one answer.
The cut-off
Corrections arrive after the period closes. Always.
Decide what happens: held to next period, an off-cycle payment, or a re-run.
Say it in advance, because the worker's question is when they will be paid and "we'll see" is not an answer.
And do not let the cut-off force approval of unreviewed exceptions, which pushes errors into the following period where nobody connects them.
The reconciliation
Three figures per period: what time capture sent, what payroll received, what was paid.
Compared, not assumed.
Differences investigated rather than absorbed.
A recurring difference at one site is a configuration finding; a scattered one is manual intervention somewhere.
Most organisations do not run this and find the gap when an employee does.
What to keep
The chain for each paid hour: scheduled, actual, exception decision, classification, exported figure, paid figure.
Because that is what a dispute asks for, and a system that can show the final number but not how it was reached explains nothing.
Retention per the payroll obligation, which is usually years and longer than the operational systems keep their own data — a mismatch worth checking.
Keep the interface narrow
Send what payroll uses and nothing else.
Hours by category, absence classified, premiums, corrections.
Not raw punches, not schedules, not coordinates.
A narrow interface is easier to reconcile, easier to explain and easier to defend, and it limits what a breach at either end exposes.
Most default exports carry everything, because narrowing them was extra work nobody did.
Turn the boundary into a test
For a concrete product reference, payroll-ready online timesheets can help turn this boundary into a test. Verify the current behaviour with representative fields and record what reaches the destination.
Independent reference
For a thematic point of reference, see the GOV.UK service. Consult the source directly because technical, operational and legal details change.