You’re trying to get historical transactions into Xero, you open your bank statement PDF, hit import — and Xero won’t take it. That’s expected: Xero does not import PDF bank statements. It only accepts structured files. The fix is to convert your statement to a Xero-ready CSV (or OFX), with the right columns and — critically — the right date format. Here’s how to do it so the import works on the first try.
Why Xero rejects your PDF
Xero imports bank transactions from CSV, OFX, QFX, QIF, or QuickBooks (.qbo) files — but not PDF. A PDF is a page layout, not data: Xero can’t reliably pull dates and amounts out of it. So a PDF statement has to be converted first.
Most of the time you won’t import anything — Xero’s bank feeds pull transactions automatically. You need a manual import in specific situations that come up constantly, especially during client onboarding:
- Historical data before the feed started. Feeds only pull forward from the connection date (the initial historical pull is commonly up to ~12 months). Older prior-year data must be imported manually.
- Bank not supported by a Xero feed — many regional banks and credit unions.
- Closed accounts, which can’t have a live feed at all.
- Gaps where statement lines dated before the feed began are missing.
In each case your source is the PDF statement, and it needs converting.
Convert a bank statement for Xero: step by step
Step 1 — Download the statement PDF from your bank
Log in to your online banking, open the statements section, choose the account and period, and download the PDF. If your bank also offers a direct CSV/OFX export that covers the period you need, use it — but for older history or banks that only provide PDFs, conversion is the route.
Step 2 — Convert the PDF to a Xero-ready CSV
Upload the statement to BankStatementLab. It rebuilds a clean table — one row per transaction — and exports CSV or OFX. OFX is the smoothest option for Xero because it imports with no column mapping; CSV gives you a file you can inspect and tweak before importing.
For a Xero CSV, you need at minimum:
- a Date column,
- an Amount column (a single signed amount, positive = money in, negative = money out) or separate Debit/Credit columns, and
- a Payee/Description.
Xero also recognizes optional Reference and Cheque Number fields.
Step 3 — Get the date format right (this is the #1 cause of failed imports)
Xero reads dates according to your organisation’s region:
- UK, Australia, New Zealand → DD/MM/YYYY
- US → MM/DD/YYYY
A US-formatted file uploaded to a UK or AU organisation gets misread or rejected — 03/04/2026 becomes March 4 instead of 4 April. Since Xero is strongest in the UK, Australia and New Zealand, this trap catches most users. The safest, unambiguous option is ISO format, YYYY-MM-DD. Make sure every row uses one consistent format.
Step 4 — Import into Xero and review
In Xero: Accounting → Bank accounts → [your account] → Manage account → Import a statement. Upload the file, map the columns (skip this for OFX), and import. Then confirm the transaction count matches the statement and the closing balance lines up before you start reconciling.
Xero import format cheat sheet
| Requirement | What Xero expects |
|---|---|
| File formats | CSV, OFX, QFX, QIF, QBO — never PDF |
| Required columns (CSV) | Date, Amount (or Debit/Credit), Payee/Description |
| Amount convention | Single signed column or separate positive Debit/Credit |
| Date format | Match your org region: DD/MM/YYYY (UK/AU/NZ) or MM/DD/YYYY (US); ISO YYYY-MM-DD is safest |
| Delimiter | Comma for English locales (period as decimal) |
| Header row | Required — you map columns on import |
Some guides mention a recommended ceiling of around 500 lines per CSV import and UTF-8 encoding. These aren’t published as hard limits by Xero, but splitting very large statements and saving as UTF-8 avoids surprises.
What this saves you
Manually typing a prior year of transactions into Xero is slow and error-prone, and a single wrong date format means re-doing the whole import. Converting each statement produces a Xero-ready file in about two minutes, with consistent dates and clean payees — so the import succeeds the first time and reconciliation goes quickly.
Try it on your own statement — 5 credits included to start, nothing to install.
Frequently asked questions
Can Xero import a PDF bank statement?
No. Xero imports CSV, OFX, QFX, QIF and QBO files only. A PDF statement must be converted to one of those formats first.
What’s the best format to import into Xero?
OFX is the smoothest because it imports with no column mapping. CSV is the most flexible — easy to inspect and correct — as long as the columns and date format are right.
Why does my Xero CSV import keep failing?
The most common cause is a date format mismatch — a US-style MM/DD/YYYY file in a UK/AU/NZ organisation (or vice versa). Match the format to your org’s region, or use ISO YYYY-MM-DD, and keep it consistent on every row.
Do I need separate debit and credit columns?
No. Xero accepts either a single Amount column with signed values (negatives for money out) or separate Debit and Credit columns with positive values. Pick whichever your converted file produces and map it on import.
When do I need to import manually instead of using a bank feed?
For historical data before the feed started, banks Xero doesn’t support with a feed, closed accounts, or missing lines that predate the connection. In all of these, you convert the PDF and import it.
Conclusion
Xero won’t read a PDF — but the workaround is quick: download the statement → convert it to a Xero-ready CSV or OFX → fix the date format to match your org → import and review. Nail the date format and the columns, and the import works the first time, with no manual data entry.
Convert your first statement for Xero in about two minutes.
Related articles
Ready to Automate your CSV exports?
Create structured CSV files compatible with all your accounting tools.