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 statement instead. Drop the PDF onto PivotBank and it extracts every transaction (date, description, amount, balance) in a few seconds. The conversion runs entirely in your browser, so a client statement 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: Shape the CSV for Xero
Xero accepts CSV imports with a minimum of a date column and an amount column. A good import file has four columns:
- Date: one transaction per row, in DD/MM/YYYY format for UK organisations
- Amount: a single signed column (money out negative, money in positive)
- Payee: the counterparty, if you can separate it from the description
- Description: the full statement narrative
Step 3: Import into Xero
In Xero, go to Accounting, then Bank accounts, select the account and choose Import a bank statement. Upload the CSV, and Xero will show a column-mapping screen: match Date, Amount and Description to your columns, confirm the date format, and finish the import.
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. PivotBank 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.