Skip to content
Debits and credits kept apart · amounts as numbers

Convert a Bank Statement to Excel

Statements are the one PDF where a single shifted column ruins everything: a debit landing in the credit column flips the sign of your entire reconciliation. This converter keeps withdrawals, deposits and the running balance in their own columns, and exports them as numbers.

What a statement PDF actually contains

Almost every retail bank statement, in every country, prints the same six fields in roughly the same order: value date, description, reference, money out, money in, balance. The differences are cosmetic — whether money out is called Debit, Withdrawals or Paid out, whether negatives use a minus sign, brackets or a trailing DR.

What varies more is the geometry. Some banks right-align every amount, some left-align them, some print a single Amount column with the sign carrying the meaning. A few squeeze the balance into the same column as the amount on alternate lines. The converter does not assume a fixed layout; it reads the actual x-coordinate of each field and rebuilds the columns from that.

The balance column is your proof

A statement conversion is verifiable in a way most data extraction is not. If the balance column survived, the arithmetic must have survived too:

opening balance + sum(deposits) − sum(withdrawals) = closing balance

If that equation holds in your spreadsheet, every row was extracted correctly. If it is off by one transaction, you know exactly how many rows to look for. This is why the tool never drops the balance column, even when you might think you do not need it.

Sign conventions. Amounts in brackets become negative: (1,240.00) → -1240. A trailing minus does the same. A separate debit column stays positive, because that is what the statement means — the column header carries the direction, not the sign. If you want a single signed column, add =IF(D2<>"",-D2,E2) and fill down.

Merging a year of statements

Converting twelve monthly PDFs gives you twelve spreadsheets with an identical column layout. To build one ledger, open a blank workbook and paste each month below the last, keeping only one header row. Two things to watch:

Why not just use the bank's CSV export?

If your bank offers one, use it — it is authoritative. Plenty do not, or they restrict it to a short window, or they bury it behind a business banking tier. Statements, on the other hand, are always available as PDFs, often for years of history. That is the gap this tool fills: getting the same data out of the format everyone has.

FAQ

My statement has one Amount column with negatives. Will that work?

Yes. You get a single numeric column where withdrawals are negative and deposits positive. That is often more useful than separate columns, because a plain SUM() over it is immediately correct.

Two transactions have the same date and amount — will one be lost?

No. Nothing is de-duplicated. Identical rows are preserved exactly as printed, which matters because two identical coffee purchases on the same day are two real transactions.

The description wrapped onto a second line and became its own row.

Leave Join wrapped descriptions on — it merges a line that has text but no date into the row above. If the bank prints the date on the continuation line too, that heuristic cannot fire; in that case sort by date and delete the orphan rows, or edit them in the preview.

Does it handle statements in other languages?

Yes. Extraction works on coordinates, not on English words, so a German or Japanese statement converts the same way. Only the number parsing has locale logic — it understands both 1,234.56 and 1.234,56.

Is the account number included?

Only if it appears inside the table area. Header blocks with the account holder's name and address are excluded by default, which usually removes it. Check the preview before you save.

Convert a statement