If you work in Xero, the gap you keep hitting isn't the reconciliation screen — it's getting older or unsupported transactions into Xero in the first place. Export Bank Statement turns any bank's PDF statement or scanned page into a clean, Xero-ready CSV, then checks every line against the running balance before you import it. It is a convert-then-import tool, not a live Xero bank feed: you produce a file, you upload it through Xero's own Import a Statement screen, and you reconcile as usual.
That distinction matters. Bank feeds are brilliant for the day-to-day, but they don't help when the transactions you need sit outside their reach. This page is about where a converter fits a Xero workflow, and where it honestly doesn't.
Who this is for
This is for Xero users who occasionally — or regularly — need transactions that the bank feed won't give them. In practice that's three groups:
- Bookkeepers doing catch-up or clean-up work, where a client has months or years of statements that pre-date the feed.
- Accountants taking on a new Xero file and needing historical data imported before year-end or before a feed even exists.
- Business owners and sole traders on a Xero plan whose bank, card, or account type simply isn't covered by a direct feed.
If your bank feed is connected and current, you don't need this for everyday work — Xero's feed already does that job. You reach for a converter for the bits the feed leaves behind.
The workflow at a glance
The point of a converter is to fit into Xero's existing import path rather than replace it. The flow is short:
- Upload your bank's PDF statement or a scan into Export Bank Statement.
- Let it extract the transactions and run the reconciliation check against the running balance.
- Export a Xero-ready CSV (date, description, amount columns laid out for Xero's importer).
- In Xero, go to your bank account and choose Import a Statement, then upload the CSV.
- Reconcile the imported lines as you normally would.
Nothing about this changes how Xero works downstream. Once the statement lines are in Xero, you match, code, and reconcile exactly as you do with fed transactions.
Why this is useful for Xero users specifically
Xero's bank feeds are the default way data arrives, and for live accounts they're hard to beat. But feeds have edges, and those edges are precisely where a converter earns its place.
Feeds only reach back so far
Direct and Yodlee-style bank feeds typically only pull a limited window of recent history — often around the last 90 days when a feed is first connected. If you're starting a Xero file mid-year, or picking up a client whose books are months behind, the transactions you most need are the ones the feed will never backfill. Converting the older statements gives you those months without re-keying them by hand.
Some banks and accounts aren't supported by feeds
Not every bank, region, card product, or account type has a working Xero feed. Savings accounts, certain business cards, smaller or overseas banks, and merchant or loan accounts can all fall outside feed coverage. Where there's no feed at all, a PDF statement plus a converter is often the only realistic route into Xero short of manual entry.
Historical, catch-up, and one-off jobs
Year-end catch-up, migrating from another system, a one-off account that only matters for a single period, or simply a feed that dropped and left a gap — these are all jobs where you have the statements in hand and just need them in Xero cleanly. A converter is built for exactly that: a defined batch of statements turned into importable files, then you're done.
The reconciliation check
Here's where this differs from a plain extractor. Most converters just read the numbers off the page and hand you a spreadsheet — and if the OCR misreads a figure or drops a line, you won't know until Xero's reconciliation refuses to balance.
Export Bank Statement runs a reconciliation check: it ties each extracted transaction back to the statement's running balance, so the credits and debits add up to the closing figure the bank printed. When a statement doesn't reconcile, it's flagged rather than quietly exported. The aim is that the CSV you import into Xero already balances against the source document, so you spend your time matching transactions, not hunting a phantom rounding error across a few hundred lines.
This is a verification step on the conversion, not a replacement for reconciling in Xero. You still reconcile in Xero — the check just means the data you bring in is internally consistent before you start.
Privacy
Statements are sensitive documents, so the handling is deliberately minimal. Files are deleted after processing, and your data is never used to train AI. The tool's job is to convert and verify, then get out of the way — not to retain your clients' banking history.
It's convert-to-import, not a live feed
To be completely clear: this is not a live Xero bank feed and it does not use a banking API to stream transactions into Xero. It does not connect to your bank, and it isn't a Xero-approved feed provider. It produces a CSV that you import through Xero's standard Import a Statement function.
It's also a self-serve tool, not a bookkeeping service. It won't code your transactions, set up bank rules, or do the reconciliation for you — those stay your job inside Xero. What it does is remove the worst part of bringing in off-feed data: turning a PDF or scan into a clean, checked, importable file.
Steps to convert a statement for Xero
- Open Export Bank Statement and upload the PDF or scanned statement.
- Review the extracted transactions and confirm the reconciliation check passed.
- Download the CSV formatted for Xero's statement import.
- In Xero, open the bank account and select Import a Statement.
- Map any columns Xero asks about, import, and reconcile.
Frequently asked questions
Is this a Xero bank feed?keyboard_arrow_down
No. It's a converter that creates a CSV you import yourself through Xero's Import a Statement screen. There's no live connection to your bank and no banking API streaming data into Xero.
Will it work with my bank if Xero doesn't have a feed for it?keyboard_arrow_down
That's one of the main reasons to use it. Because you start from the bank's own PDF or a scan, the bank doesn't need a Xero feed at all — you convert the statement and import the resulting CSV.
Can it bring in transactions older than 90 days?keyboard_arrow_down
Yes. Feeds are limited to a recent window, but a converter works from whatever statements you have, so you can import history going back as far as your documents do.
What format does the export use for Xero?keyboard_arrow_down
It exports a CSV with the date, description, and amount columns laid out for Xero's bank statement importer, so it slots into the Import a Statement flow. For a deeper look at the layout, see our guide on the Xero CSV import format.
Does it reconcile my account for me?keyboard_arrow_down
No. It checks that the converted statement balances against its own running balance before export. The actual reconciliation — matching, coding, and confirming — still happens in Xero.
Is it free?keyboard_arrow_down
It's free to start. You can convert and try the workflow without paying upfront.
What happens to my statement files?keyboard_arrow_down
Files are deleted after processing and are never used to train AI.
What if I have an OFX file, or need to create one?keyboard_arrow_down
Export Bank Statement converts PDF statements; it doesn't read OFX files as input. If you've been handed an OFX and want a spreadsheet, see OFX to Excel. If you need to produce an OFX to import elsewhere, see CSV to OFX — and note that converting your original PDF here exports OFX directly.
Try it on your own statement
Clean Excel/CSV, with every transaction checked to balance.
