Convert a PDF bank statement to JSON
For anyone building on top of statement data, JSON is the export to reach for: each statement is an object with a rows array of transactions you can pipe straight into code, a database or an API. Each row is an object with its date, description, amount, direction, running balance and a verified flag, so downstream code can gate on the rows the balance check confirmed. Prefer a bookkeeping-ready file? OFX is available too, and imports into Xero and QuickBooks Online. Convert the first 3 pages free, no sign-up, and download the JSON. A free account converts the whole statement.
Try it now
PDF or images · free preview of the first 3 pages · up to 50 MB
Three steps. Most statements take seconds.
No templates to set up, no mapping rules to configure. What used to be an afternoon of hand-keying becomes structured rows you can trust — and every balance is checked, so you catch a misread before it hits the books.
Upload your PDF
Drag in one bank statement PDF. Any bank, any layout — digital or scanned, single or multi-account.
We extract & check
Our engine reads every date, description, amount and balance, then cross-checks running totals so the numbers actually reconcile.
Export in one click
See every row and balance check instantly — the first 3 pages, no sign-up. Download it as Excel, CSV, JSON or OFX (QuickBooks & Xero) right away; a free account keeps every conversion so you can come back and re-export.
See a real conversion
Open the actual engine output from a synthetic 6-page Northbridge Credit Union statement — 22transactions, every running balance reconciled to the cent. The conversion is real; the account is invented, so no customer’s data is on show. No upload, no account.
Good questions, answered
What is the shape of each row in the JSON?
Each transaction is an object with its index, date, description, amount, direction (credit or debit), running balance and verified flag — plus any extra columns the statement printed, such as a reference or a value date. Transactions are grouped per statement, so a multi-account file keeps each account’s rows together.
Are amounts numbers or strings in the JSON?
Amounts are represented so they parse cleanly downstream — no currency symbols or thousands separators to strip. The direction field tells you whether a row is a credit or a debit, so you don’t have to infer sign from formatting.
Is the reconciliation status available in the JSON?
Yes. Every row carries a verified flag, plus a flagged field and its reason whenever a row wants a second look, so a pipeline can gate on those rather than trusting every row blindly. The running balance is included, and re-derived from the transactions wherever the statement gives an opening figure to run from.
Can I automate this in a pipeline?
You can convert a statement and export JSON — or OFX, for QuickBooks, Xero and most bookkeeping tools — per document today. A programmatic API is on the roadmap; for now these exports give you clean structured data to work with.
Convert a statement — free
Free to try, no card, no sign-up. Most statements come back as a clean spreadsheet in a few seconds — a big multi-month packet takes a little longer.
PDF or images · free preview of the first 3 pages · up to 50 MB