VouchRow

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
statement.pdf statement.csv
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
Balanced · every row checked before this CSV file was written

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

Start here

CSV for Xero

Xero’s statement import maps CSV columns to its own fields on screen, so you can see what it understood before committing. Our Xero preset is already in that shape.
What bites people

Xero reads dates in your organisation’s locale, not the file’s

A CSV date column carries no indication of whether 03/04 means 3 April or 4 March, and Xero resolves it using the region set on the organisation. The same file therefore imports correctly for one Xero account and silently shifts every transaction by months for another — no error, just wrong dates. Anything after the 12th of the month is caught as invalid; anything before it is not. Set the date format explicitly in Xero’s import step rather than trusting the default, or use OFX, which states its dates unambiguously.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 work

Running balance check

RowAmountBalance
  • 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.

FormatMapping stepDatesBest for
OFXNoneFixed format inside the fileThe default choice; Xero’s own recommendation
CSVYes, columns to Xero fieldsYou pick the format on importChecking rows before import; precoded imports
QIFNoneShort dates, can be ambiguousOlder bank exports
QFX / QBONoneFixed formatWhen that is the file you already have
PDFNoneRead by XeroSupported banks and statement types only (US, Canada)
Xero manual import formats

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 importConverted Xero CSVConverted OFX
Banks coveredSupported US and Canadian banksAny bankAny bank
Scanned statementsNot stated by XeroYes, via OCRYes, via OCR
Mapping stepNoYes, saved after first importNo
Date ambiguityHandled by XeroSet at export and importNone
Checked against running balanceYour own reviewYes, before exportYes, before export
Same rows in Excel for reviewNoYes, same conversionYes, same conversion

Who uses it

When Xero users convert statements

01

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.

02

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.

03

Credit cards and closed accounts

Accounts that never had a feed, or that were closed before the move to Xero, are statement-only.

04

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.

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.