Import bank transactions into Xero (CSV, OFX, QFX, QBO)

Xero imports bank and credit card transactions from CSV, OFX, QFX, QBO and QIF files through Import a Statement on a bank account. If your file does not import, or you have a PDF, Excel or MT940 file, convert it to OFX or to a Xero CSV with ProperConvert first, then import the result.

Formats Xero imports

Convert other files first

When you convert to CSV, set the CSV target to Xero. The file then has the columns Xero expects: Date, Amount, Payee, Description, Reference and Check Number.

Import a CSV file into Xero

  1. In Xero, click Accounting, then Bank accounts.
  2. Select the bank or credit card account to import into.
  3. Click Manually import a statement, or click Manage Account and then Import a Statement.
  4. Under Upload a bank file, click Browse, select the CSV file, and click Import.
  5. Map the CSV columns to Xero transaction fields (see below).
  6. Click Next and review the dates and amounts as they will appear in Xero.
  7. Click Save, then OK. The transactions are imported.

Map the CSV columns

A CSV made with the Xero target has column headers that Xero recognizes. Date maps to Date, Amount to Amount, Payee to Payee, and Description to Description on their own.

Two columns are not mapped automatically: Reference and Check Number. Map them yourself:

A CSV downloaded from online banking may have different column names. Map each column by hand, or convert it with the Xero target. See mapping CSV files.

Import an OFX, QFX or QBO file into Xero

  1. Click Accounting, then Bank accounts, and select the account.
  2. Click Manage Account, then Import a Statement.
  3. Under Upload a bank file, click Browse and select the OFX, QFX or QBO file.
  4. Click Import.
  5. Review the imported transactions.

OFX files need no column mapping. They carry the date, amount, payee, memo and check number in fixed fields.

After the import: contacts and accounts

The imported transactions wait in the account's reconcile list.

  1. Match payees to contacts. A bank file may show one vendor under several names, such as "Shell 1", "Shell 2" and "Shell". If you have a contact called Shell in Xero, select that contact for each of these transactions.
  2. Categorize. Select the account for each transaction, such as an expense or income account.

Clear payee names make this faster. ProperConvert extracts the payee from the description and can rename payees to match your Xero contacts before you save the file.

When Xero does not import the file

Xero may skip some or all transactions when the file has an incorrect format or contains errors. Common causes:

Fix the file and import it again.

Xero import settings

Xero imports bank transactions through Accounting, Bank accounts, Import a Statement (also reached as Manage Account, Import a Statement). The file goes into the bank account's reconcile list, where Xero matches each line to invoices, bills and bank rules, or creates a spend or receive money transaction.

Settings that matter:

Xero questions

Should I import OFX or CSV into Xero?

OFX. It carries the payee, description, reference and check number in separate fields and gives Xero a transaction ID for duplicate checks. CSV is fine when the file was written for Xero with the right column names; a bank's own CSV usually needs mapping and cleanup.

Xero says my OFX, QFX or QBO file is invalid. What is wrong?

Most often the file has a header Xero does not read, non-UTF-8 text, dates in a format it does not accept, or a missing transaction ID. Convert the file to plain OFX and import that. Renaming QBO or QFX to .ofx helps only when the content is already clean.

Why did Xero import only some of the transactions?

Xero skips lines whose transaction ID it already has, and for CSV it skips lines it reads as duplicates by date, amount and description. Two genuine identical lines on the same day can be dropped from a CSV. Use OFX with unique IDs for those.

Why are the dates wrong after a CSV import?

The date order was misread. A file with 03/04/2026 can be read as 3 April or 4 March. Set the order on the import screen, or export dates as YYYY-MM-DD, which Xero reads without asking.

How do I undo an import?

Open the bank account, go to the statement lines or Bank Statements tab, select the imported statement and delete it. The lines disappear from reconcile and the file can be imported again.

Can I import older periods into Xero?

Yes. There is no date limit on file imports. Import periods in order and do not overlap them, so the balance in Xero follows the statements.

Does Xero read the opening balance from the file?

No. The statement balance in Xero is computed from the imported lines. Compare it to the printed closing balance after each import. If they differ, a line is missing, doubled, or has the wrong sign.

Bank-specific guides for Xero

Each guide covers one bank's statement layout and the settings that matter when the result goes into Xero.

Bonaire

Canada

CuraƧao

United Kingdom

United States

South Africa

All accounting apps