Bank statement to Excel
Convert a statement to a clean XLSX.
Upload a PDF bank statement and download an Excel file with one row per transaction: dates parsed, amounts signed, merchants normalized, and categories already filled in.
50 free page credits · No card · Cancel anytime
- One row per transaction
- Categories included
- Filtered exports
Export transactions
1,284 rowsFormat
| Date | Description | Amount |
|---|---|---|
| 2025-10-24 | STRIPE PAYOUT 4af2c9 | +4,820.00 |
| 2025-10-23 | AWS EMEA SARL | −1,204.00 |
| 2025-10-22 | WHOLE FOODS MKT | −112.88 |
PDF statement you upload
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]
Excel file you download
Copy-paste into Excel loses the structure.
Pasting a statement PDF into a spreadsheet gives you text in a column: dates stored as strings, amounts with currency symbols glued on, multi-line descriptions split across rows, and no way to sort or SUM without an hour of cleanup. What you wanted was a table you can pivot on immediately.
How it works
From PDF to XLSX, screen by screen
- 01
Upload the PDF
Drag in the statement: scanned, multi-page, or password-protected PDFs all work, up to 50 MB.

Three ways in: drop the file here, forward the bank's email to your private import address, or post it to the API. - 02
Confirm the import
Check the file list, decide whether statements carrying warnings should still count in your analytics, and confirm. Nothing is imported until you do.

chase.pdf queued, and the warning types that will still count toward analytics spelled out before anything is read. - 03
Let it parse
Transactions are extracted and the opening and closing balances are reconciled so you know the table is complete.

The activity panel names the stage it is working on and the seconds elapsed, rather than showing an indefinite spinner. - 04
Review and filter
Search narrations, filter by date range, amount, or category, and bulk-fix anything that needs a human eye.

Search and filters narrow the ledger; the selection toolbar acts on what is left, hundreds of rows at a time. - 05
Download the XLSX
Export exactly the rows matching your active filters as an Excel file, ready to pivot.

Excel selected, ten of twenty-four fields on, column order set, and the first five rows previewed.
Why the export is worth more than a raw table
Real column types
Dates are dates and amounts are numbers, so sorting, SUMIF, and pivot tables work the moment the file opens.
Categories already applied
The Category and Subcategory columns arrive filled in, so your first pivot table is spend-by-category rather than a blank slate.
Export what you filtered
The download honours your active search and filters: one client, one quarter, one category, rather than everything every time.
Multiple statements in one sheet
Upload several months or several accounts and export them together, with a Source column identifying where each row came from.
Balance-checked before export
Opening and closing balances are validated against the extracted rows, so a missing page shows up as a flag rather than a wrong total.
CSV and QBO too
The same reviewed data exports as CSV for other tools, or as an OFX/QBO file QuickBooks imports directly.
Columns in the Excel export
| Column | Contents |
|---|---|
| Date | Transaction date as a true Excel date value. |
| Narration | Cleaned description text from the statement. |
| Merchant | Canonical merchant name resolved from the narration. |
| Category | Assigned category, editable before export. |
| Subcategory | Finer-grained classification under the category. |
| Tags | Any custom tags applied by hand or by rule. |
| Amount | Signed numeric value: negative for debits, positive for credits. |
| Source | The statement and account the row was parsed from. |
FAQ
Common questions
How do I convert a bank statement PDF to Excel?
Upload the PDF to BankFlow, let it parse and validate, review or filter the transactions, then click export and choose Excel. The download is an XLSX file with one row per transaction.
Will the amounts be numbers I can SUM?
Yes. Amounts are exported as signed numeric values and dates as real date values, so spreadsheet formulas and pivot tables work without any cleanup pass.
Can I convert several statements into one spreadsheet?
Yes. Upload as many statements as you need, then export together: a Source column records which statement and account each row came from.
Does it work with scanned statements?
Yes. Scanned PDFs are supported, as are multi-page and password-protected files, up to 50 MB.
Is the conversion free?
New accounts get 50 free page credits with no card required, which covers several statements end to end including the Excel export.
What if a row is wrong?
Fix it before exporting. The ledger supports inline edits, shift-click range selection, and bulk recategorization, and manual corrections are protected from later automated changes.
Converting a statement from a specific bank?
Written up for the format each of these banks prints.
Keep exploring
Bank Statement → CSV
Export filtered rows as CSV for any downstream tool.
Bank Statement → OFX
Plain OFX for Xero, GnuCash, and Moneydance.
PDF → QBO
One-click QBO conversion for QuickBooks Desktop and Online.
Live example
A real Bank of America statement read into transactions you can trace back to the page.
Bank Statement → QuickBooks
Categorize first, then export an OFX/QBO QuickBooks imports.
Get the spreadsheet you actually wanted.
Upload a statement, review the rows, and download a pivot-ready Excel file in a couple of minutes.