Who it's for: anyone who reconciles or reviews bank accounts in a SaaS or tech finance team, from finance assistant to financial controller.
What you'll get: the difference between bank feed matching and a real bank reconciliation, a step-by-step month-end process, a worked reconciliation with timing differences and errors, how to handle multi-currency accounts, and a risks-and-controls table.
Reading time: about 10 minutes. Considerably less than finding a three-month-old difference.
Why "the bank feed is matched" isn't the same thing
Bank feeds and auto-matching have made daily bank work much quicker. But a fully matched feed doesn't prove the ledger balance is right. Duplicated feed lines, manual payments posted straight to the bank account, deleted transactions and opening balance errors can all leave the ledger out of line with the statement, while the feed screen shows nothing to do.
A proper bank reconciliation compares the ledger balance with the bank statement balance at month-end, explains every difference, and is reviewed by someone else. Cash is the account auditors trust least if it isn't reconciled, and the one most often targeted by fraud.
Key terms
- Bank statement balance: the closing balance on the bank's own statement for the last day of the month.
- Ledger (cash book) balance: the balance on the bank account in your accounting system at the same date.
- Bank feed: the automatic import of bank transactions into the accounting system.
- Unpresented payment: a payment recorded in the ledger that hasn't left the bank yet.
- Outstanding lodgement (deposit in transit): a receipt recorded in the ledger that hasn't reached the bank yet.
- Timing difference: a difference that clears on its own in the next few days.
- Reconciling item: any explained difference between the two balances.
Step by step: the month-end bank reconciliation
| Task | What "done" looks like | |
|---|---|---|
| ☐ | List every bank, savings, deposit, card and payment-processor account the company holds | One register, checked against bank mandates and the chart of accounts, nothing missing |
| ☐ | Finish matching the bank feed for the month | All statement lines to month-end matched or posted |
| ☐ | Download the official month-end statement from the bank | A PDF or bank report showing the closing balance, not just the feed |
| ☐ | Run the ledger balance at the same date | Balance taken after all postings for the month |
| ☐ | List reconciling items: unpresented payments, outstanding lodgements, errors | Each item dated, described and with an amount |
| ☐ | Check the reconciliation balances to zero unexplained difference | Statement balance ± reconciling items = ledger balance |
| ☐ | Post corrections for errors (bank charges, interest, duplicates) | Only genuine timing differences remain |
| ☐ | Check last month's reconciling items have cleared | Anything not cleared after a few days investigated |
| ☐ | Review and sign off | Reviewer has checked the statement, the items and the ageing, then signed and dated it |
Most accounting systems, including Xero, QuickBooks, Sage and NetSuite, have a bank reconciliation report that compares the statement balance with the ledger. Use it, and save a copy of the report and the bank statement with the month's working papers.
AI shortcut: export the bank statement transactions and the ledger bank account transactions for the month, and ask an approved AI tool to match them on amount and date (within three days) and list anything on one side but not the other. It also flags likely duplicates: same amount, same payee, close dates. A person checks every unmatched item against the statement.
Worked example: MonthEndClub Co Ltd's main account
MonthEndClub Co Ltd, a fictional UK SaaS company, reconciles its main sterling current account at 31 October.
- Bank statement closing balance: £412,640.
- Ledger balance before adjustments: £398,215.
Comparing the two shows:
- A supplier payment run of £22,400 was approved and posted on 31 October but leaves the bank on 3 November. Unpresented payment.
- A customer's £9,600 payment was recorded in the ledger on 31 October from the customer's remittance email but reaches the bank on 1 November. Outstanding lodgement.
- Bank charges of £85 on the statement haven't been posted. Error to correct.
- Interest received of £1,230 on the statement hasn't been posted. Error to correct.
- A £2,800 customer receipt was posted twice in the ledger: once from the feed and once manually. Error to correct.
Step 1: correct the ledger.
| Account | Dr | Cr |
|---|---|---|
| Bank charges (P&L) | £85 | |
| Bank | £85 |
| Account | Dr | Cr |
|---|---|---|
| Bank | £1,230 | |
| Interest income (P&L) | £1,230 |
| Account (reverse the duplicate receipt) | Dr | Cr |
|---|---|---|
| Trade debtors | £2,800 | |
| Bank | £2,800 |
Corrected ledger balance: £398,215 − £85 + £1,230 − £2,800 = £396,560.
Step 2: reconcile.
| Bank reconciliation, 31 October | £ |
|---|---|
| Balance per bank statement | 412,640 |
| Less: unpresented payment (supplier run, 31 October) | (22,400) |
| Add: outstanding lodgement (customer receipt, 31 October) | 9,600 |
| Adjusted bank balance | 399,840 |
| Balance per ledger, after corrections | 396,560 |
| Unexplained difference | 3,280 |
There's still £3,280 to find. The ledger is lower than the bank, so look for money in the bank that isn't in the ledger, or ledger payments that didn't happen. Searching the statement for £3,280 finds a payment processor payout on 30 October. The payout transfer was never posted in the ledger, so the £3,280 is still sitting in the processor clearing account instead of the bank account.
| Account | Dr | Cr |
|---|---|---|
| Bank | £3,280 | |
| Payment processor clearing | £3,280 |
Ledger balance now £396,560 + £3,280 = £399,840, which agrees to the adjusted bank balance. Unexplained difference: nil. The processor clearing account is reconciled separately and should now agree to the processor's balance report too.
In November, the reviewer checks that the £22,400 and £9,600 both appear on the statement in the first few days. If either hasn't cleared within a week or two, it gets investigated.
AI shortcut: when there's an unexplained difference, give an approved AI tool the difference, the statement and the ledger detail, and ask it to find single items or pairs of items that add up to the difference, and amounts that look transposed (a difference divisible by 9 often means two digits were swapped). It narrows the search; a person confirms the cause.
Multi-currency and other accounts
- Foreign currency accounts: reconcile in the account's own currency first (US dollars to US dollars). Then revalue the sterling ledger balance at the month-end rate and post the FX gain or loss. Mixing the two steps hides real differences inside FX movements.
- Payment processor balances: Stripe and similar balances work like a bank account. Reconcile the processor's balance report to the clearing account in the ledger each month.
- Company cards: reconcile the card statement to the card liability account, and chase missing receipts.
- Savings and deposit accounts: few transactions, but interest is easy to miss. Reconcile them monthly too; it takes minutes.
If you report under US GAAP (ASC 606)
Bank reconciliations work the same way under US GAAP; ASC 606 doesn't affect them. US groups subject to SOX typically have stricter rules on evidence, timing and segregation (for example, the person who reconciles can't be able to make payments). If you're part of one, follow its policy.
Common mistakes and audit watch-outs
- Relying on the feed screen. "Nothing to match" isn't a reconciliation. Compare the balances to the official statement.
- Old unpresented items. A payment that hasn't cleared in months may have been cancelled, lost or never sent. Investigate and correct.
- Plugging the difference. Posting the unexplained amount to suspense or sundry hides the problem, and possibly a fraud.
- Accounts left off the register. Dormant accounts, deposit accounts and overseas accounts are the ones that get forgotten.
- Preparer can make payments. Where possible, the reviewer is someone who can't make payments from the account.
- Editing reconciled transactions. Changes to a reconciled period break last month's reconciliation. Lock reconciled periods.
- Uploading bank data to unapproved AI tools. Bank statements show customer, supplier and payroll details. Only use approved tools, and still check every AI match.
Tools that can help
Accounting systems such as Xero, QuickBooks, Sage and NetSuite provide bank feeds, matching rules and bank reconciliation reports. Spend management tools such as Pleo help with card reconciliations and receipts. Cash forecasting tools such as Float build on reconciled balances. Open banking connections can bring statements in automatically. Tools do the matching; a person still compares the balances, investigates the differences and signs off.
Key risks and controls
| Risk | Control | How to evidence it |
|---|---|---|
| Ledger cash misstated | Monthly reconciliation of every account to the official statement | Signed reconciliation report with statement attached |
| Missing or unknown accounts | Bank account register checked against bank mandates quarterly | Register with sign-off and date |
| Fraudulent or unauthorised payments | Reviewer independent of payments; unusual payees checked | Reviewer name on the reconciliation; payment approval records |
| Stale reconciling items | Ageing of items; anything over 30 days investigated | Aged list with actions and owners |
| Changes to reconciled periods | Period lock after sign-off | System lock date; audit trail of changes |
| AI mismatches or data exposure | Approved AI tools only; every AI match reviewed | AI use policy; reviewer sign-off |
Key takeaways
- A matched bank feed isn't a reconciliation. Compare the ledger balance with the official statement every month.
- Correct errors in the ledger; leave only genuine timing differences as reconciling items.
- Check last month's timing differences have cleared.
- Reconcile every account: savings, foreign currency, cards and payment processors too.
- The reviewer is independent of payments where possible.
- AI is good at matching and finding differences; a person confirms the cause and signs off.
FAQs
How often should bank accounts be reconciled?
At least monthly, at month-end. Many teams match the feed daily or weekly, which makes the month-end reconciliation quick.
What if the statement and ledger have different month-end dates?
Use the statement balance for the last calendar day of the month. If the bank's statement period doesn't match, download a balance report for the exact date.
Can AI reconcile our bank accounts?
It can do much of the matching, flag duplicates and help find unexplained differences. The balances still need comparing to the official statement, and a person reviews and signs off, using only tools your company has approved for bank data.
What's a common cause of a difference that won't go away?
Often a transaction deleted or edited in an earlier, already-reconciled month, or a wrong opening balance from when the account was set up. Comparing month-by-month balances back to the last good reconciliation usually finds it.
Related guides
- Balance Sheet Reconciliations: What Good Looks Like
- Stripe Payout Reconciliation: Fees, Refunds, Disputes and FX
- Month-End FX Revaluation, Step by Step
- Journal Entry Cheat Sheet: Debits and Credits for Common SaaS Transactions
More in Reconciliations and Controls guides.
From the Club
Unexplained difference: nil. Mood: excellent. The Team Mug · The Washed Cap · The Dad Hat
Join the Club. New guides, early access and members-only batches. Join here.
This guide is general information about common practice. It isn't tailored to any business, and standards, tax rules and figures change. Check your own circumstances, the latest rules and, where needed, a qualified professional before acting.
Last reviewed: October 2026.