ZeroParse
HomeHelp

Convert a bank statement for Xero

Xero's manual statement import accepts OFX and recommends it over CSV, because there are no columns to map. ZeroParse turns a PDF statement into an OFX file Xero reads directly.

No AI. No Hallucinations. Just Deterministic Math.

How it works

  1. Upload the statement

    Bank account or credit card, text-based or scanned.

  2. Check it against the statement

    We add up the rows we found and compare them with the opening and closing balance, the column totals, or the running balance your statement prints. You see whether they match before you export, and which figure disagrees if they don't.

  3. Export for Xero

    Choose Export for Xero, then in Xero use Import a statement on the bank account. Xero export is part of the Pro and Firm subscriptions; CSV export is available on every plan.

A seventeen-row transaction table with a Category column: payroll credits read Income, a property direct debit reads Rent, coffee purchases read Meals & Entertainment, metro travel reads Transport, account fees read Bank Fees, and the stationery payment reads Office Expenses.
The editable table you export from: dates normalized, amounts signed, categories applied.

What to know

Tested with a real Xero import

We imported the file into a real Xero organisation. The description fills both Xero's Payee and Description columns, so no row arrives looking blank.

Signs ready for import

Money spent is negative and money received is positive, including on credit card statements that print it the other way round.

Checked before it reaches Xero

Reconciliation against the statement's own totals happens first, so a missing row shows up here instead of in your bank reconciliation.

Common questions

Can I export to Xero?
Yes — the "Export for Xero" button produces an OFX file Xero imports directly with no column mapping, verified with a real import into a Xero organisation. It's a Pro feature, alongside .QBO.
How does ZeroParse handle debit vs. credit on a credit card statement?
We normalize every statement to the same convention QuickBooks and Xero expect: money you spent (a purchase) exports as negative, money you received back (a payment or refund) exports as positive — whether the file is a bank account or a credit card statement. Card issuers often print it the opposite way on the page itself (a purchase shown as a plain positive number, since it increases what you owe); we detect a credit card statement automatically and flip it, so what you export is ready to import rather than something you'd need to invert by hand.
What does the badge on each file mean — "Matches statement totals", "Doesn't match statement", or "Verify against the statement"?
After extraction, we check whether the rows we found add up to what your statement says about itself — its opening and closing balance, its own column totals, or the running balance printed beside each row. "Matches statement totals" means they do, to the cent. The running balance is the most useful of the three when a file has one, because it is checked at every row rather than once at the end, so it can tell you which row something goes wrong at — and it catches a case the totals cannot: a file that is missing transactions whose amounts happen to cancel out. "Doesn't match statement" means they don't, and we show you exactly which figures disagree. "Verify against the statement" means your statement didn't print anything we could check against — no balances, no totals, no running balance — so we're telling you to eyeball it yourself rather than pretending it's fine. It's a common enough outcome that we publish the actual rate across our own test corpus on the benchmark page rather than asking you to take a number on trust. None of this is the same as an accountant reconciling your account against an independent record; it only checks that what we extracted is internally consistent with what your own statement says. Edit an amount or delete a row afterward and we re-run the same check automatically, so the badge always reflects what you're about to export — and because that recheck runs entirely in your browser, fixing a flagged row never sends anything back to our servers or creates a new copy of your data there.

All questions and answers

Try it on your own statement: 50 free PDF credits

No card required. CSV, Excel and OFX files are free on every plan.