Export Bank Statement — bank statement PDF to Excel
sync_altGuide

How to Import PDF Bank Statements into Xero

How to import PDF bank statements into Xero: convert the PDF to a reconciled CSV, import it as bank statement lines, then match and reconcile.

bolt

To import a PDF bank statement into Xero, first convert the PDF into a CSV that uses Xero's import columns — Date, Amount, Payee and Description — then go to Accounting > Bank accounts, open the right account, and choose Import a statement. Xero has no way to read a PDF directly; its importer accepts CSV, OFX and QIF, and your rows arrive as bank statement lines you then match and reconcile. This is a file you upload yourself, not a live bank-feed API sending transactions across. Convert, confirm every line reconciles against the running balance, import, then reconcile inside Xero.

The convert-and-import bit takes a few minutes. The part worth slowing down for is the check in the middle: making sure the file you're about to upload is the *whole* statement.

The full workflow, start to finish

There are two halves to this job: getting a clean, complete CSV out of your PDF, then importing and reconciling it inside Xero. People who run into trouble usually rush the first half and spend the second half debugging.

Here's the whole thing in order:

  1. Convert the PDF to CSV. Open the statement in Export Bank Statement. Text-based downloads and scanned or photographed PDFs both work; scans run through OCR first so the figures can be read.
  2. Check it reconciles. The running balance is recomputed — opening balance, plus money in, minus money out — and checked against the printed closing figure. A tick means nothing was lost. A flag means a line was misread or dropped.
  3. Export in Xero's format. Download the file with Date, Amount, Payee and Description already laid out the way Xero's importer reads them.
  4. Open the bank account in Xero. Go to Accounting > Bank accounts and click into the account this statement belongs to. One account per file.
  5. Run Import a statement. Use Manage account > Import a statement, upload the CSV, and map your columns to Xero's fields.
  6. Set the date format and confirm. Tell Xero which date format the file uses, review the preview, and import.
  7. Reconcile the new lines. The transactions now sit on the Reconcile tab, ready to match against bills, invoices and spend money.

Steps one to three are where the import is won or lost. By the time you reach Xero, the data should already be correct — the Xero side is just delivery.

What Xero reads in the CSV

Xero's importer is fussy in a narrow way. When you run Import a statement, it shows a mapping screen and asks you to point your columns at its fields: a Date, an Amount, a Payee, a Description, and an optional Reference. A workable file needs a Date, an Amount, and a Payee or Description. Two choices cause more failed imports than everything else combined.

The first is the date format. Xero won't guess — it asks on the import screen whether the file is DD/MM/YYYY, MM/DD/YYYY and so on. A line dated 05/06/2024 on a UK statement means 5 June. Tell Xero it's MM/DD and that line becomes 6 May, quietly sliding part of your period into the wrong month.

The second is signed amount versus split debit/credit. Xero takes either a single Amount column with negatives for money out, or two separate debit and credit columns. Either imports cleanly. The trap is mixing both styles in one file, or mapping a payment as a positive figure — which inflates the balance without throwing an error. One more habit that saves grief: strip currency symbols and thousands separators, leaving plain numbers.

Why the reconciliation check goes first

Most converters extract the rows and leave you to assume everything made it. Usually it does. The risk is the time it doesn't, and a PDF is built to hide exactly that. It's a page layout, not a table: descriptions wrap onto a second line, a bank prints the date once and blanks the rows below, a page break splits a transaction in two. When a line goes missing, nothing flashes red. Your closing total just lands slightly off.

The running balance is what catches it. Every statement carries an opening balance, the transactions, and a closing balance, and the arithmetic has to tie: opening, plus money in, minus money out, equals closing. If the file won't reconcile, a transaction was misread or never came across.

Export Bank Statement runs that check on every file and flags any statement that doesn't reconcile, so a gap surfaces while you're still converting — not three months on, after the figures are trusted in Xero. I've not found another converter in this space that verifies the totals rather than merely extracting them. On a PDF, where the dangerous thing is what's *absent*, that's the line between an import you can lean on and one you'll be unpicking later.

Inside Xero: import, then reconcile

Once the CSV reconciles, the Xero steps are quick. Navigation matters here, because the importer is tucked inside each account rather than sitting in a top-level menu.

  1. Go to Accounting > Bank accounts and click the account the statement belongs to. Import into the matching account — never pool two accounts in one file.
  2. Choose Manage account > Import a statement and upload the CSV.
  3. Map your columns to Xero's fields, then set the date format to match the file.
  4. Review the preview and import. The rows land as bank statement lines.

After the import, the work moves to the Reconcile tab. Each imported line shows up next to Xero's best guess at a match — a bill, an invoice, a payment you've already recorded. Confirm the ones Xero gets right, create or correct the ones it doesn't, and the account ticks down to reconciled. An imported statement line behaves exactly like a line a bank feed would have delivered; the only difference is you sourced it from a PDF. Map the columns once and Xero remembers the layout for that account, so the next statement from the same bank imports faster.

Two honest limits. This is convert, then import the CSV — not a one-click sync. Export Bank Statement does not push transactions into Xero through a live bank-feed API; that's a separate, certified integration. And Xero's own feeds only fetch around the last 90 days, so older statements come in as files regardless. Loading several past months? The historical-import walkthrough covers ordering and overlaps. Want the conversion side in more depth? See converting PDF statements for Xero.

A worked example

Take a March current-account statement: opening balance 4,210.00, closing balance 3,885.50. You convert it, and the check recomputes the running balance line by line. It stops matching at a card payment near the top of page two, where the recomputed total runs 150 higher than the bank's printed figure.

That's a dropped transaction, almost certainly a payment that fell across the page break — the rows around it look fine, so skimming wouldn't have caught it. Fix that one line, the totals reconcile, and the export is safe. Skip the check and you'd import a March that's 150 light, only to find it weeks later when the bank balance and Xero won't agree.

Frequently asked questions

How do I import a PDF bank statement into Xero?keyboard_arrow_down

You can't import the PDF itself — Xero's Import a statement tool only accepts CSV, OFX or QIF. Convert the PDF to a Xero-ready CSV with Date, Amount, and Payee or Description columns, then go to Accounting > Bank accounts, open the relevant account, choose Manage account > Import a statement, map the fields, set the date format, and import.

Where is the Import a statement option in Xero?keyboard_arrow_down

It lives inside each bank account, not in a global menu. Open Accounting > Bank accounts, click into the account, then use Manage account > Import a statement. That's why you import one account's statements into that specific account.

What happens to the transactions after I import the CSV?keyboard_arrow_down

They arrive as bank statement lines on the account's Reconcile tab. From there you match each line to a bill, invoice or recorded payment, exactly as you would with lines from a live feed. Importing doesn't reconcile them for you — it just puts them in front of you to reconcile.

How do I know the converted file isn't missing any transactions?keyboard_arrow_down

Use the reconciliation check before importing. If opening balance, plus money in, minus money out, equals the printed closing balance, the statement is complete. If it doesn't tie out, the file is flagged so you can find the misread or dropped line before it reaches Xero.

Does this push transactions into Xero automatically?keyboard_arrow_down

No. You produce a CSV and import it yourself — convert, then import. There's no live bank-feed API forcing transactions in from a statement file. If a tool advertises one-click API sync straight from a PDF, be sceptical. Still unsure whether Xero takes a PDF at all? See can Xero import PDF bank statements.

Will a scanned or photographed statement work?keyboard_arrow_down

Yes. Scanned and photographed PDFs go through OCR to read the transactions, then through the same running-balance check, before you get a CSV to import. More UK-specific guidance is on the UK hub, and the Xero pillar gathers the related import and reconciliation guides.

verified

Try it on your own statement

Clean Excel/CSV, with every transaction checked to balance.

upload_fileConvert free
Keep reading

More guides

verifiedChecked to balance

Convert your bank statement — every transaction verified

Upload any PDF, get clean Excel or CSV ready for Xero & QuickBooks. Scanned statements too.

upload_fileConvert a statement free
How to Import PDF Bank Statements into Xero