How Bank Statement Reconciliation Works

Reconciliation is the check that ties the transactions in a converted file back to the balance the bank itself printed — so you can tell a clean conversion from one that quietly missed, duplicated or misread a row.

Advertisement

Updated: August 2026

What reconciliation actually checks

"Reconciliation" sounds like a broad accounting term, but for a bank statement file it means something narrow and mechanical: proving that the transactions in a converted file account for the change in balance the bank itself printed. A statement usually states an opening balance for the period and a closing balance at the end. Between those two figures sits a list of transactions that, added together correctly, should explain the difference. If they do, that is a useful positive signal. If they do not, something may have been missed, duplicated, or read incorrectly — and reconciliation surfaces that without you adding up the whole page by hand.

Two checks, because they catch different problems

Bank CSV Fixer and PDF Bank Statement to CSV run two separate reconciliation checks. The first is a whole-statement check: opening balance minus total debits plus total credits should equal the closing balance — a single arithmetic comparison, and the one most people picture when they hear the word "reconciliation". The second is a row-by-row check: where the statement prints a running balance next to each transaction, the tool compares each row's running balance against the next, walking through the statement in the same order the bank did.

Having both matters because the whole-statement check has a blind spot. Two offsetting errors — one transaction read too high and another read too low by a matching amount — can still add up to the correct closing balance even though the list in between is wrong. The row-by-row check has no such blind spot: it shows a mismatch at the exact row where the running balance stops lining up, even while the totals for the whole file still agree.

Why a small tolerance, not an exact match

Both checks compare figures to within a tolerance of under half a cent, rather than demanding an exact match to the hundredth. That is a deliberate choice, not a shortcut. Ordinary rounding — a bank rounding an interest calculation, or a value passing through floating-point arithmetic during conversion — can leave a difference of a fraction of a cent that has nothing to do with a genuine problem in the file. Treating a difference of a thousandth of a unit the same as a difference of several units would make reconciliation noisy and unreliable. A gap smaller than half a cent is treated as rounding noise; anything at or above it is treated as a real mismatch worth a closer look.

Verified, Parsed and Needs checking

Bank CSV Fixer and PDF Bank Statement to CSV use the reconciliation result differently. In Bank CSV Fixer, reconciliation is informational only. It runs both checks wherever the necessary figures are present and reports the result, but it never blocks a download — every row is still exported, including anything the tool could not classify with confidence, which is labeled "Needs checking" rather than dropped or guessed at. Its Row Census also classifies every source row, so the count of unaccounted rows is always zero.

PDF Bank Statement to CSV, limited to text-based PDFs, uses the same reconciliation logic to decide a file-level status instead. Verified means every row was resolved and reconciliation actually ran and passed — the opening-to-closing check, the row-by-row check, or both. Parsed means rows were extracted but the file could not be fully verified, for example because there is no balance information to check against, or because one row is resolved but not verifiable. Needs checking applies to a specific row, which stays in the export together with the page, row and source text it came from, so it can be compared against the PDF directly.

When the numbers do not match

A reconciliation mismatch is a prompt to look closer, not a verdict in either direction. Before assuming the file itself is wrong, check whether a page was missed — easy to do with a long, multi-page PDF statement — or whether a row was misclassified, such as a subtotal or a note read as a transaction. Also check whether any row was flagged Needs checking, since those are the rows the tool was not confident about, and a mismatch often traces back to one of them. Equally, a mismatch does not prove the tool is broken; it can just as easily point to something unusual in the statement's own layout. Either way, the printed statement remains the reference to check against.

A worked example

Take a fictional statement with an opening balance of 1,000.00, total credits for the period of 250.00 and total debits of 180.00. The whole-statement check works out as 1,000.00 + 250.00 − 180.00 = 1,070.00. If the statement's own closing balance also reads 1,070.00, the check passes with no meaningful difference at all. If it instead read 1,070.50, the 0.50 gap is far larger than the half-cent tolerance and would be flagged for a closer look rather than waved through as rounding.

Practical tip: If reconciliation does not match, compare the transaction count and the first and last dates against the printed statement before anything else. A missed final page or a duplicated header row is a common cause, and both usually show up quickly once you compare counts.

Useful tools: Bank CSV Fixer · PDF Bank Statement to CSV · How to Convert a Bank Statement to CSV or Excel

Frequently asked questions

Does a reconciliation mismatch mean the tool made a mistake?

Not necessarily. A mismatch means the figures on the statement and the figures in the extracted rows do not line up within the tolerance used, which can point to a missed page, a misclassified row, or an unusual statement layout — not automatically an error in the tool. It is a prompt to check the original statement, not a verdict on its own.

Does Bank CSV Fixer ever block a download because reconciliation failed?

No. Reconciliation in Bank CSV Fixer is informational only. Every row, including anything labeled Needs checking, is always included in every export regardless of whether the opening-to-closing balance check or the row-by-row check passes.

What does a Parsed result mean for PDF Bank Statement to CSV?

Parsed means the rows were extracted from the statement but reconciliation could not be confirmed — for example there is no opening or closing balance printed to check against, or one row is resolved but cannot be verified. It differs from Verified, which additionally requires that a reconciliation check actually ran and passed.

Why use a tolerance instead of requiring an exact match to the cent?

Ordinary rounding and floating-point arithmetic can leave a difference of a fraction of a cent that has nothing to do with a real problem in the file. Both reconciliation checks in these tools use a tolerance of under half a cent, so routine rounding noise is absorbed while a larger mismatch still stands out.