Xero manual statement import
Import bank statements into Xero
Xero imports statement files, not most PDFs. Its PDF import covers selected banks in the US and Canada; everyone else, and every scanned statement, needs a CSV or OFX file. Here is how to make one Xero reads correctly the first time.
- CSV preset with Xero’s own column names
- OFX when you want no mapping step
- Day-first or month-first dates to match your organisation
- Balances checked before the file reaches Xero
Date,Description,Debit,Credit,Balance2026-03-02,ACH DEPOSIT STRIPE PAYOUT,,4210.00,16690.552026-03-03,POS AMAZON MKTPLACE,86.43,,16604.122026-03-05,CHECK #1042,1250.00,,15354.122026-03-08,ZELLE FROM J MORALES,,640.00,15994.12
The short answer
Can you import a PDF bank statement into Xero?
Only in some cases. Xero’s help describes importing a PDF statement directly, but only for selected statement types from a list of supported banks, and its marketing pages present this for the US and Canada. For a UK, Australian or New Zealand organisation, a bank that isn’t on the list, a credit card statement or a scanned paper statement, Xero needs a statement file instead.
The files Xero’s manual import accepts are OFX, QFX, QIF, CSV and QuickBooks (QBO) files, and Xero recommends OFX where possible. CSV is the one you can open and check, and it is where most failed imports come from, almost always because of the date column.
VouchRow converts the PDF statement, digital or scanned, into a CSV laid out with Xero’s own field names (Date, Amount, Payee, Description, Reference, Cheque Number) or into OFX. Every row is checked against the statement’s running balance first, so the lines Xero imports add up to the balance printed on the statement.
Which format to use
The file Xero wants
CSV for Xero
Xero reads dates in your organisation’s locale, not the file’s
Step by step
How to import a PDF bank statement into Xero
This is Xero’s manual statement import, the route Xero itself suggests for periods a bank feed doesn’t cover.
- 1Find the dates Xero is missingOpen the bank account in Xero and note the earliest statement line the feed has brought in. Xero’s import defaults to the date of the last transaction imported into the account, so knowing the boundary up front saves you from overlaps. Download the PDF statements for the missing months.
- 2Convert and check the statementSign in and upload the PDFs. Each statement is read, wrapped descriptions are rejoined, and every row is checked against the running balance, page subtotals and printed totals. Click any flagged row to see the highlighted line on the PDF and correct it.
- 3Export the Xero CSV or OFXChoose the Xero CSV preset and set the date order to match your Xero organisation: day-first for the UK, Australia and New Zealand, month-first for the US. Or export OFX, which states its dates in a fixed format and needs no mapping at all.
- 4Open Import a statement in XeroIn Xero go to Accounting → Bank accounts, find the account, open Manage account and choose Import a statement. Browse to the file and continue.
- 5Check the date format and mappingFor a CSV, Xero asks how the columns map to its statement fields and which date format the file uses. Confirm the date format explicitly. Xero saves these settings and reuses them for the next CSV with the same headers.
- 6Reconcile against the statementOnce the lines are in, reconcile them in the account’s Reconcile tab. Xero calculates the balance from the lines you imported, so a statement that tied out before export should leave Xero agreeing with the bank’s closing balance.
Why it works
What converting first gets you in Xero
Headers Xero recognises
The Xero preset writes Date, Amount, Payee, Description, Reference and Cheque Number with a single signed amount column, so the mapping screen is a confirmation rather than a puzzle.
An explicit date order
Day-first and month-first are chosen at export, once, for the whole statement, so 03/04 can’t mean one thing on row 2 and another on row 40.
Lines that add up
Xero builds the account balance from imported lines. A dropped or doubled row shows up later as a reconciliation difference; here it is caught before export.
Any bank, scanned or digital
Xero’s PDF import is limited to supported banks and statement types. A converted CSV or OFX works for any bank, and scanned statements go through OCR.
Checked before export
A misread digit is caught on its own row
Every conversion is tested against the statement: the running balance on every row, page subtotals, opening plus movement against closing, the printed credit and debit totals, and the transaction count. When a number does not add up, VouchRow names the row and highlights the line it came from on the PDF.
Arithmetic only: it verifies amounts, balances and totals, not descriptions or dates, and two errors that cancel out would pass. The source-line link covers the rest.
How the checks workRunning balance check
- POS AMAZON MKTPLACE−86.4316,604.12
- CHECK #1042−1,250.0015,354.12
- ZELLE FROM J MORALES+640.0015,994.12
Every row agrees with the balance printed beside it.
Formats
File formats Xero accepts for a bank statement import
Xero lists five statement file types for manual import, plus PDF for supported banks. It recommends OFX, and its help notes that an OFX exported by a bank can be imported without changes. CSV is the only one Xero lets you review and adjust before the lines are created.
| Format | Mapping step | Dates | Best for |
|---|---|---|---|
| OFX | None | Fixed format inside the file | The default choice; Xero’s own recommendation |
| CSV | Yes, columns to Xero fields | You pick the format on import | Checking rows before import; precoded imports |
| QIF | None | Short dates, can be ambiguous | Older bank exports |
| QFX / QBO | None | Fixed format | When that is the file you already have |
| None | Read by Xero | Supported banks and statement types only (US, Canada) |
CSV rules
Xero CSV import format: columns, dates and what to remove
Xero needs only two fields to create a statement line, Date and Amount, but Payee, Description and Reference make reconciliation much easier because Xero’s matching and bank rules read them. A file without headings can be imported, though mapping is easier when the columns are named, and Xero offers a downloadable template from the Bank accounts screen.
Xero’s help asks you to remove a few things a bank export often contains:
- Opening and closing balance columns. Xero calculates the balance from the transactions, so a balance column is at best ignored and at worst mapped by mistake.
- The bank account number, if the bank printed it on every row.
- Empty rows, which also count against Xero’s CSV row limit (100,000 rows on its US help page).
- Separate debit and credit columns cause mapping trouble: a single signed Amount column, negative for money out, is what Xero expects. The Xero preset writes it that way.
- Dates must all use the one format you choose in the import step. A file with day-first dates imported as month-first shifts every date on or before the 12th and rejects the rest.
Errors
Why a Xero statement import fails or comes out wrong
Xero’s troubleshooting help groups most CSV failures under one cause: a column mapped to a field whose data doesn’t fit, such as Transaction Date mapped to the Payee column. The other causes are quieter.
- Wrong dates with no error: the date format was saved from an earlier import. Xero reuses the saved mapping for any CSV with the same headers, so change it in the import settings rather than editing the file.
- Amounts on the wrong side: money out was positive, or debits and credits were in two columns and only one was mapped.
- Nothing imported for the period you wanted: Xero’s default start date is the last transaction already imported, so earlier lines can be skipped. Set the date range explicitly.
- Balance doesn’t match the bank: a row was dropped or doubled before the file reached Xero. Reconciling the statement before export is the cheapest place to catch it.
Duplicates
Duplicates, overlaps and undoing an import
Xero checks an uploaded statement against lines already in the account, but its matching works on date and amount, and its own advice for suspected duplicates is the Duplicate Statement Lines report, which lists lines with the same date and amount so you can delete the extras.
The cleanest approach is to never overlap: import only the dates before the bank feed began, or the gap while it was broken. Bank feeds in Xero only bring in cleared transactions, so recent lines can still be on their way through the feed when you import.
Country notes
Xero in the UK, Australia and New Zealand
Xero’s direct PDF import is presented for US and Canadian banks. UK, Australian and New Zealand organisations import statement files, so a PDF from Barclays, HSBC, CommBank, ANZ or a New Zealand bank has to be converted first.
These organisations also use day-first dates. Export the Xero CSV with day-first dates (dd/mm/yyyy), confirm the same format in Xero’s import step, or use OFX and avoid the question entirely. A US organisation should use month-first dates.
Xero bank feeds can bring in up to 12 months of history when first connected. Anything older than that, or from an account closed before you moved to Xero, only exists as statements.
Side by side
Xero’s PDF import vs converting to CSV or OFX
| Xero PDF import | Converted Xero CSV | Converted OFX | |
|---|---|---|---|
| Banks covered | Supported US and Canadian banks | Any bank | Any bank |
| Scanned statements | Not stated by Xero | Yes, via OCR | Yes, via OCR |
| Mapping step | No | Yes, saved after first import | No |
| Date ambiguity | Handled by Xero | Set at export and import | None |
| Checked against running balance | Your own review | Yes, before export | Yes, before export |
| Same rows in Excel for review | No | Yes, same conversion | Yes, same conversion |
Who uses it
When Xero users convert statements
Moving to Xero mid-year
The new bank feed starts today; the year-to-date is in PDF statements. Convert and import the months before the feed’s first line.
UK, AU and NZ practices
No PDF import for local banks, so every historical statement goes through CSV or OFX. A preset that matches Xero’s fields saves the mapping step on every client.
Credit cards and closed accounts
Accounts that never had a feed, or that were closed before the move to Xero, are statement-only.
Feed gaps
A feed that dropped out for a few weeks leaves a hole. Import that period from the statement and reconcile as normal.
FAQ
Xero imports: questions
Can I import a PDF bank statement into Xero?
Only for selected statement types from banks on Xero’s supported list, which Xero presents for the US and Canada. Otherwise Xero needs OFX, QFX, QIF, CSV or QBO, so the PDF has to be converted first.
What CSV format does Xero need for a bank statement?
At minimum a Date and an Amount column, with money out negative. Payee, Description and Reference help matching. Remove balance columns, account numbers and empty rows. Our Xero preset writes Date, Amount, Payee, Description, Reference and Cheque Number.
Why are my dates wrong after importing a CSV into Xero?
The date format chosen in the import step didn’t match the file, often because Xero reused a format saved from an earlier import with the same headers. Change it in the import settings, or import OFX instead.
Does Xero accept QBO files?
Xero’s help lists QuickBooks files among the formats it imports, alongside OFX, QFX, QIF and CSV. The QuickBooks bank ID inside a QBO file means nothing to Xero, so plain OFX is the simpler choice if you are converting anyway.
OFX or CSV for Xero?
OFX if you want no mapping and no date ambiguity; Xero recommends it. CSV if you want to see the rows, adjust them, or use a precoded import.
How do I avoid duplicate statement lines in Xero?
Import only the dates the bank feed doesn’t cover. If duplicates already exist, Xero’s Duplicate Statement Lines report lists lines with the same date and amount so you can remove them.
What is the imported statement balance in Xero?
The balance Xero calculates from the statement lines it holds for the account. If lines are missing or doubled it won’t match your bank, which is why each statement is checked against its running balance before you import it.
How far back can I import into Xero?
Manual import isn’t limited to the feed’s window, which is up to 12 months when first connected. You can import older statements as long as you have them, which is the main reason to convert PDFs.
Keep going
Related guides and converters
Every format we write for Xero
Get your PDF statements into Xero
Upload a statement, check it against its own balances, and export a Xero-ready CSV or OFX in a few minutes.