Import bank statement transactions into Xero

Start with a native CSV, OFX, QBO, QFX, or other statement export from your bank when Xero supports it. Convert a PDF only when the native export is unavailable, then review every proposed transaction before import.

Last updated: September 17, 2026 · Import steps vary by product version

Need to convert a PDF first?

Document quality affects extraction. Digital PDFs are usually easier to process than scans, and password-protected files must be unlocked before upload.

Open the CSV or OFX converter

Map the converter's Xero CSV columns

Choose Xero CSV from the download menu after reviewing your transactions. This exporter writes Date, Amount, Payee and Description. It uses a single signed amount: money out is negative and money in is positive. Dates default to DD/MM/YYYY for the Xero export; check the selected date option and Xero's import preview rather than assuming the convention.

Export columnImport review
DateMap to the transaction date. Confirm day/month order and year.
AmountMap to the transaction amount. Check negatives for withdrawals and positives for deposits.
PayeeMap to Payee. If no payee was extracted, the exporter uses the description.
DescriptionMap to Description and spot-check wrapped references. This is not an invoice or tax-code import.

Synthetic CSV example: invented transaction data showing this exporter's fields and signs, not a live import test.

Date,Amount,Payee,Description
13/05/2026,-125.50,Example supplies,Example supplies
14/05/2026,1000.00,Example receipt,Example receipt
15/05/2026,-5.00,Example fee,Example fee

These rows have net movement of 869.50. With an independently checked opening balance of 500.00, the expected closing balance is 1369.50. The CSV has no balance column: use the source PDF for that comparison. See the same movements as Excel rows.

Xero's official import troubleshooting guide explains date-format errors, mapping mismatches, currency errors and invalid zero-value transactions. It also advises splitting files over 1,000 transactions. Review its current requirements before importing and check for overlap with existing bank feeds.

If you are considering OFX instead, review the Barclays OFX guide or Capitec OFX guide: the current exporter uses default USD/account metadata that may not match your account. No live Xero import was performed for these examples.

A review-first workflow

  1. 1. Check your bank first. Download a native statement export that Xero accepts if one is available.
  2. 2. Convert only when necessary. If the bank provides only a PDF, extract dates, descriptions, debits, credits, and balances into a supported format.
  3. 3. Validate the output. Compare the date range, row count, signed amounts, and opening or closing totals with the source statement. Spot-check several rows.
  4. 4. Import into the correct account. Confirm the account, currency, column mapping, and date range in Xero before completing the import.
  5. 5. Reconcile and check duplicates. Look for overlap with feeds or earlier uploads before accepting the imported transactions.

Current Xero statement-import workflow

Prefer an OFX export downloaded directly from your bank when it is available. Otherwise, Xero accepts CSV bank statement files. In Xero, open Accounting, select Bank accounts, open the menu for the destination account, and choose Import a Statement. For CSV, map the transaction date, description, and amount columns, confirm the date format, review the proposed statement lines, then complete the import. Check the account, currency, and date range before reconciling; Xero can exclude duplicates it recognises, but the reviewed statement should still be compared with the source.

Read the official source: Xero Central: About manually importing bank statements

What to verify before import

Dates

Confirm the date format and the first and last transaction dates.

Amounts

Check debit, credit, and signed-amount conventions.

Account and currency

Import into the matching account and currency.

Overlap

Compare the date range with bank feeds and previous uploads.

Statement converters by bank

These retained bank pages use the same review-first workflow and link to the global export formats.

Frequently asked questions

Should I convert a PDF if my bank offers OFX or CSV?
Use the native bank export when it is accepted by Xero. It avoids an extra extraction step and usually contains structured transaction fields already.
What should I review after PDF conversion?
Compare the row count, date range, signed amounts, and available opening or closing totals with the source PDF. Spot-check descriptions and amounts before import.
Can an import create duplicates?
Overlapping bank feeds or statement date ranges can create or expose duplicate transactions. Review the proposed import and reconcile it against the source statement.