Bank statement to CSV
A CSV you don’t have to second-guess: UTF-8, ISO dates, stable documented columns, debit/credit and signed-amount conventions stated — reviewed row by row before you download.
The sample is a synthetic statement — no real bank, person, or account — and the excerpt shown is taken from that exact file, byte for byte.
date,description,debit,credit,signed_amount,balance,currency,source_page,review_status,validation_codes2026-05-01,BACS SALARY ACME LTD MAY PAY,0.00,3250.00,3250.00,4500.75,GBP,1,valid,2026-05-02,CARD PURCHASE TESCO STORES 4381,46.82,0.00,-46.82,4453.93,GBP,1,valid,2026-05-03,ATM WITHDRAWAL HIGH STREET CASH MACHINE REF 778221,80.00,0.00,-80.00,4373.93,GBP,1,valid,2026-05-04,DIRECT DEBIT CITY ENERGY,124.40,0.00,-124.40,4249.53,GBP,1,valid,The first lines of the sample CSV — the header row is the documented column contract, stable across exports.
The exact columns, from the exact file.
A converter output you can build an import mapping on — every column stated, nothing to reverse-engineer.
- date
- ISO format (YYYY-MM-DD) — chosen specifically to survive Excel and Google Sheets locale auto-detection.
- debit · credit · signed_amount
- Debits and credits stay in separate magnitude columns, and signed_amount carries the single signed value (credits positive, debits negative). The convention is stated, so nothing needs guessing at import.
- balance · currency
- The running balance printed on the statement where available, and the ISO currency code on every row.
- source_page · review_status
- The statement page each row came from, and whether the row was reviewed, edited, or flagged — the review trail travels with the data.
- Encoding & delimiter
- UTF-8 (with BOM for Excel), comma-delimited, one header row.
- Formula-safe
- Text values that could be interpreted as spreadsheet formulas are escaped at export, so opening the file can’t execute anything.
Convert a PDF bank statement to CSV — with the checking done first.
Every row is extracted beside its source page and checked against the statement's balances before it becomes a line in the file.
| Date | Description | Amount | Source page |
|---|---|---|---|
| 3 May 2026 | ATM WITHDRAWAL HIGH STREET CASH MACHINE REF 778221 | (£80.00) | 1 |
2026-05-03,ATM WITHDRAWAL HIGH STREET CASH MACHINE REF 778221,80.00,0.00,-80.00,4373.93,GBP,1,valid,If your spreadsheet mangles the file, it's usually one of these.
- Dates flip or break
- Locale auto-detection rewrites ambiguous dates. This export uses ISO dates, which both Excel and Google Sheets read unambiguously; if you need a specific display format, apply it after import.
- Leading zeros vanish
- Spreadsheets coerce reference-like values to numbers on open. Use your spreadsheet’s import/“get data” path and set text columns explicitly if a reference column matters to you.
- Everything lands in one column
- The delimiter is a comma. If your locale uses semicolons by default, choose comma in the import dialog.
- Importing into accounting tools
- The columns are stable and documented, so most tools can map them. We don’t claim compatibility with named tools we haven’t verified — QuickBooks CSV, Xero CSV, and Sage CSV export formats are available from the review workspace if your tool expects one of those shapes. Prefer a workbook? See bank statement to Excel.
About the CSV output
What columns does the CSV contain?
A documented, stable set: date (ISO format), description, debit, credit, signed amount, balance, currency, source page, and review notes.
What encoding and delimiter are used?
UTF-8, comma-delimited, with spreadsheet-formula protection so cell values cannot execute as formulas when opened.
How are debits and credits represented?
Separate debit and credit columns plus a signed amount column, with the sign convention documented on this page — so nothing needs guessing at import.
Why does my spreadsheet mangle CSV dates?
Locale auto-detection in the spreadsheet. The export uses ISO dates specifically to survive Excel and Google Sheets import.
Is the CSV safe to open directly?
Yes — values that could be interpreted as spreadsheet formulas are protected at export.
Can I import it into my accounting tool?
The columns are stable and documented, so most tools can map them. We don’t claim compatibility with named tools we haven’t verified.