Guide3 min read · updated

How to Import a Bank Statement Into Xero (2026 Guide)

Xero can pull transactions automatically through bank feeds, but there are plenty of situations where the feed is not an option: a client sends you PDF statements, the bank is not supported, the feed broke mid-month, or you need history from before the feed was connected. In all of those cases the route into Xero is a manual import, and the format Xero wants is CSV.

This guide walks through the whole process: getting a clean CSV out of a PDF statement, shaping it the way Xero expects, and importing it without duplicates.

Step 1: Convert the PDF statement to CSV

Bank statements almost always arrive as PDFs, and Xero cannot import a PDF. Retyping is slow and error-prone, so convert the PDF statement to CSV instead. Drop the PDF onto PivotBank and it extracts every transaction in a few seconds, as five columns: Date, Description, Debit, Credit and Balance. The conversion runs on your device, so the statement file never leaves your machine, which matters if you handle client data under GDPR.

Check the preview grid before exporting. PivotBank verifies the running balance against every line, so if a page failed to parse you will see it immediately rather than after the import.

Step 2: Skip the mapping screen if you can

Xero takes CSV, and it also takes OFX, which is its native banking format. An OFX file carries the dates, the amounts and the direction already typed, so Xero imports it without asking you anything. If the destination is Xero, OFX is the shorter route and the one where nothing can be mismapped.

CSV is the export Xero reads, so the rest of this is about doing it without the two mistakes that cost an afternoon.

Step 3: Import the CSV into Xero

In Xero, go to Accounting, then Bank accounts, select the account and choose Import a bank statement. Upload the CSV and Xero shows a column-mapping screen.

The export gives you five columns, and money out and money in are separate rather than one signed figure. Xero accepts either shape, so map them as separate columns:

  • Date, to Xero’s Date, and set the format explicitly to DD/MM/YYYY for a UK organisation
  • Description, to Xero’s Description; there is no separate payee column, because a statement narrative does not reliably split into one
  • Debit, to Xero’s Spent, which is money out
  • Credit, to Xero’s Received, which is money in
  • Balance, which Xero does not need and you can leave unmapped

Avoiding duplicates

Xero flags transactions it thinks are duplicates of ones already imported, but its matching is not perfect across formats. The safest pattern is to import whole statement periods and never overlap date ranges.

Common import errors and fixes

Three errors account for nearly every failed Xero import:

  • Dates parsed as US format: a 03/04 transaction lands in March instead of April. Set the date format explicitly on the mapping screen.
  • Amounts with currency symbols or thousands separators: Xero wants plain numbers. A converter that outputs clean numeric columns avoids this entirely.
  • Balance rows and page headers imported as transactions: strip any "Balance brought forward" lines before import. PivotBank excludes them automatically.

Doing this for many clients

If you are an accountant or bookkeeper processing statements for dozens of clients, converting one PDF at a time adds up. Batch mode converts a stack of PDFs in one go and can output OFX, which Xero also imports and which carries bank and account metadata CSV cannot. Pair it with the Pro plan for unlimited conversions during month-end and tax season.

Convert a bank statement now

PDF to Excel or CSV in seconds, without ever uploading the file. Free to start, no sign-up required.

Start Converting