Back to Blog

How to Import a Bank Statement into Xero (CSV Format Explained)

Bank feeds do most of the work in Xero, until they don't. A feed was connected late, the bank doesn't support feeds, an account was closed, or you've taken on a client who is a year behind. In all of those cases, you import the statement yourself.

Xero imports bank statements as CSV files. This guide shows the exact format Xero expects, how to get a PDF statement into that format, and how to import it without creating duplicates.

When you need to import a statement manually

  • No bank feed for that bank or account type
  • Catch-up work: transactions from before the feed was connected
  • Closed accounts, where the only record is the PDF statements
  • Gaps in a feed, where some days are missing

The CSV format Xero expects

Xero needs only two fields to create a statement line: Date and Amount. Three more are optional but make reconciling much easier:

ColumnRequired?What to put in it
DateYesThe transaction date, in one consistent format for every row
AmountYesMoney in as positive, money out as negative (-30.00), in the same column
PayeeRecommendedWho was paid or who paid. If it matches an existing Xero contact exactly, matching gets easier.
DescriptionOptionalThe statement's description text
ReferenceOptionalCheque number, invoice number or bank reference

A short example (fictional):

Date,Amount,Payee,Description,Reference
06/03/2026,-84.20,Sample Hardware Store,Card payment,
06/04/2026,1250.00,Acme Plumbing LLC,Transfer received,INV-1042
06/05/2026,-12.00,Sample Bank,Monthly account fee,

A few rules make the difference between a clean import and an error:

  • Save the file as UTF-8 CSV. Other encodings can garble special characters or cause errors.
  • Use plain numbers: no currency symbols, no thousands separators.
  • Keep headings in row 1. Xero can import without them, but headings make the column-mapping step much easier.
  • Remove totals and "balance brought forward" rows. Xero would import them as transactions.

Source: Xero, Import a bank statement in CSV format.

Step 1: Turn the PDF statement into a Xero CSV

If you only have the statement as a PDF, convert it first. You can do it by hand (PDF to Excel, then save as CSV) or with a converter.

With PDFDrill:

  1. Upload the client's statements. A whole batch is fine, digital or scanned.
  2. PDFDrill extracts every transaction. It checks that each statement balances (opening balance plus transactions equals closing balance) and that each month's closing balance matches the next month's opening balance.
  3. Review anything flagged, then export Xero bank statement CSV: Date, Amount, Payee, Description, Reference. You get one file per account.

Step 2: Import the CSV into Xero

  1. In Xero, go to Accounting → Bank accounts.
  2. Find the bank account, open its Manage account menu, and choose Import a statement.
  3. Click Browse, choose your CSV file, and click Import.
  4. Map the columns: match each column in your file (Date, Amount, Payee, Description, Reference) to Xero's fields.
  5. Check the date format Xero shows against the dates in your file. Then look at the preview: are the dates right, and is money out negative?
  6. Complete the import.

Menu names can change slightly between Xero versions. If you can't see "Manage account", look for the ⋯ menu next to the bank account.

Step 3: Check the import before you reconcile

  • Compare balances. Xero's statement balance for the period should match the closing balance on the PDF.
  • Spot-check three lines: one deposit, one withdrawal, and one with an unusual description.
  • Check the edges of the period. The first and last days are where overlaps and gaps hide.

Avoiding duplicates

Duplicates are the most common Xero import mistake. They happen when:

  • the CSV overlaps a period the bank feed already covers
  • two statements share a few days at the join, and both get imported
  • the same file gets imported twice

How to avoid them:

  • Before importing, note the last date already in Xero for that account and trim your CSV to start after it.
  • When merging several statements, remove the transactions repeated at each join. PDFDrill marks these as duplicates, so you can see exactly which rows overlap.
  • If you import something by mistake, delete that imported statement from the bank account in Xero before reconciling anything against it.

Common import errors and fixes

ProblemLikely causeFix
Dates in the wrong monthDay/month order doesn't matchMake every date use the same order, and choose that format on the import screen
Every expense shows as incomeMoney out wasn't negativeMake withdrawals negative in the Amount column
Import fails or shows strange charactersFile not saved as UTF-8Re-save as CSV UTF-8
Extra transactions you don't recogniseTotals or balance rows left in the fileDelete those rows before importing
Balance in Xero doesn't match the statementA missed, doubled or misread transactionRun the balance check on the CSV first

FAQ

Can Xero import a PDF bank statement directly? Xero's statement import works with CSV and other bank data files, so a PDF statement needs converting to CSV first.

Can I import several months at once? Yes, in one CSV, as long as there are no duplicates at the joins between statements and all dates use the same format.

Does PDFDrill connect to Xero directly? No. PDFDrill exports a Xero-ready CSV file, and you import it using the steps above. That keeps you in control of what goes into the client's books.


Get a Xero-ready CSV from any statement PDF. Try PDFDrill: free for 10 pages a month. Xero exports are on the Pro plan.

Share this article:

Ready to Try PDFDrill?

Start converting PDFs to Excel, Text, and JSON with our AI-powered tools.

Start Free Trial