Skip to content

Bank statement · Xero

Bank statement to Xero, verified

Upload a PDF, scanned, or photographed bank statement and get back a file built for Xero’s "Import a Statement" bank-account import: a CSV with Xero’s Date, Amount, Payee, Description, Reference, and Cheque Number columns, or an OFX file, reconciled against the statement’s own opening and closing balance before you download.

CSV or OFX -- which should you pick?

CSV

the standard route for Xero’s "Import a Statement" flow: only Date and Amount are required, and Xero lets you map whichever of the remaining columns your file has during import.

OFX

a good option if you’d rather not map columns by hand, or you’re importing the same statement into both Xero and QuickBooks and want one file for both (QuickBooks Online separately documents accepting OFX as a Web Connect import).

Importing into Xero, step by step

  1. 1In Xero, open the Accounting menu and go to Bank accounts.
  2. 2Open the bank account you want to import into.
  3. 3Look for the account’s Import a Statement option (Xero’s exact menu wording can vary by region and account setup).
  4. 4Choose the CSV or OFX file Arkrel generated and upload it.
  5. 5For a CSV, map each column to Xero’s fields if it doesn’t auto-match (Date and Amount are required; Payee, Description, Reference, and Cheque Number are optional).
  6. 6Review the imported statement lines, then reconcile them against your existing transactions as usual.

How the balance is verified first

Every bank statement Arkrel processes is run through the same check regardless of which file you download: opening balance plus every credit minus every debit must equal the stated closing balance, and (where the statement prints one) each row’s running balance must follow from the row before it. A statement that fails either check is still exported when you ask for it -- accounting work often starts from an imperfect document -- but the download carries an X-Arkrel-Checks: failed marker for API/automation use, and the dashboard and free tool both show which specific check failed and why, so you fix the right row instead of importing a wrong total blind.

Common import errors, and the fix

Xero rejects the file, or every date parses as the wrong day/month.

Xero’s own help center documents two accepted formats, DD/MM/YYYY or MM/DD/YYYY, used consistently on every row -- Arkrel’s Xero CSV always writes MM/DD/YYYY. If a date in your file could be read either way, Xero asks you to confirm the format the first time you import a statement into that bank account, then remembers your answer for every statement after that.

The Amount column won’t import, or numbers come in wrong.

Xero’s Amount column needs a plain signed number with no currency symbol or thousands separator (so "1,250.00" fails, "1250.00" works). Arkrel’s export already writes plain decimal numbers for this reason.

A statement line shows up twice after importing the same date range again.

Re-importing an overlapping date range is the most common source of duplicate bank lines in any ledger. Check your last-imported statement date in Xero before importing. Importing the same OFX file twice into the same account is recognized as a repeat, but a different statement file whose dates overlap brings its overlapping days in again.

Try it now, free

Use the free bank statement pdf to csv/excel tool: no signup, up to 3 pages, results in seconds.

Open the free tool
Do I need the paid plan to get the Xero CSV or OFX file?
No -- the free bank-statement-to-CSV tool includes QuickBooks CSV, Xero CSV, and OFX downloads at no cost, up to 3 pages per statement with no account. Longer statements or an API/webhook integration need a paid plan.
Will the Payee column be filled in?
No, and that’s deliberate: Arkrel extracts one free-text transaction description, not a separate payee/contact name, and Xero’s Payee column drives its bank-rule contact matching -- guessing a payee there would risk mismatching a real contact, so it’s left blank and the full description goes in the Description column instead.
What if the statement’s balance doesn’t reconcile?
You still get the file. Arkrel marks the document partial or needs review and shows exactly which check failed and by how much, so you can fix the one flagged row rather than reconciling against a total that’s silently off.