The transactions your Xero feed never delivered.
Expired consent, an outage, a backfill cap, or an account that was never eligible. Same result - transactions that exist only on a statement. StatementClear posts them into Xero as live feed lines, deduped and balance-checked. Not another CSV import.
14 days, no card. Connect Xero and post a real statement before you decide anything.
Lines post through Xero's official Bank Feeds API.
A feed is not the same thing as a complete ledger.
Open banking consent expires every 90 days and has to be renewed on every account. Aggregators go down for weeks. Backfill stops at twelve months. And some accounts - foreign banks, corporate cards, FX balances, lending and invoice-finance platforms - were never eligible for a feed in the first place.
Every one of those ends the same way: a stretch of transactions the feed will never deliver, and a reconnect that runs forward without filling it in. So somebody logs in, exports, reformats, uploads a CSV and hopes the balance matches. Do it across a dozen client orgs and it eats a day you will never get back.
Statement in. Feed out. Three steps.
- Step 1
Connect Xero.
Link the org and pick the account that is missing transactions.
- Step 2
Drop in your statement.
PDF, CSV or Excel. Map the columns once - we remember it next time. We dedupe, check the balance and catch sign errors before anything posts.
- Step 3
It's a feed now.
Clean lines land in Xero, ready to reconcile. Re-upload overlapping statements any time; we skip the duplicates.
Xero's own import is free. Here's where it stops.
Xero will take a CSV, OFX, QBO, QFX or QIF file at no cost, and for a one-off catch-up that is the right tool. It stops being the right tool the moment it repeats.
Duplicate handling that runs after the fact.
Xero drops lines it recognises from a file you already imported, and publishes a report for finding the duplicates that reach the ledger anyway. That report exists because some do, and reading it is your job, not the importer's.
No balance check.
Xero imports whatever the file contains. If the export was truncated or a page was lost in conversion, the import succeeds and the account is quietly wrong.
No PDF, no Excel.
The import takes CSV, OFX, QBO, QFX and QIF only. PDF and Excel are what most banks and platforms actually hand you, so there is a conversion step before you start.
It's a period, not a connection.
Every month is a fresh export, a fresh reformat and a fresh import, on every account, for as long as the account exists.
StatementClear does the same job through the Bank Feeds API instead. Overlaps are deduplicated against what is already in the account, the running balance is checked against the statement before anything posts, and PDF and Excel go in as they are. What Xero's manual import accepts, and the four limits that matter.
Xero can already import a CSV. Here is what that costs you.
For one account, once, the manual import is fine. The problems start when it repeats, and when the period you are importing overlaps something the feed already delivered.
| Compared on | Xero's manual importFree, and right for a one-off | Statement convertersA file, not a feed | StatementClearA feed |
|---|---|---|---|
| Duplicate handling | Runs after the fact. Xero drops lines it recognises from a file you already imported, then ships a report for the ones that get through. | None. A converter has never seen your Xero account, so it cannot know what is already in it. | Runs before anything posts, against everything already in the account, which is what makes re-posting an overlapping period safe. |
| Running balance | Not checked. A truncated export imports cleanly and leaves the account quietly wrong. | Not checked. You still run Xero's import afterwards, with every limit in the first column. | Verified against the statement's own figures before anything reaches the ledger. |
| What you can upload | CSV, OFX, QBO, QFX and QIF. Not the PDF or Excel your bank actually gives you. | PDF in, CSV out. The conversion is the product, and the import is still yours. | PDF, CSV and Excel. Columns mapped once per account and remembered after that. |
| What you end up with | An imported period. Next month is a fresh export, a fresh reformat and the same job again. | A file. Whatever it cost you, you are back at Xero's import screen with it. | A feed. Lines arrive through Xero's official Bank Feeds API, ready to reconcile. |
Almost no one can do this. The Bank Feeds API is partner-only, and we're in.
Built for the people who reconcile.
Bookkeepers and accountants
Consent expires on a rolling 90-day cycle across every client org, and some accounts never had a feed at all. One tool for both, with column mappings saved per client.
Businesses with awkward accounts
A feed that lapsed mid-quarter, a backfill that stopped at twelve months, or an account Xero never covered: foreign banks, cards, FX balances, lending and invoice-finance platforms.
Questions, answered.
Guides to Xero feeds and statement imports
- Revolut bank feed not working in Xero: causes and fixes
- Xero bank feed status: down, late, or never there in the first place
- How to add a bank account to Xero when there is no feed
- Can a third-party app post real bank feed lines into Xero?
- How to reconcile Stripe payouts in Xero without the monthly gap
- How to import Revolut statements into Xero, from CSV and PDF
- Xero manual bank statement import: what it accepts and where it stops
- Wise bank feed not working in Xero: causes and fixes
- Xero bank feed not working: what to check, in order
Get your statements feeding themselves.
Connect Xero, drop in a statement, and watch the lines arrive. If they do not land the way you expect, you have spent nothing and given us no card.
14 days, no card. Connect Xero and post a real statement before you decide anything.