Skip to content

Xero manual bank statement import: what it accepts and where it stops

StatementClear6 min read

Xero accepts CSV, OFX, QBO, QFX and QIF statement files. Native PDF import is available for eligible US and Canadian organisations; other regions need conversion or a connected statement tool. It needs a date, a description and either one signed amount or separate debit and credit columns. It verifies no running balance, catches no sign error, and imports a period rather than establishing a feed.

Formats Xero accepts

  • CSV: the general-purpose route, and the one most exports end up as. Requires column mapping on every import unless the file shape is identical each time.
  • OFX: a banking interchange format. Where a bank offers it, it carries the field structure with it and needs no mapping.
  • QIF and QBO: older interchange formats, still offered by some banks and accepted by Xero.

Excel exports need saving to a supported format such as CSV. Native PDF import is available for eligible US and Canadian organisations, so check your region and plan before arranging conversion.

The CSV rules that reject a file

  1. A date column, with the day-first or month-first order declared at import. Getting it wrong posts to wrong dates rather than failing.
  2. A description column. Blank descriptions import, and then reconcile badly.
  3. Either one signed amount column, with money out negative, or separate debit and credit columns. Mixing conventions in one file will not import.
  4. No currency symbols or thousands separators inside the amount cells.
  5. Consistent columns from the first row to the last. A statement that changes shape partway through, which multi-page PDF conversions often produce, fails or imports half a period.

Card statements are the classic sign trap. Most card exports show purchases as positive numbers, because the statement is written from the issuer's point of view. Imported as-is, a month of spending posts as money coming in.

The four limits that matter

The format rules are annoying but learnable. These four are structural, and they are why an import is not a feed.

  1. Duplicate handling that runs after the fact. Xero drops lines it recognises from files you have already imported, and publishes a report for finding the duplicates that reach the ledger anyway. Nothing is said before the import, which is the point at which it would have been useful.
  2. No balance verification. Xero imports what the file contains. If the export was truncated, or a page was lost in conversion, the import succeeds and the account is simply wrong.
  3. It is a period, not a connection. Every month is a fresh export, a fresh reformat and a fresh import, for every account, forever.
  4. No statement-line status. Imported lines behave differently from fed lines in some of Xero's reconciliation tooling, and the account never shows as fed.

When an import is the right tool

Genuinely: a one-off historical catch-up on an account that will have a native feed going forward, or a closed account being brought into the books for the last time. The work is bounded and it will not recur.

It stops being the right tool the moment it repeats. An account with no native feed is not a one-off import; it is the same import every month for as long as the account exists, which is the shape of the problem for foreign bank accounts, corporate cards, FX balances and finance facilities.

The alternative to importing the same account every month

Xero's Bank Feeds API is what native feeds use, and it is open to applications as well as banks. That is the route StatementClear takes: upload the statement in whatever format you can export, PDF and Excel included, and the lines post into Xero as feed lines rather than as an import.

StatementClear reads PDF, CSV and Excel statements and shows a preview before delivery. It checks overlaps against previous uploads to the same StatementClear feed, with balance and sign checks using the available statement data. Send eligible transactions directly to Xero or download a Xero-ready CSV. Direct delivery only supports dates within the last year, and another provider's feed connection can prevent it. Check existing Xero lines yourself before importing an overlapping period.

Stop importing foreign bank account statements. Feed them instead.

StatementClear posts the statements you already export into Xero as live bank feed lines, deduped and balance-checked before anything reaches the ledger.

Frequently asked

Xero offers native PDF statement import for eligible organisations in the US and Canada. Other regions can use CSV, OFX, QBO, QFX or QIF, or a connected tool. Check your organisation's plan and the current Xero PDF requirements before converting.

Not before it imports. Xero drops lines it recognises from a file you already imported, and it publishes a report for finding the duplicates that reach the ledger anyway, which is where the work lands. Nothing is checked at the point you could still do something about it.

Very large files are best split into smaller periods, which also makes a failed import cheaper to diagnose. The practical limit people hit first is the reformatting effort, not the row count.

Read next