Skip to main content
Bankflow

Bank statement converter: A bank statement converter that proves its own arithmetic.

Upload a PDF statement and get every transaction as a table you can open in Excel, import into QuickBooks, or hand to an accountant. The difference worth caring about is not the formats on the way out. It is whether the rows add up to the balance the bank printed, and whether the converter tells you when they do not.

50 free page credits · No card · Cancel anytime

  • Reconciled against the printed balance
  • Scanned and locked PDFs
  • 12 formats out
Uploading…
chase_2024_03.pdf14p

PDF statement you upload

scanned_statement_047.pdfUnstructured

24/10 STRIPE PAYOUT 4af2c9........4,820.00

23-10 AWS EMEA SARL us-east-1 1,204.00-

22 OCT WHOLE FOODS MKT #214 112.88

21/10 UBER *TRIP..............24.40

20-OCT-2025 GUSTO PAY 9931 18,440.00

[illegible: scan quality]

What you download

statement_october.xlsxXLSX
ABD
1DateNarrationAmount
224 OctSTRIPE PAYOUT 4af2c9+4,820.00
323 OctAWS EMEA SARL us-east-1−1,204.00
422 OctWHOLE FOODS MKT #214−112.88
521 OctUBER *TRIP−24.40
620 OctGUSTO PAY 9931−18,440.00
TransactionsSheet 1 of 1SUM −14,961.28
A printed statement in, one row per transaction out, with the opening and closing balances checked against the rows rather than assumed. Illustrative data.

Most converters cannot tell a good read from a bad one.

Any tool can turn a PDF into rows. The failures are quieter than that: a page that never got read because the OCR gave up halfway, a column of debits parsed as positive numbers, two accounts in one PDF merged into a single ledger, a continuation row folded into the transaction above it. None of those announce themselves. You find them weeks later, when a reconciliation is off by one transaction and there is no way left to tell which.

How it works

What happens to the file

  1. 01

    Upload the statement

    Drop in a PDF, or forward the bank's email to a private import address. Scanned, multi-page, and password-protected files are read, up to 50 MB each.

    The import dialog, with Email import called out beside Upload files: a statement can be dropped in or forwarded to a private address.
    Three ways in: drop the file here, forward the bank's email to your private import address, or post it to the API.
  2. 02

    The layout is detected

    There is no template to pick and no columns to map. The statement's own structure is found first, including the sections a bank prints separately for checks, card activity, and electronic withdrawals.

    The statement library, with the active jobs counter called out: imports still running are counted there.
    Imports in flight are counted at the top, and each finished statement joins the library with its totals.
  3. 03

    The rows are checked against the balances

    Opening balance, the extracted transactions, and closing balance have to agree. When they do not, the statement is flagged at intake with what failed, instead of being handed over as if it were complete.

    The statement library, with the status column called out, where a statement worth a second look is flagged.
    The statement library, with the status column carrying the statements worth a second look before anything is exported.
  4. 04

    You review what it found

    Every row keeps a link back to the page and line it came from, so a number you doubt can be checked against the original rather than trusted.

    The transactions ledger, with the source column called out: every row keeps the statement it came from.
    The transactions ledger: each row keeps the statement it was parsed from, so a figure can be traced back to the page that printed it.
  5. 05

    Export in the format the next tool takes

    Excel and CSV for a spreadsheet, QBO for QuickBooks, OFX for Xero and Sage, QFX or QIF for Quicken, JSON for a script.

    Export dialog showing CSV, Excel, JSON, QuickBooks, Xero, Sage, and MYOB formats alongside selectable fields and a live transaction preview.
    The export dialog: the format on the left, the fields it will carry, and a preview of the exact rows going into the file.

What separates a converted statement from a pile of rows

Balance reconciliation

The extracted transactions are summed against the opening and closing balances printed on the statement. A month that does not tie is flagged rather than exported quietly.

Scanned pages, read properly

A photographed or scanned statement goes through OCR, and pages where the text came back unreliable are reported as such instead of silently contributing empty rows.

Signed amounts, not two columns of positives

Debits come out negative and credits positive, including on the statements that print withdrawals and deposits in separate sections with no sign at all.

Multi-account PDFs kept apart

A statement covering a checking and a savings account is two ledgers, not one. Each row keeps the account it belongs to.

A year in one pass

Queue twelve statements, review them together, and export the whole period as one file with a Source column recording which statement each row came from.

Your statements stay yours

Files are processed for your account only, never used to train anything, and deletable at any point. Password-protected PDFs are unlocked with the password you supply and not stored with it.

What the converter produces

One parse, and then whichever of these the next tool will accept.

FormatWhere it goes
Excel (XLSX)Spreadsheets, with real date cells and numeric amounts.
CSVImport wizards, scripts, and anything that refuses everything else.
QBOQuickBooks Online and Desktop, which want Intuit's header on the file.
OFXXero, Sage, Wave, GnuCash, Moneydance.
QFXQuicken, which reads Web Connect rather than plain OFX.
QIFOlder desktop tools, MYOB, and Quicken's legacy import path.
IIFQuickBooks Desktop, when a QBO import is not an option.
JSONScripts and internal tools, one object per transaction.

Every export is scoped to whatever your filters left on screen, so one statement can produce a full-year spreadsheet and a single-month QBO without being read twice.

FAQ

Common questions

What is a bank statement converter?

A tool that reads a bank statement PDF and turns the printed transactions into structured data: one row per transaction, with dates, descriptions, and signed amounts in separate fields. The result opens in a spreadsheet or imports into accounting software, neither of which can do anything useful with the PDF itself.

How do I convert a bank statement to Excel or CSV?

Upload the PDF, wait for it to parse and reconcile against the printed balances, review the transactions, then export as Excel or CSV. Both carry one row per transaction, with dates stored as dates and amounts as signed numbers.

Does it work with scanned statements?

Yes. Scanned and photographed statements go through OCR. Where a page comes back unreliable it is reported rather than passed off as a clean read, which is the failure mode worth worrying about with scans.

How accurate is the conversion?

Accuracy claims are only worth as much as their check. Every statement's extracted rows are summed against the opening and closing balances the bank printed, and a statement that does not tie is flagged before you export it. That is a test the statement itself supplies, rather than a number we quote.

Which banks are supported?

Layouts are detected from the statement rather than matched to a list, so there is no supported-banks page to check against. Several banks have their own guide because the path to the PDF inside their online banking differs, not because the conversion does.

Is my bank statement data private?

Statements are processed for your account only and are never used as training data. You can delete a statement, and everything parsed from it, whenever you like.

Is there a free bank statement converter?

New accounts get 50 free page credits without a card, which covers several statements end to end including the exports. A page credit is one statement page read.

Converting a statement from a specific bank?

Where the PDF hides inside each bank's own online banking, and what its layout does differently.

Convert one statement and check it yourself.

Fifty free page credits, no card. Upload a month you already know the totals for, and see whether the rows agree with the balance the bank printed.