Drop in a statement and get clean rows, with every transaction checked against the running balance. Nothing leaves your browser.
A PDF downloaded from online banking. Scans and photos have no text layer and can't be read yet.
Nothing is uploaded. Your statement never leaves this device. Up to 50 MB.
Values are editable. Click any cell to correct it before downloading. Rows that don't reconcile against the running balance are highlighted.
There is no standard for statement layouts. Rather than keep a template per bank, which breaks the moment a bank redesigns, the structure is worked out from the document itself.
MM/DD/YYYY, DD/MM/YYYY, ISO, "Mar 04, 2026", "13-Jul-26", and MM/DD with no year, where the year comes from the statement period.
Leading minus, parentheses, trailing minus, DR and CR markers, or an unmarked number whose direction comes from its column.
A single signed amount column, or separate withdrawals and deposits. Check-number columns are recognized and not mistaken for money.
1,234.56 and 1.234,56 are both read correctly, so a European statement does not turn into a rounding disaster.
Drop in a PDF downloaded from online banking. It is read on your device. A bank statement never needs to be uploaded to anyone.
Every row is checked against the running balance. Rows that do not add up are highlighted so you look at those, not all of them.
Any cell can be edited in place. Download a CSV that opens straight into Excel, Sheets or your bookkeeping software.
Most converters hand you a spreadsheet and leave you to trust it. If a statement has a running balance, the arithmetic to verify every row is printed right there on the page.
Each amount must equal the difference between consecutive balances. Arithmetic the bank already did. It catches misread digits, dropped rows and phantom rows in one pass.
Where the balance shows a debit was read as a credit, the sign is corrected automatically and you are told how many were changed.
Daily ending balance lines sit inside the transaction table and look exactly like transactions. Counted as one, they add a phantom row worth your whole balance.
Where a statement pads columns instead of aligning them, amounts are read by position and verified against the balance, and the page tells you that is what happened.
No, and this matters more here than almost anywhere. A statement is a near-complete profile of a person. Where they work, shop, live and travel. It is read inside your browser and never transmitted. Load the page, go offline, and convert one anyway to prove it.
All of them, in the sense that it does not work from a per-bank list. Layout is inferred from the document, so a bank redesigning its statement does not break anything. Where a statement has a running balance, the output is verified against it rather than assumed correct.
It means that row's amount does not match the change in balance. Usually the row was misread; occasionally the statement itself has an oddity like a mid-period adjustment. Either way, check that row against the PDF before relying on it. One genuine break normally flags two rows. The broken one and the next.
Not yet. Scans have no text layer and need OCR. Statements downloaded directly from online banking are text-based and work.
Yes. The export is plain CSV. Format the date column as a date after opening, and add an account column before combining statements from more than one account.