Guide

How to Import a Bank Statement CSV into Xero

Xero's live bank feeds don't cover every bank, and even when they do, feeds only pick up new transactions going forward — not the last six months you need for reconciliation or a loan application. Importing a CSV statement manually fills that gap. Here's the column format Xero actually expects and the region-specific detail that causes most failed imports.

Step 1: Start from a clean CSV, not a PDF

Xero's statement import only accepts CSV (or QIF/OFX) files — not PDF statements. If your bank only gives you a PDF, convert it to CSV first. Digital statements are parsed directly in your browser; StatementSheet also runs a balance reconciliation as it goes, so you know the row-by-row running balance actually ties out before you hand the file to Xero.

Step 2: Match Xero's column format

Xero only strictly needs two columns to create statement lines — Date and Amount — but importing Payee, Description and Reference as well makes reconciliation much faster because Xero can suggest matches automatically. The full recommended layout is:

Xero also requires the file to be saved as UTF-8 encoded CSV. If your statement has non-ASCII characters (currency symbols, accented merchant names) and you edited the file in an older version of Excel, re-save it explicitly as "CSV UTF-8" from the Save As dialog, or the import can silently mangle those characters.

Step 3: Import it in Xero

  1. Go to Accounting → Bank accounts.
  2. Find the bank account you're importing into, open its options menu (the or arrow icon on the account card), and choose Import a Statement.
  3. Drag your CSV into the upload panel, or click to browse for it, then select Next.
  4. If Xero can't automatically detect your columns, you'll be prompted to map each column in your file (Date, Amount, Payee, Description, Reference) to the matching Xero field.
  5. Confirm the date format shown matches your file — this is the step where a US-formatted file gets misread by a UK-region Xero org, or vice versa.
  6. Review the preview of parsed transactions, then complete the import. The statement lines appear in Reconcile, ready to match against existing bills, invoices or spend money transactions.

Why imports fail (and how to fix them)

After the import: reconcile, then set up bank rules

Once your statement lines are sitting in Reconcile, Xero will suggest matches against existing invoices, bills and spend-money transactions automatically wherever the amount and date are close enough. For recurring items that never have a matching bill — a monthly software subscription, bank fees, or owner drawings — create a Bank rule (from the account's options menu) once, and every future statement line from that payee gets coded to the right account and, optionally, split by percentage across cost categories or tracking categories automatically.

If you're importing more than one bank account or several months at once, do it one account and one date range at a time. It keeps the column-mapping screen simpler, and if the account's statement balance doesn't match your real bank balance afterward, you'll know immediately which import caused it instead of having to comb through a combined file.

Convert your statement first

Turn a PDF bank or credit-card statement from any major US, UK, Canadian or Australian bank into a clean, Xero-ready CSV in seconds — parsed entirely in your browser and reconciled against the running balance before you export.

See all supported banks → · Convert a statement now →