← All guides

How to Import a Bank Statement into Xero (CSV, OFX, and QIF)

October 29, 2026 7 min read
Share X LinkedIn

Xero's automatic bank feeds are convenient, but they have real gaps: feeds typically only pull 90 days of history when first connected, some banks are unsupported, and feeds occasionally drop transactions. A manual statement import is the reliable fallback — and the only way to backfill older periods. Xero accepts CSV, OFX, and QIF files; this guide focuses on CSV because it is the format you can create from any statement.

Step 1: Turn the statement PDF into a CSV

Xero cannot read PDF statements, so convert first. Convert your statement PDF to CSV — the output has one row per transaction with Date, Description, and Amount columns, which maps cleanly onto Xero's import screen.

Step 2: Check the file against Xero's rules

Xero is stricter than QuickBooks about CSV structure:

  • One amount column — Xero accepts either a single signed Amount column or separate Debit/Credit columns. A single signed column is less error-prone.
  • Date format must be consistent — pick one format (e.g. DD/MM/YYYY or MM/DD/YYYY) and tell Xero which one you used on the import screen. Mixed formats in one file will fail.
  • No summary rows — remove opening/closing balance rows and page headers. The converter output is already clean, which is one less thing to fix.
  • Encoding — save as UTF-8 CSV if descriptions contain currency symbols or accented characters.

Step 3: Import into Xero

  • Go to Accounting → Bank accounts and open the account.
  • Click Manage Account → Import a Statement.
  • Upload the CSV, then map columns: Date, Amount (or Debit/Credit), Payee, Description, Reference.
  • Set the date format to match the file, then review the imported transactions on the reconciliation screen.

OFX and QIF: when to use them instead

OFX and QIF are bank-native formats that carry transaction IDs, which helps Xero detect duplicates on repeat imports. If your bank offers an OFX/QIF download, use it. Most banks only offer PDF and CSV, though — which is why the PDF-to-CSV route ends up being the universal one.

Import not balancing? Check for a statement period that overlaps a previous import — Xero will happily create duplicates if the same transaction arrives without an ID. Delete the overlapping rows from the CSV and re-import.

Once imported, Xero's reconciliation screen matches statement lines against your invoices, bills, and bank rules. The cleaner the CSV, the more matches Xero suggests automatically — start with a clean conversion and the rest of the workflow takes care of itself. Questions about formats and limits are covered in the FAQ.

Convert a statement from this guide

Try it on your own statement

Free — 3 conversions a day, no signup required.

Convert a statement