Pre-run variance review
Compares the cycle against its predecessors and drafts what moved — by team, by component, by employee — before the money leaves, not in a report afterwards.
Payroll off the hours that were actually worked — not a re-keying exercise with a deadline attached.
Last updated
Zepth Node module
~20%
error rate on a traditional payroll process — around 15 corrections in an average pay period
EY, Cost and Risks Due to Payroll Errors (2022)
Surveyed 508 US respondents at companies of 250–10,000 employees in December 2022. The sample is American and mid-market, so read it as the shape of the problem rather than a rate to apply to your own run.
$291
the average cost of correcting a single payroll error
EY, Cost and Risks Due to Payroll Errors (2022)
The correction cost, not the mispayment itself — investigation, re-run and communication. It is the part that never appears in a business case for fixing the process.
1.5–5%
of gross payroll lost to time theft each year
American Payroll Association
Paid on hours that were recorded but not worked. It reaches payroll as a correct calculation over a false input, which is exactly why the fix belongs at capture rather than in the pay run.
Payroll is usually the last stop on a chain of exports. Hours leave the attendance system as a report, leave approvals arrive as an email, overtime is calculated in a spreadsheet, and somebody types the result into a payroll system under time pressure. Every one of those handoffs is a place a number can change without anybody deciding to change it.
Node has no handoffs. Verified attendance, approved leave and computed overtime are already on the record payroll runs from, so the pay run is a calculation rather than a transcription.
Payroll errors are rarely arithmetic. The engine multiplies correctly; the inputs arrive wrong. EY found time and attendance the most common error category on a process where roughly one run in five carries a mistake, at an average of $291 to correct each one.
Those inputs go wrong at handoffs — a report exported at one state of the data and typed in at another, a leave approval that never made the cut-off, an overtime figure computed in a spreadsheet that only one person understands. Removing the handoff removes the category.
It means there is no moment at which attendance and payroll hold different versions of the same hours. They are not two systems kept in agreement by a process; they are one record read for two purposes.
The practical consequence is that the pay run has nothing to reconcile. There is no import to check, no variance report to chase, and no window between export and entry in which somebody edits a source file.
Hours arrive verified. Only approved sessions reach the run — geofence and verification exceptions were resolved by a human before the cycle closed.
Leave is already applied. Approved leave sits on the same record, so paid and unpaid absence need no separate feed.
Overtime is computed, not typed. The thresholds live in the work-hours policy and apply automatically to every session.
On project work, labour is usually the largest cost and the least well attributed. Pay is recorded against the person and the period, and the question of which project consumed the hours is answered later, approximately, from memory.
Because Node captures attendance per site and per session, the allocation is already present when the run happens. Labour cost lands against the project that consumed it, which makes the cost of a build in people a fact rather than an estimate.
No export, no re-keying — the reconciliation gap where errors enter simply does not exist.
Earnings, deductions and overtime computed the same way every cycle.
Payslips and pay documents generated from the run, not assembled afterwards.
Labour costed to the project, so you know what a build actually cost in people.
Verified attendance, approved leave and overtime feed the run directly. There is no import step, because there was never an export.
Earnings, deductions, overtime and statutory components computed consistently across every cycle and every employee.
Generate payslips and pay documents from the run itself, so what the employee reads and what was paid come from one source.
Labour costs land against the project the hours were worked on, turning payroll into a cost record rather than only a payment.
Resolve flagged sessions and pending regularizations so the hours entering the run have all been decided by a human.
Approved leave and policy-computed overtime are already on the record; confirm the period rather than re-enter it.
Earnings, deductions and statutory components are computed for every employee in the cycle.
Cycle-over-cycle variances and anomalies are drafted with their records attached. Payroll accepts or dismisses each one.
Approve the run, generate payslips, and post labour cost against the projects the hours were worked on.
Compares the cycle against its predecessors and drafts what moved — by team, by component, by employee — before the money leaves, not in a report afterwards.
Surfaces the quiet errors: a leaver still carrying hours, a component appearing for somebody who has never had it, a net that changed with no input behind it.
Every finding is a draft with evidence attached. The agent never adjusts a figure, approves a run, or releases a payment.
The engineer’s judgment stays in charge; the AI removes the latency and the blind spots.
Dashboards cover cost by project, department and cost centre, overtime trends, cycle-over-cycle variance by component, and the reconciliation between captured hours and hours paid. Payslip-level drill-through is available on every figure.
From the same record attendance writes to. Verified sessions, approved leave and policy-computed overtime are already there, so the run reads them directly rather than importing a report.
Two things. Exceptions are resolved by a human before the cycle closes, and the agent drafts cycle-over-cycle variances for review before the run is released. Neither is automatic — payroll decides.
Yes. Because attendance is captured per site and per session, the allocation already exists at run time and labour cost posts against the project the hours were worked on.
Yes — payslips and pay documents come from the run itself, so what the employee reads and what was paid have a single source.
No. The agent reviews and drafts findings with the records attached. Approving the run and releasing payment are human actions, every cycle.
Related modules
Zepth is the construction project delivery platform — it runs construction, procurement and asset management on one record, and does the work: reading the drawings, reviewing the submittals, matching the invoices and flagging the risks, with a human sign-off on anything consequential.
A short, tailored walkthrough on your real workflow — no generic demo.