Payroll Reconciliation
Payroll reconciliation is the process of tying the payroll register to the general ledger and to what actually left the bank, then verifying that every employee paid was authorized to be paid at the amount and rate on file. It's a three-way check — register to GL, net pay to disbursements, and headcount to HR records — built to catch posting errors, statutory withholding mistakes, and ghost or terminated employees before they become a payroll loss or a compliance finding. This page walks through the full process, the red flags a rigorous reviewer watches for, and how firms run it faster with OCTA Flow while a human approves every correction.
Why payroll reconciliation matters, and where it goes wrong
Payroll is usually the largest single expense line a company has, and it's one of the few processes where a mistake doesn't just misstate the books — it can mean money leaving the bank to the wrong person, at the wrong amount, or to someone who shouldn't be on payroll at all. Unlike most reconciliations, which confirm two records agree, payroll reconciliation has to confirm three things at once: that the register matches what's booked in the GL, that the net pay on the register matches what the bank actually disbursed, and that every name on the register belongs there in the first place.
The pain for a firm is that payroll touches several systems that rarely talk to each other cleanly — a payroll system, an HR system, the general ledger, and the bank — and each one can be right on its own while still disagreeing with the others. A rate change that never made it into a pay run, a termination that HR processed a day too late for payroll to catch, a bank batch that failed silently for one employee: none of these show up unless someone is checking all three sides, every period, for every employee. Skipping that check doesn't just risk a bookkeeping error. It's how ghost employees stay on payroll for months and how terminated employees keep getting paid — the kind of finding that turns into a recovery problem, an auditor question, or worse.
The payroll reconciliation process, step by step
A proper payroll reconciliation follows a consistent sequence. The steps below are the full procedure OCTA Flow executes; they also stand alone as a best-practice process any firm can follow, regardless of jurisdiction.
1. Summarize the payroll register. Pull the register for the period and compute totals for gross wages, each pay component (base pay, allowances, overtime, bonuses), each statutory or voluntary deduction, and net pay. This is the baseline every other side of the reconciliation gets compared against.
2. Reconcile the register to the GL. Compare, by period and in total:
- Gross wages per register vs. wages/salary expense in the GL
- Total deductions per register vs. the corresponding payroll-liability accounts in the GL (tax withholding payable, benefits payable, and any statutory-contribution payable accounts)
- Net pay per register vs. the payroll clearing or cash account in the GL
Flag any difference greater than a set dollar threshold (commonly $500) or 0.1% of total payroll, whichever is more relevant to the client's scale. A clean tie on this step confirms payroll was recorded completely and in the right accounts — it does not yet confirm the amounts were correct or that the money moved.
3. Reconcile net pay to bank disbursements. Compare the total net pay per register to the actual bank transfer or wire batch for that pay period, period by period. Any difference has to be explained — usually one of: a settlement-timing gap between when a payment is recorded and when it clears, a payment deferred to the next cycle, or a batch item that failed or was queued and never went out. An unexplained gap between net pay and cash actually disbursed is one of the more serious findings in payroll, since it usually means money moved differently than the books say it did.
4. Verify headcount and active status against HR records. Where HR roster data is available, confirm every employee on the register is on the active roster, and run two specific checks:
- Ghost-employee check — flag any payroll record for a person who doesn't correspond to a genuine, currently employed individual, or who was terminated before the pay period the payroll run covers.
- New-hire timing check — flag any new employee whose first pay date on the register precedes their recorded hire date, which usually points to a rate or start-date entry error.
5. Spot-check statutory withholding. Select a sample of employees (commonly 3–5, or a risk-weighted sample for larger headcounts) and independently recompute each statutory withholding line rather than trusting that the payroll system applied it correctly. The specific taxes and contributions differ by country, but the check is the same everywhere: take the applicable rate or bracket for that jurisdiction, apply it to the correct pay base, and compare the result to what the register actually withheld. In the United States, this means recomputing federal and state income tax withholding against the employee's elections and bracket, and verifying FICA (Social Security and Medicare) was withheld at the statutory 6.2% / 1.45% rates on the correct wage base, with Social Security capped at the annual wage-base limit. A firm operating in another jurisdiction runs the equivalent check against that jurisdiction's own withholding and contribution rules — same method, different rulebook.
6. Review statutory remittances, where deposit records are available. Confirm that what was withheld from employees (and, where applicable, matched by the employer) was actually remitted to the relevant tax or benefits authority, on time. Flag any late remittance or any gap between the amount withheld and the amount remitted — a shortfall here is a compliance exposure, not just a bookkeeping variance.
7. Spot-check pay rate against source documentation. Where an offer letter or employment agreement is available, verify at least one employee's contractual rate matches what's actually being paid on the register. Rate changes — raises, role changes, contract renewals — are a common source of drift between what HR authorized and what payroll is running.
The US statutory spot-check, worked through
US payroll withholding rules are a clean illustration of how a statutory spot-check works, because each obligation has a defined, checkable rule:
- Federal and state income tax withholding — recomputed against the employee's elections (Form W-4) and the applicable bracket for the pay period. Confirm the amount withheld on the register is consistent with the elections and bracket on file.
- Social Security — withheld at the statutory 6.2% rate (employee and employer each) on the correct wage base, capped at the annual wage-base limit. Flag any withholding on wages above that ceiling as an over-deduction.
- Medicare — withheld at 1.45% (employee and employer each) with no wage cap, plus the additional 0.9% employee-only surtax above the statutory threshold. Flag the surtax missing or applied at the wrong threshold.
- State and local payroll taxes — flat or bracketed amounts set by the employee's work state or locality. Flag any amount deducted at the wrong rate for the entity's jurisdiction.
A worked example: register, GL, and bank three-way tie
Here's how the three-way check plays out on a real payroll run — a 42-person firm's April payroll.
Step 1 — Register to GL.
| Line | Register | GL | Variance | Status |
|---|---|---|---|---|
| Gross wages | $312,600.00 | $312,600.00 | $0.00 | Reconciled |
| Total deductions | $86,910.00 | $86,910.00 | $0.00 | Reconciled |
| Net pay | $225,690.00 | $225,690.00 (Payroll Clearing) | $0.00 | Reconciled |
The register and the GL tie exactly — payroll was recorded completely and in the right accounts.
Step 2 — Net pay to bank.
| Amount | |
|---|---|
| Net pay per register/GL | $225,690.00 |
| Actual bank disbursement (NEFT/ACH batch) | $224,940.00 |
| Variance | $750.00 |
A $750 gap between net pay and cash disbursed clears the $500 flag threshold, so it's investigated rather than carried forward. The cause: one employee's transfer (Employee E027, $750.00 net pay) failed in the bank's batch file and was automatically re-queued for the next payment cycle. This is a timing item — it will clear next period — but it has to be documented, not assumed.
Step 3 — Headcount and termination check.
Cross-referencing the register against the HR roster surfaces a second, unrelated issue: Employee E014 was terminated effective April 10, but appears on the April 25 payroll run with a full month's net pay of $4,850.00. HR's termination notice never reached payroll before the run cutoff. This is flagged separately from the bank variance above — it isn't a timing item, it's an unauthorized disbursement, and it's flagged critical with a recovery action, since the money already left the bank.
Two different findings, two different actions: the $750 NEFT failure gets monitored into next period; the $4,850 terminated-employee payment gets escalated for recovery. A three-way reconciliation that only checked totals would have missed the second one entirely, since the register and GL agreed with each other — the problem was that both agreed on a payment that should never have happened.
Key controls and red flags
The difference between a reconciliation that just matches totals and one that actually protects the client is what you check for underneath the totals. A rigorous reviewer flags:
- Register-to-GL differences over the threshold (commonly $500 or 0.1% of payroll) — payroll wasn't recorded completely or in the right accounts
- Net pay-to-bank disbursement differences — money didn't move the way the books say it did; investigate settlement timing, deferred payments, or failed batch items
- Payroll paid to a terminated employee — a critical finding; if the money already disbursed, it's a recovery issue, not just a correcting entry
- Ghost employees — payroll records that don't correspond to a genuine, currently active employee
- New hires paid before their recorded start date — usually a data-entry error, occasionally something worse
- Statutory over- or under-withholding — deductions applied above a contribution ceiling, applied to someone above an eligibility threshold, or inconsistent with the applicable tax bracket
- Statutory remittances that don't match amounts withheld, or that were filed late — a compliance exposure that compounds every period it's missed
- Rate changes not reflected in the register — a raise, promotion, or contract renewal that payroll never picked up
- Duplicate payroll runs — the same pay period processed and disbursed twice
Catching these consistently — not just when something looks obviously wrong — is what separates a payroll reconciliation from a payroll rubber-stamp.
What a completed reconciliation produces
A finished payroll reconciliation isn't just a set of matched totals — it's a documented workpaper a controller can sign off on and an auditor can follow. A complete package includes:
| Deliverable | For whom | What it shows |
|---|---|---|
| Manager summary | CFO / HR director | Headcount, total gross and net pay, total employer contributions, GL variance, variance vs. prior period, exception count by severity, and overall status |
| Register-to-GL reconciliation | Controller | Gross pay, deductions, net pay, and employer contributions — register vs. GL, with a variance column and headcount reconciliation |
| Employee detail | Payroll manager | One row per employee: pay components, deductions, net pay, bank disbursement, the resulting variance, and a terminated/active flag |
| Statutory withholding reconciliation | Controller | Each statutory obligation compared across register, tax deposit, and GL, with a compliance status per line |
| New hires & terminations | HR / auditor | New hires with authorization evidence and start date; terminations with final-pay verification and a flagged callout for any pay recorded after the termination date |
| Exceptions | Reviewer | Every variance and flag — severity, root cause, and the proposed resolution or correcting entry |
How OCTA Flow automates payroll reconciliation
OCTA Flow runs the three-way check for you and leaves the judgment — and the sign-off — with your team. The workflow mirrors the process above:
- Pick the Payroll Reconciliation Skill. Flow already knows the full procedure: register-to-GL tie-out, net pay-to-bank matching, headcount and termination checks, statutory withholding spot-checks, and remittance verification.
- Connect your data. Point Flow at the payroll system, GL, and bank feed, or upload the period's files — the payroll register, GL payroll accounts, bank disbursement batches, and (where available) the HR roster and tax deposit records.
- Run. Flow ties the register to the GL, matches net pay to what actually disbursed, cross-checks headcount against HR data, and recomputes statutory withholding for a sample of employees.
- Review findings by severity. Instead of a wall of matched employees, Flow surfaces only the exceptions — ranked by severity, each with a plain-English explanation and a recommended action: post a correcting entry, escalate a terminated-employee payment for recovery, flag a statutory shortfall, or monitor a timing item into next period. Your team works the exceptions, not every row.
- Sign off. Once the three-way tie is documented and every exception has a resolution, Flow assembles the workpaper with the full audit trail intact.
The result: the register-to-GL-to-bank tie-out and the statutory spot-checks happen in a fraction of the time, and your people spend their hours on the handful of employees and exceptions that actually need judgment.
Control and trust: Flow proposes, you approve
This matters more in payroll than almost anywhere else in accounting, because a mistake here can mean money already moved. OCTA Flow never writes to your books, and never initiates a payment or recovery, on its own. Every correcting entry, every recovery action, and every escalation is a proposal that a person reviews and confirms before anything happens. Flow does the matching and the statutory recomputation and shows its reasoning; a person makes the call — especially on anything involving an actual employee and actual money.
That control model runs through the whole reconciliation:
- Findings, not silent changes. Flow raises what it found and what it recommends — you decide whether to correct, escalate, or recover.
- Severity and escalation built in. A terminated employee paid after their exit date is flagged critical and routed for escalation, not quietly netted against next period.
- A complete audit trail. Every match, proposed correction, approval, and override is logged, so the reconciliation — and any recovery action that follows it — is fully traceable end to end.
You get the speed of automation with the accountability of human sign-off, which is exactly what a control this sensitive requires.
What the reconciliation draws on
To run a payroll reconciliation, Flow uses the same sources a preparer already works from:
- Payroll register — gross pay, deductions, and net pay by employee for the period (required)
- GL payroll accounts — the general-ledger payroll journal entries for the period (required)
- Bank disbursement records — the actual payroll payment batches for the period (required)
- HR employee roster — active/terminated status and salary rates, used for the headcount and termination checks (optional, but strongly recommended — this is what makes ghost-employee and terminated-employee detection possible)
- Tax deposit records — federal, state, or statutory tax deposit records, used to verify remittances (optional)
- Employment agreement or offer letter — used to spot-check a contractual pay rate against the register (optional)
Flow works from whatever your client has connected — it matches each input by its purpose, so it doesn't matter what the files are named or which payroll, HR, or accounting system they came from.
Related skills and terms
Glossary terms
How-to guides
- How to reconcile payroll to the bank and GLComing soon
Checklist
- Payroll reconciliation checklist (free template)Coming soon
Frequently Asked Questions
What is payroll reconciliation? It's the process of confirming that a payroll register matches the general ledger, that net pay matches what actually left the bank, and that every employee paid is a genuine, currently active employee at the correct rate. It's a three-way check, not a single comparison.
How do you reconcile payroll to the GL? Compare gross wages, deductions, and net pay per the payroll register to the corresponding wages-expense, payroll-liability, and payroll-clearing accounts in the GL, for each period and in total. Flag any difference over a set threshold — commonly $500 or 0.1% of total payroll — and investigate before closing the period.
What is a ghost employee, and how do you detect one? A ghost employee is a payroll record that doesn't correspond to a genuine, currently employed individual — sometimes a fabricated identity, sometimes a former employee left active in error. Detection works by cross-referencing every name on the payroll register against the HR roster's active-employee list and flagging any record that doesn't have a matching, currently active person behind it.
What does it mean if a terminated employee shows up on payroll? It means a termination processed by HR didn't reach payroll before a run's cutoff, and the person was paid after their exit date. It's treated as a critical finding because the money has usually already been disbursed — the response is typically to escalate for recovery and confirm the termination date with HR, not just to correct a future entry.
Why would net pay per the register not match the bank disbursement? Common causes include a batch payment that failed or was re-queued, a payment deferred to the following cycle, or a disbursement processed for the wrong amount. Any gap has to be explained and documented — it should never simply be carried forward unexplained.
Can payroll reconciliation be automated? The register-to-GL tie-out, the net pay-to-bank match, the headcount cross-check, and the statutory withholding recomputation can all be automated and reviewed. Escalation decisions — recovering a payment, notifying an auditor, resolving a genuine judgment call — stay with your team. That's the model OCTA Flow uses.
Does OCTA Flow initiate a payment recovery or post entries on my behalf? No. Flow proposes every correcting entry and every recovery or escalation action; a person on your team reviews and approves before anything is posted or acted on. Nothing happens automatically.
See how firms run faster, fully-documented payroll reconciliations with human sign-off → start a 30-day OCTA Flow trial.