statementtocsv.co.uk

Guide

What a running balance check proves (and what it doesn’t)

The balance printed beside each transaction is the bank’s own arithmetic. Recalculating it is the strongest check you can make on statement data.

The check

For every row: previous balance + paid in − paid out = this row’s printed balance. And for the statement: opening balance + total in − total out = closing balance. If both hold to the penny for every row, the transactions are very unlikely to be wrong.

What it proves

What it doesn’t prove

Some statements only print a balance once a day, or not at all. With daily balances, the check runs at each printed balance and still catches a missing transaction, though it can only narrow it down to that day. With no balances, nothing can be checked, and the converter says so.

How to run the check yourself in Excel

  1. Lay out the columnsDate in A, Description in B, Paid in in C, Paid out in D, Balance in E (the layout of the converter’s CSV).
  2. Add a check columnIn F3, enter =E2+C3-D3: the balance you would expect on row 3.
  3. CompareIn G3, enter =ROUND(F3-E3,2). It should be 0. Fill both formulas down.
  4. Find the first non-zeroFilter column G for values other than 0. The first one is where a transaction is missing or misread.

The converter does exactly this for every statement, and tells you the row and amount when something doesn’t add up.

Questions people ask

If the running balance check passes, is the CSV correct?

Every amount and its direction are consistent with the bank’s own balances, and no row is missing. Descriptions aren’t covered by the arithmetic but are read straight from the statement.

What if my statement has no running balance?

Then only the opening-to-closing total can be checked, if those are printed. The converter marks such statements “Unverified”.

Why round to 2 decimal places in Excel?

Spreadsheets store numbers in binary, so tiny rounding differences can appear. Rounding to pennies removes them.