Payroll Bank Account Reconciliation: A Practical Guide
Reconcile a payroll bank account step by step: match net pay, tax deposits and provider debits to payroll reports, and handle uncashed checks and errors.
SheetStatement Team11 min read
On this page
TL;DR A payroll bank account reconciliation proves three things: every dollar that left the account matches a payroll report, every payroll obligation was actually paid, and the balance left in the account is explainable. Start with the bank statement converted to rows and a balance check, then match each funding transfer, net pay debit, tax payment and provider fee to the payroll register for that pay run. Track uncashed paychecks as outstanding items, list anything unmatched, and confirm that the adjusted bank balance equals what your books say should be there. Do it every pay period or at least monthly, because payroll errors get much harder to fix the longer they sit.
Many businesses keep a separate bank account just for payroll. The idea is sensible: fund it before each pay run, let net pay and tax payments come out of it, and keep wages away from day-to-day spending. In practice, payroll accounts often become the least-reviewed account in the business. Money goes in, money goes out, the payroll provider says everything ran, and nobody checks until something goes wrong: a tax payment that bounced, an employee paid twice, a check that was never cashed, or a balance that has slowly drifted for months.
A short, regular reconciliation prevents that. This guide explains what's in a payroll account, how to set up the reconciliation in a spreadsheet, a step-by-step method, a worked example, and how to handle the problems that come up most. It applies whether you use a payroll service or run payroll yourself, though the exact reports and terminology will differ. Payroll rules vary by country and state, so treat the tax parts as general information rather than advice.
What flows through a payroll account
A typical payroll bank account has a small number of transaction types, which repeat every pay period:
- Funding transfers in. Money moved from the operating account to cover the coming pay run.
- Net pay out. Direct deposits to employees, often debited by the payroll provider as one total, or individual checks clearing one by one.
- Payroll tax payments out. Withheld income tax, social insurance contributions and employer taxes, sent to tax authorities either by you or by a payroll provider on your behalf.
- Benefit and deduction payments out. Retirement plan contributions, health insurance premiums, garnishments and other deductions withheld from pay and sent on to third parties.
- Provider fees out. The payroll service's own fees, if debited from this account.
- Bank fees and occasional returns. Fees, and direct deposits that bounce back because an employee's bank details were wrong.
The other side of the reconciliation is the payroll register (or pay run summary) for each pay date. It lists gross pay, deductions, employer taxes and net pay for every employee, plus totals.
The reconciliation simply asks: do these two records agree?
Set up the spreadsheet
Step 1: convert the bank statement. Get the payroll account statement into rows with a date, description and signed amount. SheetStatement converts PDF statements to Excel or CSV and checks opening and closing balances before export. The free plan covers 3 pages a month, which is often enough for a payroll account; Starter ($9), Pro ($19) and Business ($39) monthly plans handle more.
Step 2: check the statement balance.
=ROUND(Opening + SUM(Amount) - Closing, 2)
It must be zero before you go further. If not, see our guide to finding reconciliation discrepancies.
Step 3: add matching columns.
| Date | Description | Amount | Type | Pay date | Register amount | Difference | Status |
|---|
Type is one of Funding, Net pay, Tax, Benefits, Deductions, Fee, Return, Other. Pay date ties each bank line to a specific pay run.
Step 4: build a pay run summary from the payroll registers, one row per pay date:
| Pay date | Net pay | Employee taxes withheld | Employer taxes | Benefits and deductions | Provider fee | Total cash required |
|---|
The Total cash required column is what should leave the payroll account for that pay run, whether in one debit or several.
Step-by-step reconciliation
1. Match funding to cash required
Each funding transfer in should roughly equal the total cash required for the upcoming pay run, unless you deliberately keep a buffer. Compare them. A funding transfer that's much bigger or smaller than needed isn't wrong in itself, but it's how balances start to drift.
2. Match net pay
If the provider debits net pay as one total, it should equal the register's net pay total for that pay date exactly:
=ROUND(BankNetPay - RegisterNetPay, 2)
If you pay by check, each check clears separately and on different days. List checks issued from the register and mark each one cleared when it appears on the statement. Anything not yet cleared is an outstanding check, just like in an ordinary bank reconciliation. Our guide to outstanding checks and deposits in transit explains how to carry them forward.
3. Match tax payments
Tax payments are where mistakes are most costly. For each pay date, the register shows the taxes withheld from employees plus employer taxes. Depending on your deposit schedule and your provider, these may be paid per pay run, combined across several pay runs, or paid on a separate schedule.
Build a small tax table:
| Liability period | Taxes due per registers | Paid per bank | Difference |
|---|
The difference should be zero for every period that's due. Anything else is either a timing difference (payment not yet due) or a problem to investigate immediately.
4. Match benefits and deductions
Retirement contributions, insurance and garnishments withheld from pay must be sent on. Match each payment to the register totals for that period. A missing payment is easy to overlook, because the employee's payslip looks correct even if the money never left your account.
5. Match fees and other items
Provider fees should agree with the provider's invoice. Bank fees should be few and explainable. A returned direct deposit (money coming back because account details were wrong) needs action: the employee still needs to be paid, and the returned money needs to be re-sent or paid another way.
6. Explain the balance
At the end, the bank balance should equal:
Expected balance = Bank closing balance
- Outstanding checks
+ Returned items not yet re-paid (if they're still owed out)
Compare that to the payroll account balance in your books. If you keep a deliberate buffer, the expected balance should be roughly that buffer. If it keeps creeping upwards, you're over-funding or something isn't being paid; if it creeps downwards, something is being paid that isn't in the registers.
A worked example
A small business runs payroll every two weeks through a payroll provider that debits net pay, taxes and its fee from a dedicated payroll account. Here's one month, with invented figures.
Payroll account statement: opening balance $1,000.00, closing balance $1,181.00.
| Date | Description | Amount | Type | Pay date |
|---|---|---|---|---|
| 03/02 | Transfer from operating | 14,200.00 | Funding | 03/06 |
| 03/05 | Provider – net pay | -9,846.30 | Net pay | 03/06 |
| 03/05 | Provider – taxes | -3,612.40 | Tax | 03/06 |
| 03/05 | Provider – fee | -84.00 | Fee | 03/06 |
| 03/09 | Retirement plan contribution | -560.00 | Benefits | 03/06 |
| 03/16 | Transfer from operating | 14,000.00 | Funding | 03/20 |
| 03/19 | Provider – net pay | -9,702.85 | Net pay | 03/20 |
| 03/19 | Provider – taxes | -3,554.45 | Tax | 03/20 |
| 03/19 | Provider – fee | -84.00 | Fee | 03/20 |
| 03/23 | Retirement plan contribution | -560.00 | Benefits | 03/20 |
| 03/24 | Returned deposit – employee | 1,286.00 | Return | 03/20 |
| 03/25 | Bank fee – returned item | -15.00 | Fee | 03/20 |
| 03/26 | Wire to employee | -1,286.00 | Net pay | 03/20 |
Statement check. The amounts sum to 181.00. Opening $1,000.00 + $181.00 = $1,181.00. The statement is complete.
Matching to registers.
| Pay date | Register net pay | Bank net pay | Register taxes | Bank taxes | Register benefits | Bank benefits |
|---|---|---|---|---|---|---|
| 03/06 | 9,846.30 | 9,846.30 | 3,612.40 | 3,612.40 | 560.00 | 560.00 |
| 03/20 | 9,702.85 | 9,702.85 | 3,554.45 | 3,554.45 | 560.00 | 560.00 |
Every line matches. The return on 03/24 was one employee's direct deposit bouncing; it was re-paid by wire on 03/26, so the employee has been paid and the net effect on the account is zero apart from a $15 fee.
Explaining the balance. Cash required for the first pay run was 9,846.30 + 3,612.40 + 84.00 + 560.00 = $14,102.70, and $14,200 was transferred in, leaving $97.30 extra. For the second, 9,702.85 + 3,554.45 + 84.00 + 560.00 = $13,901.30 against $14,000 funded, leaving $98.70 extra. Together that's $196.00 of over-funding, less the $15 returned-item fee, which is $181.00: exactly the month's increase in the balance.
So the account grew from $1,000 to $1,181 not because anything went wrong, but because funding was rounded up each time and a bank fee was charged. That's useful to know. If nobody looked, rounding up every pay period would quietly build a balance of several thousand dollars a year in an account nobody watches, and the fee would never be recorded in the books.
What the books need. The provider fees ($168) and the bank fee ($15) are expenses. The returned deposit and the re-payment by wire cancel out, but both should be recorded, with a note that the employee's bank details were updated. Net pay, taxes and benefits are already recorded through payroll journals; the reconciliation confirms the cash side agrees.
Automating the match with formulas
Once each bank line has a Type and a Pay date, the comparison with registers can be fully formula-driven. On the pay run summary sheet, pull the bank totals for each pay date and type:
=-SUMIFS(Bank[Amount], Bank[Pay date], $A2, Bank[Type], "Net pay")
The minus sign turns the negative bank debits into positive figures that match the register. Repeat for Tax, Benefits and Fee, then add difference columns:
=ROUND(B2 - H2, 2)
Use conditional formatting to highlight any difference that isn't zero. A month where every cell is clear takes seconds to review; a highlighted cell tells you exactly which pay run and which type to investigate.
Two more formulas are worth adding:
- Funding versus cash required for each pay run, so drift is visible immediately:
=FundingAmount - TotalCashRequired. - Unassigned lines, a count of bank rows with no Type or Pay date:
=COUNTIFS(Bank[Type], ""). It should always be zero; anything else means a transaction hasn't been reviewed.
Assigning Type automatically saves more time. Most payroll providers use consistent descriptions for each kind of debit, so a small keyword table (for example, a description containing the provider's name and "tax" maps to Tax) does most of the work. Our guide to Excel formulas for categorizing transactions shows how to build one. Pay date usually has to be assigned by the nearest upcoming pay date, which you can find with a lookup on a list of pay dates sorted in order.
Common problems and what they mean
Net pay debit doesn't match the register. Usually a late change (a correction, an off-cycle payment, a terminated employee) was processed after the register you're looking at was printed. Get the final register for that pay date.
Tax payment missing. Check whether it's on a different schedule from net pay, or combined with another period. If it's genuinely missing, contact your provider or tax authority right away; late payroll tax payments can carry penalties.
Tax payment doubled. Sometimes a payment is made both by the provider and manually. Contact the provider and the tax authority about the overpayment.
Uncashed paychecks. Checks that stay outstanding for months are a liability: the employee is still owed the money. Follow up with the employee. Depending on where you are, long-uncashed wages may eventually have to be reported and handed over under unclaimed property rules. Check the rules that apply to you rather than simply voiding old checks.
Returned direct deposits. Act quickly. Confirm the employee's details, re-pay them, and record both the return and the re-payment.
Balance drifting. Compare funding to cash required each pay run, as in the example. Persistent drift in either direction always has a cause.
Garnishment or benefit payments not sent. Match each deduction on the register to a payment. An employee's payslip will look right even if the money never left your account, so this one only shows up in a reconciliation.
Payroll run from the operating account. If you don't have a separate payroll account, the same method works: filter the operating account statement for payroll-related lines and match them to registers. A separate account just makes it easier.
How often to reconcile
Ideally after every pay run, when the details are fresh and the provider can still easily fix anything. At a minimum, reconcile monthly as part of your month-end close. Quarterly tax filings are a natural checkpoint: before filing, make sure the tax paid per bank equals the tax due per registers for the quarter.
If you've fallen behind, don't try to reconcile a whole year at once. Convert the statements month by month and work through them in order, carrying outstanding items forward. Our guide to catching up on months of bookkeeping explains the approach.
Keeping the evidence
For each reconciliation, save:
- The bank statement PDF and your converted spreadsheet.
- The payroll registers and tax payment confirmations for the period.
- The reconciliation sheet showing every match, outstanding item and note.
That file is what you'll need if an employee queries their pay, a tax notice arrives, or an auditor asks how you know payroll cash is right. Our guide to preparing bank statements for audit covers what reviewers usually expect.
This guide is general information about reconciling a bank account. It isn't payroll, tax or legal advice; payroll rules vary by country and state, so check with your payroll provider or an accountant for your obligations.
Convert your payroll account statements
Upload your payroll account statement PDFs to SheetStatement, confirm the opening and closing balances, and export to Excel or CSV to start matching. The free plan includes 3 pages a month.
FAQ
What is a payroll bank account reconciliation?
It's a check that every transaction in the payroll account matches a payroll report, that every payroll obligation was paid, and that the remaining balance is explained.
How often should I reconcile the payroll account?
After each pay run if possible, and at least monthly. Before each payroll tax filing, confirm tax paid matches tax due.
Why doesn't my net pay debit match the payroll register?
Usually a late correction or off-cycle payment changed the total after the register was produced. Use the final register for that pay date.
What should I do about uncashed paychecks?
Treat them as outstanding items, since the employee is still owed the money, and follow up. Rules for long-uncashed wages vary by location, so check what applies to you.
Why does my payroll account balance keep growing?
Most often, each funding transfer is rounded up above the cash required. Compare funding to cash required for each pay run to see the pattern.
Do I need a separate payroll bank account?
It isn't required for the reconciliation, but it makes matching much simpler because only payroll transactions appear on the statement.
Can I reconcile payroll in Excel?
Yes. Convert the statement to rows, add a pay date and type to each line, and compare totals to the payroll registers with SUMIFS.
How much does SheetStatement cost?
The free plan includes 3 pages a month. Starter is $9 a month, Pro is $19 and Business is $39.