Home › Blog › Reconciliation & Verification › How to find a missing transaction by bisecting the balance

How to find a missing transaction by bisecting the balance

Find a missing transaction fast by bisecting the statement balance, comparing mid period checkpoints, and narrowing the window until the row appears.

By StatementVerified Editorial · November 2, 2026 · 7 min read · Filed under Reconciliation & Verification

Drag & drop statement PDFs hereor tap to choose files — multiple PDFs for batch mode

Privacy: uploaded files and generated exports are stored only briefly to complete your download and are automatically deleted within 15 minutes. Files are never used for any other purpose.

When a month does not reconcile and the difference does not obviously equal a single visible transaction, the instinct is to reread the entire statement from the top. That is the slowest possible search, and tired eyes miss the same line twice. A better method uses the balances the statement itself prints as checkpoints and cuts the search space in half, then in half again. Bookkeepers call this bisecting by balance, and it works on a paper statement, a converted spreadsheet, or a reconciliation inside accounting software with equal reliability.

The premise is simple. If your calculated balance agrees with the statement at a checkpoint in the middle of the period, everything before that checkpoint is proven and the missing transaction lives after it. If it disagrees by the full unexplained amount at the midpoint, the missing transaction lives before it. Each comparison discards half the remaining rows. A statement with hundreds of transactions collapses to a handful of candidates in a few comparisons, and the row you need is usually found with its date and amount confirmed rather than guessed.

Set up the checkpoints before you search

Gather two balance series for the same account and period in the same order. The first is the statement series: every printed running balance if the statement provides one, or at minimum the opening balance, any daily or section balances, and the closing balance. The second is your calculated series: opening balance plus each transaction from the books or the converted file, accumulated in statement order. Confirm both series start from the identical opening balance taken from the statement. If the openings differ, you do not have a missing transaction problem yet, you have a carry forward problem, and bisection will mislead you until the opening is fixed.

Also record the total unexplained difference at the closing balance, with its sign. Sign matters throughout the search. If your calculated closing balance is lower than the statement closing balance, you are missing a net credit, a deposit recorded too small, or an extra debit that should not be there. If yours is higher, reverse the expectation. Keeping the expected direction in mind prevents a common waste of time, which is triumphantly finding a difference in the window that has the wrong sign and cannot explain the gap you actually have.

Compare at the midpoint and halve the window

Pick the transaction nearest the middle of the statement and compare balances immediately after that transaction. Use the printed running balance when available. When it is not, build a checkpoint from a daily balance summary or by summing the statement activity to that date from the PDF by section. If the balances agree at the midpoint, mark everything up to that point as proven and move your attention to the second half. If they disagree by the full closing difference, the problem is in the first half. If they disagree by part of the difference, you likely have more than one error, and you should note the partial amount because it tells you the first error inside the window accounts for only that portion.

Repeat the comparison at the midpoint of the surviving window. With each step the suspect block shrinks: half the statement, then a quarter, then an eighth, until you are looking at a single day or a single page. At that scale, compare line by line against the PDF, checking amount, sign, and presence in both directions. Check not only for a transaction present on the statement and absent in your file, but also for the impostors: a subtotal read as a transaction, a duplicated neighbor, or an amount keyed with transposed digits. Bisection finds the location. Only a direct look at the source identifies the exact species of error.

When no running balance is printed

Credit card statements and some bank layouts print no per row balance, but bisection still works with coarser checkpoints. Use the section subtotals most statements print for deposits, electronic credits, checks paid, fees, and interest. Reproduce each section total from your file and compare. A section that agrees is cleared entirely. A section that disagrees by the full gap becomes your window, and inside it you can bisect by date using the printed daily activity groupings or by paging through the PDF section in halves and summing each half in your spreadsheet with a quick filter on date.

You can also manufacture checkpoints from the following statement. The next period opening balance confirms the closing position, and if the next statement prints early running balances, working backward from a proven opening can confirm whether your final rows in the suspect month are complete. For catch up work spanning many months, checkpoint at every month boundary first. If each month opening and closing chain agrees, the missing transaction hides inside a single month, and you bisect only there instead of searching a year of activity at once.

Multiple errors and the partial difference clue

Bisection is cleanest with a single missing transaction, but real cleanup work often holds two or three. The method still helps if you read it correctly. When a midpoint comparison shows a difference that is neither zero nor the full closing gap, an error sits on each side of the midpoint, or several errors on one side partially offset. Record the midpoint difference as its own target. Clear the first window against that target amount, fix what you prove, then rerun the closing difference, which should now be smaller, and bisect again for the remainder. Each proven fix simplifies the next search instead of complicating it.

Resist combining fixes. It is tempting, upon finding two suspicious rows, to adjust both and check the total. If the total then ties, you cannot be sure both adjustments were correct, because one right fix and one wrong fix of equal size also tie. Prove and fix one error at a time, rerunning the balance after each change. The extra minute buys certainty, and certainty is the entire product in reconciliation work. A month that ties for reasons you can name row by row will stay tied. A month that ties after a bundle of hunches tends to unravel at tax time.

Prevent the next missing transaction

Once found, ask how the transaction escaped. Page boundary drops point to a conversion or scanning weakness for that bank layout, so add a page level count or subtotal check at intake for that client. A fee section omission points to a statement structure you should add to your intake checklist. A manual entry omission points to a source document, such as a payment platform payout report, that should be reconciled to the bank line every month rather than summarized from memory. The missing transaction is free process consulting if you let it teach you where your system leaks.

Close the loop by rerunning the full proof after the fix: opening, every transaction, closing, with no unexplained remainder, and the midpoint checkpoints agreeing as well. File a one line note stating what was missing, where it was found, and what changed in the books. That note protects the next bookkeeper, supports the correction if a reviewer asks, and turns a frustrating search into evidence of a working control. Missing transactions will still occur in any busy practice. With bisection, they stop being all day events and become short, methodical recoveries.

Questions and answers

What balance do I compare if the statement has no running balance?

Use the coarsest printed checkpoints available: section subtotals, daily balance summaries, and the closing balance. Compare each section total reproduced from your file to the printed subtotal. The disagreeing section becomes your search window, and you can bisect inside it by date groups.

The midpoint is off by only part of the difference. What does that mean?

It usually means more than one error exists. Part of the total gap arises before the midpoint and the rest after it, or offsetting errors overlap. Treat the midpoint amount as a separate target, prove and fix one side first, then rerun the total and search again.

Can bisection find a wrong amount, not just a missing row?

Yes. A wrong amount creates the same balance divergence as a missing row equal to the error portion. Bisection localizes the divergence to a small window, and the line by line comparison inside that window reveals whether the cause is an absence, a duplicate, a sign flip, or a miskeyed digit.

Keep going

Related articles

Reconciliation & Verification · November 3, 2026

Duplicate transactions: causes, proof, and fixes

Why duplicate transactions appear after imports and bank feeds, how to prove a true duplicate against the statement, and how to remove it safely.

Reconciliation & Verification · November 2, 2026

How bank reconciliation works, step by step

Learn how bank reconciliation works step by step, using the bank statement as the referee for every balance, transaction, and difference for any account.

Reconciliation & Verification · November 5, 2026

The running balance check, explained

How the row by row running balance check works, why it localizes a conversion error to a single row, and how to use it in your own review each month.

Put it into practice

Convert a statement now and watch the reconciliation check verify it against the statement itself.

Convert a statement

Bank statements in. Clean books out.

Your first conversion is free — no card, no sign-up — and every result is reconciled against the statement itself before you download it.

Convert a statement — free