Import Bank Statement into Xero: CSV, OFX and Reconciling

Updated

To import a bank statement into Xero, convert the statement into a CSV or OFX file, open the bank account in Xero and use its import option, then reconcile the new statement lines. The import itself takes a minute; the real work is giving Xero clean columns and making sure you don’t load the same transactions twice. Here’s how to get each part right.

Why import manually?

Bank feeds are the usual way transactions reach Xero, but a manual import helps when a feed isn’t available for your bank, when you need history from before the feed started, when a feed has a gap, or when a client hands you PDF statements. Xero’s import works from data files, so the first step is turning the PDF into one.

Step 1: Convert your PDF statement

Open the free bank statement converter, add the PDF and review the preview. The converter re-adds the running balance and flags any row that doesn’t reconcile, so you can fix misreads before they reach Xero. Then export:

  • CSV if you want to review or adjust the data in a spreadsheet first.
  • OFX if you’d rather skip column mapping entirely.

Your statement is processed in your browser and never uploaded. The bank statement to Xero page summarises the best settings.

Step 2: Prepare a CSV that Xero understands

Xero’s own statement CSV template is built around a single signed amount column. The fields are:

FieldRequired?Notes
DateYesOne consistent format throughout
AmountYesMoney in positive, money out negative
PayeeNoWho paid you or who you paid
DescriptionNoFree text from the statement
ReferenceNoInvoice or transaction reference
Cheque (check) numberNoOnly if relevant

The converter’s Amount column already uses the money-in-positive, money-out-negative convention, so it maps straight to Xero’s Amount field. Its Description column can go into Description or Payee.

Before importing:

  • Keep one header row and remove anything above it.
  • Delete the Debit, Credit and Balance columns, or plan to leave them unassigned during import.
  • Remove opening balance, closing balance and subtotal rows.
  • Use plain numbers (1200.00, not £1,200.00).
  • Save the file as CSV.

On dates: Xero needs to read your dates the way you intend. If 03/10/2026 means 3 October, make sure that’s how Xero will interpret it for your organisation’s region. The converter auto-detects DD/MM or MM/DD and lets you choose the output format, so export in the format your Xero organisation uses.

Using OFX instead

An OFX file describes each transaction in a standard structure: date, amount, description and usually a unique transaction ID. Xero can read it without any column mapping, and there’s no question about which sign means money out. The trade-off is that OFX isn’t easy to edit, so make any corrections in the converter’s preview before exporting. Our guide to bank statement file formats compares OFX and CSV in more detail.

Step 3: Import the statement in Xero

Menu names can vary by version and region, but the steps are broadly:

  1. Go to the Bank accounts area (usually under the Accounting menu).
  2. Find the account, open its Manage account menu and choose Import a statement.
  3. Browse to your CSV or OFX file and start the import.
  4. For CSV: Xero shows your columns and asks you to assign each one to a field. Assign Date and Amount at minimum, plus Description or Payee. If the first row holds column headings, tell Xero not to import it.
  5. Review the summary of statement lines and complete the import.

If your screens look different, Xero Central, Xero’s help site, has current instructions.

Step 4: Avoid duplicates

Duplicates are the most common headache with manual imports, and they make reconciling confusing.

  • Check what’s already there. Look at the account’s existing statement lines and note the date of the most recent one. Only import transactions after that date.
  • Be careful with feed accounts. If the account also has a live bank feed, import only the period the feed doesn’t cover. A feed and a file can describe the same transaction differently, so automatic duplicate checks may not catch the overlap.
  • Trim before you import. Delete out-of-range rows in the converter’s preview, or remove them from the CSV.
  • Check combined files. If you merged several statements into one file, confirm its first and last dates before importing.
  • Fix mistakes early. Xero generally lets you remove an imported statement from the account’s statement view as long as its lines haven’t been reconciled. Check Xero Central for the exact steps.

Xero may warn you about lines it thinks you’ve already imported, but don’t rely on that alone.

Step 5: Reconcile after import

Imported lines appear on the account’s Reconcile tab, waiting to be matched.

  1. Accept good matches. Where Xero suggests a matching invoice, bill or transaction, check the amount and date, then confirm.
  2. Create transactions for the rest. For bank charges, interest or one-off payments, create a spend or receive money transaction against the right account.
  3. Use bank rules for repeats. If the same supplier appears every month, a bank rule can fill in the coding for you.
  4. Record transfers properly. Money moving between your own accounts is a transfer, not income or an expense.
  5. Check the balance. When you’re done, compare Xero’s statement balance with the closing balance printed on the PDF. If they don’t agree, a line is missing, doubled or has the wrong sign.

Prefer to check things in a spreadsheet first? Our guide on how to reconcile a bank statement in Excel has formulas for matching statement lines against a ledger.

Common problems

ProblemLikely causeFix
Day and month swappedDate format doesn’t match the organisation’s settingsRe-export in the right format
Every amount has the wrong signDebit column used as Amount, or signs reversedUse the signed Amount column, or multiply by -1
Import fails or shows no linesExtra rows above the header, or file saved as .xlsxSave a clean CSV with one header row
Transactions appear twiceOverlap with a feed or an earlier importRemove the duplicate statement and re-import the right range
Statement balance doesn’t matchMissed or misread transactionRecheck the flagged rows in the converter

Key takeaways

  • Convert the PDF to CSV or OFX first; Xero’s import works with data files, not PDFs.
  • For CSV, Date and a single signed Amount are the essentials; add Description or Payee for easier coding.
  • Match the date format to your Xero organisation and keep exactly one header row.
  • Import only date ranges that aren’t already in the account, especially where a bank feed exists.
  • Finish by reconciling and comparing Xero’s statement balance with the PDF’s closing balance.

Also working in QuickBooks? See our guide to importing a bank statement into QuickBooks.

Frequently asked questions

What CSV format does Xero need for a bank statement import?

At minimum, a date and a single signed amount for each transaction, with money in as positive and money out as negative. Payee, description and reference columns are optional but make reconciling easier.

Can I import a PDF bank statement into Xero?

Xero's statement import works with data files such as CSV and OFX rather than PDFs. Convert the PDF to one of those formats first, then import the resulting file.

How do I stop Xero importing duplicate transactions?

Only import date ranges that aren't already in the account, and take extra care with accounts that also have a bank feed. If a duplicate import slips through, you can usually remove the imported statement before its lines are reconciled.

Is OFX or CSV better for Xero?

OFX needs no column mapping and records amounts in a standard way, so it's quicker. CSV lets you review and edit the data in a spreadsheet before you import it.

Convert a bank statement →