How to Import a PDF Bank Statement Into Xero

On this page
  1. Which file formats does Xero accept?
  2. What you need before importing
  3. The CSV columns Xero expects
  4. How to import a PDF bank statement into Xero
  5. Converting a PDF statement first
  6. Fixing Xero import errors
  7. Xero import questions

To import a PDF bank statement into Xero, convert the PDF to a CSV or OFX file, then go to Accounting, Bank accounts, open the account's menu and choose Import a Statement. Xero also reads some PDFs directly, but only from banks it supports.

Quick answer: Xero imports OFX, QFX, QuickBooks, QIF, PDF and CSV files, and recommends OFX. A CSV needs at least a date and an amount, with money in positive and money out negative in one column. Delete balance columns and empty rows before you upload.

Which file formats does Xero accept?

Xero accepts OFX, QFX or QuickBooks files, QIF, PDF and CSV for manual bank statement imports. That list comes from Xero's help article About manually importing bank transactions, which also recommends OFX where possible because Xero can import it without any changes to the file.

The PDF option has limits. Xero's error guide says that if your bank isn't supported for PDF imports, the import may contain errors, and it recommends using a different file type. Xero can also flag a balance difference when a PDF has missing or extra transactions. If your bank only gives you PDFs, converting them to CSV or OFX yourself gives you a file you can check line by line first.

FormatWhen to use itNotes
OFX, QFX or QuickBooksYour bank or converter offers itXero's first choice. No column mapping needed.
QIFOlder banking software exportsXero suggests OFX or QFX if your bank offers them.
CSVAny bank, or a file you build yourselfYou assign the columns on the first import.
PDFStatements from banks Xero supportsUnsupported banks may import with errors.

What you need before importing

You need the right user role, a bank account set up in Xero, and one file per account. Xero says you need the administrator role, or the standard role with bank accounts access, to import a statement. If you have several bank accounts, make a separate file for each.

Check the date range too. If a bank feed is connected and you are filling a gap before the feed started, the file should cover only the missing dates. When only a few transactions are missing, Xero suggests creating them by hand and marking them as reconciled instead of importing a file.

The CSV columns Xero expects

Xero needs only two fields to create statement lines, Date and Amount, though more detail makes reconciling easier. You can download Xero's own template from Accounting, then Bank accounts, the account's menu icon and Import a Statement. The template is regional: its file name and headings follow your browser's language, and default to New Zealand English if Xero can't tell.

The rules from Xero's guide Import a bank statement in CSV format:

  • Header row: Put column names in row 1, each one different. A file without headings can import, but mapping is harder.
  • Date: Use one format for every row, such as DD/MM/YYYY, MM/DD/YYYY or YYYY/MM/DD.
  • Amount: Income and expenses go in the same column. Money in is positive, money out has a minus sign or brackets, for example -30.00 or (30.00). Don't use commas as decimal points.
  • Payee: Optional but recommended. Spell it exactly as the contact name in Xero to avoid duplicate contacts.
  • Description and Reference: Optional. The description shows under Particulars in the account's Bank statements tab.
  • Check number: Optional, up to 20 characters. References can be up to 255.

Delete three things before you import: any opening or closing balance columns (Xero works out the balance from the transactions), the bank account number if it appears, and empty rows. A CSV can't have more than 100,000 rows, and Xero says to split any file with more than 1,000 transactions to avoid a timeout.

For credit card statements, the same layout applies. Payments to the card are positive and purchases are negative.

How to import a PDF bank statement into Xero

Once you have a CSV or OFX file, the import is six steps inside Xero. Menu names below are from Xero's US help pages; check them against the help page for your region if your screen looks different.

Step 1: Open Bank accounts

In the Accounting menu, select Bank accounts.

Step 2: Choose Import a Statement

Find the bank account you want, click its menu icon and select Import a Statement.

Step 3: Upload the file

Under File to upload, drag your file in or click Select file, then click Next.

Step 4: Assign the columns

For a CSV, Xero asks which column matches each statement field. Transaction Date and Transaction Amount must be assigned. Xero remembers this for later CSV imports unless a new file has extra columns or different headers. Click Next.

Step 5: Confirm the date format

If a date could be read more than one way, such as 03/04/26, Xero asks you to pick the format. Xero then uses that format for the whole file and for future CSV statements, so choose carefully.

Step 6: Review and complete

The review screen splits rows into ready to import, rows with warnings that affect how they're imported, and rows with errors that block import. Clear the checkbox for anything you don't want, then click Complete import. The statement lines are then ready to reconcile.

Converting a PDF statement first

Our bank statement converter turns a PDF statement into a spreadsheet with four columns: date, description, amount (money out as a negative number) and balance. That amount column already matches what Xero wants, so the only change before import is deleting the balance column.

The converter also checks the running balance on each row against the statement and flags rows that don't add up. Fix those rows before you import, so the statement lines in Xero match the bank's own figures. You can convert 3 pages a day free without an account, or 15 with a free account. On the paid plans you can download OFX, QBO or QIF instead, which Xero imports without column mapping.

If your statements come from a UK or Australian bank, the dates will be DD/MM/YYYY, so pick that format at the date prompt. Our guides cover where to find the PDF at each bank, for example Barclays statement to Excel, HSBC statement to Excel and CommBank statement to CSV. See all UK banks or Australian banks.

Fixing Xero import errors

Most Xero import errors trace back to the date format, blank lines, the wrong column assignment or duplicates. Xero's full list is in Resolve errors when manually importing a bank statement.

"The file you uploaded does not contain valid statement data"

This usually means the date format set in Xero is wrong, the date column has spaces before or after the dates, or the file has blank lines. Fix the file, save it and import again. If the same error comes back, the file may be corrupt: copy the data into Xero's template and try that.

Wrong date format

Xero applies one date format to the whole file. If your CSV mixes formats, or you picked MM/DD when the statement uses DD/MM, the dates won't match the statement. Make every date the same format, then import again. If your bank changes its date format later, edit the statement import options for that account.

Data doesn't match the field

This happens when a column is assigned to the wrong field, such as Transaction Date pointed at the payee column, or when one cell holds bad data, like an invalid date. The date column must contain only dates and the amount column only numbers.

Duplicate transactions

Xero treats rows that match transactions already in the account as duplicates and doesn't import them. Xero also tells you to check for missing or duplicate transactions when a bank feed starts, so keep a manual file to dates the feed doesn't cover. Xero also rejects $0.00 rows, because there is nothing to reconcile.

Timeouts and large files

A timeout usually means too many transactions in one go. Split files with more than 1,000 transactions into smaller batches.

Xero import questions

Can Xero import a PDF bank statement directly?

Yes, Xero lists PDF as an accepted format. Its error guide warns that statements from unsupported banks may import with errors, so converting the PDF to CSV or OFX is the safer route for those banks.

Which format is best for Xero, CSV or OFX?

Xero recommends OFX because it imports without any changes. CSV works well when you want to check or edit rows in a spreadsheet first.

Why won't Xero accept my CSV file?

The usual causes are blank lines, mixed date formats, spaces in the date column, or a balance column left in. Remove those, keep money in and out in one amount column, and import again.

Do I need to remove the balance column for Xero?

Yes. Xero says to delete opening and closing balance columns because it calculates the balance from the transactions.

Can I import a credit card statement into Xero?

Yes, the steps are the same as for a bank account. In the CSV, payments to the card are positive and purchases are negative.