PDF → Excel, CSV or JSON

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.

chase_jan_2026.pdf → statement.xlsx

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 output, documented

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.

Sheet · every row

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.
Sheet · statement facts

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.
Sheet · card cycle

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.
Money is numeric

Amounts land in real number cells with a two-decimal accounting format — SUM works immediately, a minus sign marks debits.

Dates are ISO

Every date is rewritten to YYYY-MM-DD, so Excel sorts them chronologically instead of alphabetically.

CSV opens clean

UTF-8 with a byte-order mark and RFC 4180 quoting — accented names survive, a comma in a description does not shift your columns.

Empty columns are dropped

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 handled

Frequently 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.