Bank statement to Excel: the clean way (dates, numbers and balances that actually work)
Why copy-pasting a PDF statement into Excel breaks, and how to get a spreadsheet with real date cells, numeric amounts and a running balance you can pivot on.
Copy-pasting a PDF statement into Excel usually produces one long column of text: dates become strings, amounts lose their sign, multi-line descriptions split into extra rows, and the numbers won't sum. Here is how to get a workbook you can actually use.
What a good statement spreadsheet looks like
- Date as a real Excel date (so you can sort, filter by month and build pivot tables).
- Description on one row, even when the statement wrapped it onto two or three lines.
- Debit and Credit as positive numbers in separate columns, plus a signed Amount column for formulas.
- Balance exactly as printed, so you can verify the extraction.
- A Summary sheet with the period, opening and closing balance, and totals.
Rowledger's Excel export produces exactly this: typed date cells, numeric cells with a #,##0.00 format, a frozen bold header row, autofilter, and a Summary sheet that states whether the rows reconcile to the printed balances.
Step by step
- Download the statement as a PDF from online banking (not a screenshot).
- Drop it into Rowledger. Conversion runs on your computer; the file isn't uploaded.
- Check the badge: Reconciled means opening + credits − debits equals the printed closing balance and every running balance matches.
- Correct any row flagged ⚠ directly in the table (rare with text PDFs; more common with scans).
- Click Excel (.xlsx).
Useful Excel formulas once you have the sheet
- Monthly totals:
=SUMIFS(F:F, A:A, ">="&DATE(2026,1,1), A:A, "<"&DATE(2026,2,1)) - Spending by merchant: a pivot table with Description in rows and Debit in values.
- Find a missing transaction:
=G2-G1-F2in a helper column should be 0 on every row when balances are continuous.
Scanned statements
If the PDF has no text layer (scanned or photographed), Rowledger runs OCR in the browser. OCR is never perfect, which is exactly why the balance check matters: a misread digit shows as a flagged row rather than hiding in a total.
Why not just use ChatGPT?
General-purpose AI tools can read a statement, but they don't verify the result, they truncate long statements, and they need you to upload the document to a third party. For a handful of rows that may be fine; for 12 months of client statements you want a deterministic tool with a reconciliation check that never leaves your machine.
Free, in your browser, reconciled against the printed balances.
Open the converter