How to Import a Bank Statement PDF into Xero
Xero's CSV import format, how to convert a statement PDF to match it, and the reconciliation checks to run before you import.
Xero has excellent bank feeds, but you'll still hit situations that need a manual import: historical data from before you started using Xero, a feed that broke for a month, or an account with no feed available at all.
Xero's CSV requirements
Xero is stricter than QuickBooks about structure. Your CSV needs a header row, and the required columns are:
- Date — in a consistent format you'll specify during import
- Amount — a single signed column, or separate debit and credit columns
- Description (or Payee) — what appeared on the statement
- Reference — optional but useful for matching
The Xero CSV converter writes exactly that shape from a PDF: Date, Amount, Payee, Description and Reference, with money out negative and every date written dd/mm/yyyy. Xero also imports OFX, QFX, QBO and QIF, and those need no column mapping at all.
Step by step
- Convert the statement to Xero CSV Use the converter below. The file already has Xero's columns, with money out negative.
- Confirm the balance reconciles first Check the verification result before importing. Fixing a bad import in Xero is far more work than not making it.
- In Xero, go to Accounting → Bank accounts → Manage account → Import a statement Upload the CSV.
- Map your columns Xero asks you to match your headers to its fields and to specify the date format. The headers already carry Xero's names; choose dd/mm/yyyy for the dates.
- Import and reconcile Transactions land in the reconciliation queue for matching against invoices and bills.
Getting the statement balance right
Xero tracks a statement balance separately from your ledger balance, and this is where imported data most often causes confusion. If your import is missing transactions, the statement balance won't match what the bank says, and you'll spend a long time hunting for the difference.
This is precisely why it's worth confirming the conversion reconciles before importing. A converted file that ties out against the bank's printed closing balance will produce a Xero statement balance that also ties out.
Common Xero import errors
| Error | Cause |
|---|---|
| "Date is invalid" | The date format selected during import does not match the file |
| "Amount is not a number" | Currency symbols or thousands separators left in the column |
| Nothing imports | Xero rejects the whole file on any error — fix and retry |
| Statement balance does not match | Rows missing, or the wrong period imported |
| Duplicate transactions | Overlapping with a period the bank feed already covered |
Why Xero rejects the whole file
It is frustrating in the moment and correct in principle. A partially imported month leaves you unsure which rows made it, and reconciling that is worse than fixing the file and re-importing.
Frequently asked questions
Can I import into an account that already has a feed?
Yes, but only for periods the feed doesn't cover, or you'll create duplicates.
What date format does Xero want?
You choose during import. The Xero CSV from this site writes every date as dd/mm/yyyy, so choose that.
Related posts
- How to Import a Bank Statement PDF into QuickBooks
- How to Import a Bank Statement into Tally
- The Bank Statement Date Format Problem (DD/MM vs MM/DD)
Convert a statement now
Bank Statement PDF to CSV for Xero, or see every format. More in the guides.