Skip to the converter
Bank statement converter for bookkeepers

Convert bank statement PDFs to CSV for QuickBooks, Xero, or Excel - in your browser, never uploaded.

For the catch-up job: a client’s folder of last year’s statements, turned into import-ready files. Every export has to tie out to the statement’s own opening and closing balances, or the rows that do not are flagged - so you review the few that break, not the whole statement.

sample-statement.pdf · sample preview Network: 0 requests

Drop bank statement PDFs here

or

No signup, no card. Read and reconciled in this browser tab - nothing is uploaded.

Meridian National Bank
Checking sample · March 1-31, 2025
Verified row-by-row
Preview of the bundled sample statement, reconciled row by row against its printed running balance. Use the try-a-sample button to run it live.
DateDescriptionAmountBalanceTie
03/01Opening balance4,812.50
03/01Transfer from savings+636.595,449.09
03/05ATM withdrawal · 7th Ave−1,337.114,111.98
03/05Branch deposit 0032+988.445,100.42
03/13Payroll deposit · ACH credit+1,618.946,719.36
opening 4,812.50+ credits 28,700.09− debits 2,867.47= closing 30,645.12ties out
Export asQuickBooks Online CSVXero CSVExcel CSVEach file is stamped with the state it earned.
Can you trust the numbers?

Five states, stamped on every export.

Your name goes on the client’s books, so a wrong number cannot land silently. Each account on the statement earns one honest label, stamped on the file it produces - never mistaken for verified when it was not. The check is arithmetic, not a guess: the same PDF gives the same rows and the same stamp every time.

Verified row-by-row

The strongest check. Every running balance is rebuilt from the row above it.

Each line adds up to the balance the bank printed next to it. When the whole chain ties out, you review zero rows - the file is import-ready.

MATCH 5,100.42 + 1,618.94 = 6,719.36
8 of 8 rows tie to the printed running balance.
Verified at statement level

Totals agree.

Opening plus credits minus debits equals closing. Per-row balances were not printed, so the totals are the anchor.

MATCH opening + credits − debits = closing
Partially verified

Some lines checked.

Daily ending balances tie out, but not every single row could be checked on its own.

PER DAY Mar 15 ending 8,851.55
Unverifiable - no balance data on statement

No balances printed.

This statement prints no balances, so the math cannot be checked. Export is allowed and stamped honestly.

NO ANCHOR no printed balance to check
Reconciliation failed - 3 rows do not tie out

Rows flagged to fix.

The math does not add up. The exact rows that break the chain are highlighted - you fix the few that do not tie, not all 300. A missing page shows up the same way: the chain breaks where the gap is. Fixed rows re-enter the gate before export.

MISMATCH 3,110.00 + 240.00 = 3,350.00 ≠ 3,349.00
Will the file just import?

Built to drop straight into the books.

The export matches what QBO, Xero, and Excel expect, so it imports without hand-editing. The work happens on your machine, with no account in the way.

The exact QuickBooks Online and Xero CSV headers.

QBO takes a single signed amount by default, so there is no column-mapping wizard to fight. Xero takes date, amount and payee. Currency symbols and commas are stripped, dates formatted per target.

QuickBooks OnlineDate, Description, Amount
XeroDate, Amount, Payee, Reference

Big files split themselves.

Anything over the QuickBooks 350 KB / ~1,000-row cap is split into date-ranged files that still import cleanly.

Overlapping statements de-duplicate.

Drop months that overlap and a transaction is kept once, not counted twice.

Works offline once loaded.

After the page loads you can turn off the network and keep converting. The browser is the whole tool.

No signup, no card.

Drop a PDF and it converts. You reach payment only when you choose to go unlimited - nothing for IT to approve.

Signs read from the balance, not guessed.

Banks disagree on how they print debits and credits. The running balance settles it - the direction of each amount is taken from the math, not a per-bank template.

SIGN amount = balance − previous balance
Is it safe?

Open your Network tab and watch nothing leave.

The strongest privacy claim is one you can check yourself. You do not have to trust a badge - you can watch the request list stay empty through the whole convert and export flow. Nothing is uploaded, so there is nothing new for your WISP (IRS Pub 4557) to document.

  1. 1Open your browser’s developer tools and pick the Network tab.
  2. 2Drop a statement and export it, the same as any real conversion.
  3. 3The request list stays empty. The file was read and reconciled in the tab.
See exactly how to verify us
NetworkRecording · convert + export
NameStatusTypeSize
0 requestsNo document data left this device. Only anonymous page counts, which you can block.
parsed 8 rows locally
reconciled: verified row-by-row
exported quickbooks-online.csv from memory
What does it cost?

Start free. Go unlimited when it pays for itself.

Re-keying one statement by hand runs twenty to forty minutes. At your billable rate, the first statement you convert pays for the month. The reconciliation gate is included on every tier, free included.

Free

$0no signup, no card

For the occasional statement.

  • 20 statement pages per month
  • Full reconciliation gate included
  • All export formats
Convert a statement
Most bookkeepers

Pro

$19per month

About twenty minutes of billable time.

  • Unlimited pages
  • Batch conversion
  • Priority email support
  • Cancel in one click
Start Pro

No card needed to try the free tier first.

Pro annual

$149per year (about 4 months free)

For the year-round practice.

  • Everything in Pro
  • One invoice per year
Buy annual
No card to tryThe free tier runs with no signup. Add payment only when you decide to.
Cancel in one clickStop from the same button. No email, no retention menu, no waiting.
No surprise renewalsYou are told before a renewal, not after a charge shows up.
Unused months refundedCancel an annual plan partway and the unused time comes back.
The rest of it

The things bookkeepers ask first.

Will I still have to check every row myself?
You review the rows that do not tie out, not all of them. When the running balance ties across the whole statement, the export is stamped verified and you import it. On a clean statement that is zero rows to review; on a broken one you fix the 3 that do not tie, not all 300.
Is it safe to put client statements through this?
The PDF is read in this browser tab and is never uploaded, so there is no copy on a server for anyone to reach. Your WISP has nothing new to document - no subprocessor to list, no new place the file travels to. If you want to be sure, watch the Network tab stay empty.
What actually leaves my browser?
The statement never does. The only thing sent is a small counts-only usage beacon after an export - an event and a page-count number, no document text and no identifiers. You can block it and the converter keeps working.
Which formats can I export?
QuickBooks Online CSV (a single signed amount column by default, with a four-column option), Xero CSV, and a generic CSV. Headers match each target’s spec, currency symbols and commas are stripped, and files over the QuickBooks size cap are split into date-ranged parts.
What if my statement will not reconcile?
You still get the file. It carries a discrepancy stamp and the exact rows that disagree are highlighted, so you can correct them in the review grid on screen. Fixed rows re-enter the gate before export. Nothing is hidden and nothing is silently dropped.
My bank feed already imports transactions.
Feeds cover roughly the last ninety days. They cannot reach last year’s statements, an account that was closed in March, or a feed that broke mid-period. That gap is the catch-up and cleanup work this handles.
Does it handle scanned or photographed statements?
The in-browser reader is built for born-digital PDFs, which is the common case for downloaded statements. A scanned image with no text layer may not read locally. When that happens the converter tells you plainly rather than guessing.
How is my money handled if I upgrade?
Checkout and billing run through Polar as the merchant of record. There is no card kept on file you cannot remove, cancellation is one click, and unused paid months are refunded. The free tier keeps working next month with no card on file.