Try it now

Check a bank statement’s running balance

Updated

A bank statement carries its own proof. Each row’s balance should follow from the row before, and the whole period should add up from the opening balance to the closing one. Checking that is the quickest way to know that a conversion, or a statement you were handed, is complete and read correctly.

The two checks

The period check uses four numbers: the opening balance, the total of credits, the total of debits and the closing balance. If opening plus credits minus debits does not equal closing, a row is missing, duplicated or misread.

The running balance check is finer. Most statements print a balance after every row, so each row can be checked on its own: the previous balance, plus the row’s credit, minus its debit, must equal the balance printed on that row. The first row that fails points at the problem.

A worked example

A made-up statement with an opening balance of 1,000.00:

A made-up statement, oldest row first
DateDescriptionDebitCreditBalance
01/09/2026Opening balance1,000.00
03/09/2026Card purchase, grocer250.00750.00
05/09/2026Salary1,200.001,950.00
09/09/2026Mobile bill75.501,874.50

Row by row: 1,000.00 − 250.00 = 750.00; 750.00 + 1,200.00 = 1,950.00; 1,950.00 − 75.50 = 1,874.50. For the period: 1,000.00 + 1,200.00 − 325.50 = 1,874.50, the closing balance. Both checks pass.

Checking it in Excel

  1. Put the rows oldest first, with Debit in column C, Credit in D and the printed Balance in E, starting on row 2.
  2. In F3, type =E2+D3-C3 to get the balance the row should have, and fill it down.
  3. In G3, type =ROUND(F3-E3,2) and fill it down. Every cell should be 0; the first one that is not is the row to look at.
  4. For the period, check that the opening balance plus SUM of column D minus SUM of column C equals the last balance.

Statements listed newest first

Some banks list the latest transaction at the top. The arithmetic is the same, read from the bottom up: each row’s balance follows from the row below it. docsanalyzer detects the order from the running balance itself and checks the rows oldest first, so you do not need to re-sort the file.

How docsanalyzer checks it

  • Every statement is marked balance reconciled, not reconciled or not checkable, with the figures used. Not checkable means the statement does not print what the check needs, such as an opening or closing balance.
  • Every row is checked against the running balance. A row whose debit or credit side disagrees with the balance is corrected and flagged, never silently.
  • A single classic misread (1 and 7, 0 and 8, 3 and 8, 5 and 6, or a dropped decimal point) is offered as a one-click fix only when exactly one fix balances. Otherwise the row is flagged for you to compare with the page.
  • Every row read from a PDF, scan or photo links to its page and line, highlighted on the page image.
  • Several statements merged together are also checked for continuity: each closing balance should be the next statement’s opening balance.

What a passing check does not tell you

A balance check proves that the numbers agree with each other. It does not prove who issued a statement or that it was never edited: a statement can be altered consistently. Treat “balance reconciled” as “read completely and correctly”, not as “genuine”; the tamper check looks for signs of editing.