Reconciler
Blog / Guides 9 min read

How to Reconcile Bank Statements: A Step-by-Step Guide

July 2026 · Reconciler

To reconcile a bank statement, compare every transaction on the bank statement against the cash account in your ledger for the same period, then explain every difference until both sides agree. Start with the bank's ending balance, add deposits in transit, subtract outstanding checks, and you get the adjusted bank balance. Then take your book balance and adjust it for items the bank knew about but you did not record: service fees, interest earned, NSF checks, and recording errors. When the adjusted bank balance equals the adjusted book balance, the account is reconciled.

Last updated July 2026.

The bank and your books are two independent records of the same cash, kept on different clocks. Bank statement reconciliation is the monthly discipline of proving they tell the same story.

What are the 5 steps to reconcile a bank statement?

The five steps are: (1) gather the bank statement and your ledger's cash account for the same period, (2) tick off every transaction that appears on both sides, (3) list the timing differences the bank has not seen yet, mainly deposits in transit and outstanding checks, (4) record the items the bank knows about but your books do not, such as fees, interest, and NSF checks, and (5) confirm the adjusted balances match and post the adjusting entries.

Here are those bank reconciliation steps with the detail that matters in practice.

  1. Pull both records for an identical date range. If your statement runs July 1 to July 31, your ledger extract has to run July 1 to July 31 too. Mismatched cutoffs are the most common reason a first attempt fails. Note both ending balances before you touch anything.
  2. Match transaction by transaction. Tick each statement line against the matching entry in your books. Match on amount first, then date, then payee. Most items pair off cleanly. What is left over on either side is your actual work.
  3. Identify timing differences. Real transactions you recorded correctly that the bank has not processed yet. Deposits in transit and outstanding checks live here. They adjust the bank side, never the book side.
  4. Identify unrecorded items and errors. Real transactions the bank processed that never reached your ledger: service charges, wire fees, merchant fees, interest income, bounced customer checks, automatic loan payments. These adjust the book side, and each needs a journal entry.
  5. Prove it and post it. Adjusted bank balance should equal adjusted book balance. If it does, post the book-side journal entries and lock the period. If it does not, there is a troubleshooting section below.

One prep note. If your bank only hands you a PDF and you plan to work in Excel or Google Sheets, convert the statement into a clean spreadsheet first. Retyping 200 lines by hand introduces exactly the transposition errors you are trying to catch.

What is the bank reconciliation formula?

The bank reconciliation formula has two halves that must meet at the same number. Adjusted bank balance = bank statement ending balance + deposits in transit - outstanding checks +/- bank errors. Adjusted book balance = ledger cash balance + interest and credits - fees, NSF checks and automatic debits +/- book errors. Reconciliation is complete when the two adjusted figures are equal.

Why two sides? A timing difference is not a mistake, so it never gets a journal entry. A deposit in transit is money you correctly recorded on July 31 that the bank will post on August 1. Your books are right; the bank is behind. An unrecorded fee is the opposite: the bank is right and your books are incomplete, so it needs a real journal entry (debit bank fees expense, credit cash). Under GAAP, only book-side adjustments hit the general ledger. Bank-side adjustments live on the reconciliation, not in your accounts.

Why doesn't my bank statement match my books?

Your bank statement does not match your books because the two records are kept on different clocks by different parties. Checks you wrote have not cleared, deposits made after the cutoff have not landed, the bank charged fees you did not know about, and somewhere a number got typed wrong or an entry got recorded twice. All of it is normal. All of it has a standard fix.

Cause of mismatch What it looks like Side to fix How to resolve it
Deposits in transit In your books, not on the statement. Usually a deposit made in the last day or two of the month. Bank side Add to the bank balance. No journal entry. Confirm it clears early next month.
Outstanding checks Check numbers with no matching debit on the statement. Bank side Subtract from the bank balance. No journal entry. Track anything older than six months.
Bank fees and service charges On the statement, missing from your books. Book side Debit bank fees expense, credit cash.
Interest earned A small credit on the statement you never recorded. Book side Debit cash, credit interest income.
NSF (bounced) customer check A deposit reversed by the bank, often with a returned item fee. Book side Debit accounts receivable, credit cash. Re-invoice the customer for the fee if your terms allow.
Transposition error Right transaction, wrong digits ($1,520 keyed for $1,250). Book side Correct the entry. Tell-tale sign: the difference divides evenly by 9.
Duplicate entry Same amount, same payee, booked twice. Common after a manual import. Book side Void or reverse the duplicate. Check whether the import ran twice.
Processor payouts recorded gross Stripe deposits $4,712.18, your books say $4,850.00. Book side Split the payout into gross sales and processing fees. The bank only ever sees the net.
Bank error Rare, but real. Wrong amount posted, or someone else's transaction on your account. Bank side Adjust the bank balance on the reconciliation and contact the bank in writing.

Processor payouts deserve a flag. If you take card payments, the gap between what a customer paid and what hits your checking account is fees, refunds, and chargebacks netted into one deposit. That is where most e-commerce reconciliations quietly go wrong, and it is why automated transaction matching is worth more to a card-heavy business than a check-heavy one.

What are deposits in transit and outstanding checks?

Deposits in transit are payments you have received and recorded in your books but the bank has not yet credited, typically because they were deposited after the daily cutoff or near month end. Outstanding checks are checks you have written and recorded that the payee has not yet cashed, so the bank has not deducted them. Both are timing differences, not errors, and both are adjusted on the bank side.

A deposit in transit at the end of July should clear in the first few business days of August. If it is still sitting there when you reconcile August, something is wrong: the deposit was never made, it was recorded twice, or it went to a different account. Chase it immediately.

Outstanding checks age. Most US banks treat checks over six months old as stale-dated and may refuse them, and unclaimed funds can eventually fall under your state's escheatment rules. Call the payee, void and reissue if needed, and stop letting the list grow.

Bank reconciliation statement example

Here is a bank reconciliation statement example for a small US company reconciling its operating checking account for July.

Starting figures: the bank statement shows an ending balance of $48,215.60 on July 31. The general ledger cash account shows $49,081.00. They are off by $865.40.

Bank side. Two deposits totaling $6,400.00 were made July 30 and July 31 and have not posted. Three checks are outstanding: #1042 for $1,250.00, #1047 for $3,875.40, and #1051 for $612.20.

  • Bank statement ending balance: $48,215.60
  • Add deposits in transit: $6,400.00
  • Less outstanding checks: ($5,737.60)
  • Adjusted bank balance: $48,878.00

Book side. The statement shows a $35.00 monthly service charge and a customer check for $450.00 returned NSF, neither recorded. The bank credited $12.00 of interest. And check #1042, written for $1,250.00, was keyed into the ledger as $1,520.00, overstating the payment by $270.00.

  • Ledger cash balance: $49,081.00
  • Less bank service charge: ($35.00)
  • Less NSF customer check: ($450.00)
  • Add interest earned: $12.00
  • Add correction of check #1042 transposition: $270.00
  • Adjusted book balance: $48,878.00

Both sides land on $48,878.00, so the account is reconciled. Note the transposition: the $270.00 error divides evenly by 9 ($270 / 9 = $30), the classic signature of transposed digits. The four book-side items get journal entries. The deposits in transit and outstanding checks do not, because your books already recorded them correctly.

How often should you reconcile bank statements?

Reconcile bank statements at least monthly, as soon as the statement closes, because that is the cadence your ledger, your financials, and your tax filings are built on. Businesses with high transaction volume, card payments, or multiple accounts should reconcile weekly or even daily. The longer you wait, the more items pile up and the harder it is to trace any single difference to its source.

Monthly is the GAAP-friendly minimum and it is fine for a consulting firm writing twenty checks a month. It is not fine for an e-commerce business running hundreds of card transactions a day, where a duplicate charge can sit undetected for four weeks. Reconciling often also makes month end close boring, which is the goal. If cash is already tied out on the 1st, closing the books is a formality instead of a scramble.

Troubleshooting: when the reconciliation will not balance

Work these in order, cheap checks first.

  1. Is the difference divisible by 9? Transposed digits. Look for a number with two adjacent digits swapped.
  2. Is the difference exactly twice a transaction on your list? You booked a debit that should have been a credit, or vice versa. The error is double the amount.
  3. Is the difference exactly equal to a transaction on your list? Something was recorded twice or omitted entirely. Search for that amount on both sides.
  4. Does last period's ending balance match this period's opening balance? If someone posted a backdated entry into a closed period, you are reconciling on a broken foundation. Fix that first.
  5. Did a bank feed import duplicate anything? Re-running an import creates a duplicate for every transaction in the overlap window. Sort by amount and scan for pairs.
  6. Are any transactions dated outside your window? A check dated August 2 posted to the July ledger throws the whole thing off by exactly its amount.
  7. Still stuck? Cut the period in half and reconcile each half separately. Binary search finds the bad line faster than reading 300 rows twice.

Resist the urge to plug the difference to a suspense account and move on. A plug is an admission that you do not know where your cash went, and it compounds: next month starts from a number you do not trust.

Automating the matching without giving up control

Manual reconciliation stops scaling once you are past a few hundred transactions a month, or reconciling a bank, Stripe, PayPal, and a ledger at the same time. That is the problem Reconciler is built for. It connects your bank feeds, payment processors (Stripe, PayPal, Square) and accounting ledger with read-only access, matches transactions automatically across both sides, and explains every match in plain English so you can check its reasoning instead of trusting it blindly. Discrepancy detection surfaces the missing entries, duplicates, and unexplained differences that would otherwise eat your afternoon.

Which ledger you keep the books in changes the shape of the work more than most people expect. If you are reconciling in QuickBooks Online, the ticking happens on the Reconcile screen and the pain starts when a Stripe deposit bundles thirty sales into one line, which is the case automated QuickBooks reconciliation is built to handle. In Xero, the bank feed hands you a suggested match per line and you click OK several hundred times, so Xero bank reconciliation is really a batching problem. On NetSuite the Match Bank Data screen runs on rules you have to maintain, and NetSuite account reconciliation gets heavy the moment subsidiaries and corporate cards enter the picture.

The constraint is deliberate: it never moves money and never auto-posts, and a person reviews every exception. It sits on top of the ledger you already use, so there is nothing to rip out. That suits bookkeepers running multiple client files, where volume is high but tolerance for a silent automated adjustment is zero. Plans start at $49/mo (Starter), with Growth at $149/mo and Scale at $399/mo, listed on the pricing page.

Software or spreadsheet, the logic never changes: tick what matches, explain what does not, adjust the right side, and prove the two balances meet. Do that every month and your cash account stops being a question mark.

This article is for general information and is not financial or tax advice. Consult your accountant about your specific situation.

See your accounts tie out to $0.00

Connect your bank, processors and ledger read-only. Reconciler matches transactions, flags what does not add up, and explains every match, so your books close faster. Read-only, never moves money.