How to convert a bank statement to Excel
Upload the PDF and MainBook returns a spreadsheet where every transaction is one row — date, description, amount, running balance — and the totals are checked against the statement's own opening and closing balances. Scans, phone photos and password-protected files work too. The first 10 pages are free, no account needed.
What happens between the PDF and the spreadsheet
Four steps, no templates, no manual clean-up in the middle.
- 01
Drop in the PDF
One statement or a whole folder. Digital PDFs, scans and phone photos all take the same path — no template to pick, no bank to configure.
- 02
Every line gets read
Layout, country and date convention are worked out from the document itself. Scans go through OCR first.
- 03
The maths gets checked
Opening balance plus credits minus debits is checked against the printed closing balance, to the cent. Anything off is flagged, not smoothed over.
- 04
Download the spreadsheet
Excel (.xlsx), CSV or JSON — amounts as real numbers, dates as ISO text, so SUM and sorting work immediately.
The columns you get
The whole vocabulary up front — 29 possible columns; your file gets the ones your statement actually fills. No competitor publishes theirs.
One row per transaction
Date, Description and Amount are always there. The rest appear when the statement carries them.
- Source File
- Which uploaded statement this row came from.
- Row
- Sequential row number across the whole export.
- Page
- The page of the statement the line was read from.
- Date
- ISO YYYY-MM-DD, so sorting works and 03/04 is never ambiguous.
- Description
- The narrative exactly as the statement prints it.
- Amount
- A real number, negative for debits. Not text.
- Type
- Credit or Debit, in a column you can filter on.
- Balance
- Running balance after the transaction, when the statement prints one.
- Warning
- Only shows up when a row needs a second look — that row is shaded too.
The statement and the account
Repeated on every row, so a merged export never loses track of whose money it is.
- Document ID
- Stable identifier of the conversion.
- Bank
- The institution as named on the statement.
- Account Holder
- Name the account is held under.
- Account Address
- Address block printed on the statement.
- Account Number
- Masked — only the digits the statement itself shows.
- Account Type
- Checking, savings, credit card, and so on.
- Currency
- The statement currency.
- Statement Period
- From and to dates of the period.
- Billing Cycle Length
- Days covered by the period.
- Starting Balance
- Opening balance for the period.
- Ending Balance
- Closing balance for the period.
- Net Credits
- Everything paid in, totalled.
- Net Debits
- Everything paid out, totalled.
- Pages
- Page count of the source statement.
Credit card statements only
Only on card statements. Cards print no per-row running balance, so no empty Balance column either.
- Credit Limit
- Limit on the card.
- Available Credit
- Limit minus the new balance.
- Previous Balance
- Balance carried in from last cycle.
- New Balance
- Balance at the close of this cycle.
- Payment Due Amount
- What the issuer is asking for.
- Payment Due Date
- When they want it, as ISO YYYY-MM-DD.
Amounts land in real number cells with a two-decimal accounting format — SUM works immediately, a minus sign marks debits.
Every date is rewritten to YYYY-MM-DD, so Excel sorts them chronologically instead of alphabetically.
UTF-8 with a byte-order mark and RFC 4180 quoting — accented names survive, a comma in a description does not shift your columns.
Any column with no data for your statement is left out of the file, so you never scroll past blanks.
The awkward cases
The statements that break simple converters, and what happens to them here.
- 01
A scan or a phone photo
The image goes through OCR, then the same extraction and balance checks as a digital PDF. A flat, in-focus page reads more reliably than a skewed one.
- 02
A password-protected PDF
Supported. The password is used once in memory to open the file, and it is never stored.
- 03
Dates like 03/04/2026
Read the way the statement means them: country and date convention are identified first, then every date is rewritten as ISO YYYY-MM-DD.
- 04
A credit card statement
A first-class case. Cards get their own columns — limit, previous and new balance, payment due — and never a fabricated running balance.
- 05
A statement from years ago
No age limit. The 90-day window is how long we keep your uploads, not how old a statement can be.
- 06
A whole year, or several accounts
Up to 500 pages and 50 MB per file. Bigger jobs go in as several statements and come out as one spreadsheet, with Source File naming each row’s origin.
Uploads travel encrypted, are processed without human review, and delete themselves — after 24 hours without an account, after 90 days with one. Statements are never sold or used to train third-party AI.
How your file is handledFrequently asked questions
- How do I convert a bank statement PDF to Excel?
- Upload the PDF, let the automated pipeline read it, then download the result as .xlsx. Every transaction becomes one row with its date, description, amount and — when the statement prints one — the running balance. The first 10 pages are free and no account is required.
- Can I convert a scanned bank statement or a photo of one?
- Yes. Scans and phone photos are read with OCR in the same pipeline as digital PDFs and come out in the same spreadsheet layout. A flat, in-focus page converts more reliably than a skewed one.
- How do I know the amounts are right?
- Every conversion is checked arithmetically. The opening balance plus credits minus debits has to match the closing balance printed on the statement, to within one cent, and each running balance has to follow from the row before it. Rows that fail are flagged in a Warning column and shaded in the spreadsheet, instead of quietly landing in your books.
- Does 03/04/2026 come out as 3 April or 4 March?
- Whichever the statement means. The document is identified first — country, number format, date convention — and only then is every date rewritten as ISO YYYY-MM-DD, so no day-month ambiguity is left in the file.
- Which formats can I export to?
- Excel (.xlsx), CSV and JSON. The CSV is UTF-8 with a byte-order mark and RFC 4180 quoting, so it opens correctly in Excel without an import wizard.
- Do the numbers arrive as text I have to clean up first?
- No. Amounts and balances arrive in real numeric cells with a two-decimal accounting format, so SUM works the moment you open the file. Debits carry a minus sign and there is a separate Credit or Debit column to filter on.
- How large a statement can I convert?
- Up to 500 pages and 50 MB per file. A larger job can go in as several statements and be merged back into a single spreadsheet, with a Source File column identifying every row.
Try it on the statement you are stuck on
First 10 pages free — no account, no card. If the maths does not check out, you will see it on the page.