3 Ways to Import Bank Statements into Xero
✅ Method 1: CSV File Upload (Recommended)
Convert PDF to CSV using our free tool → Accounting → Bank Accounts → Import a Statement → upload CSV. Works for any bank in any country, any date range, any history length. Best for banks without Xero feed support and for historical data.
🔗 Method 2: Direct Bank Feed
Connect your bank account in Xero (Accounting → Bank Accounts → Add Bank Account). Xero pulls transactions automatically daily. Limited to supported banks and typically 90 days of history. Best for ongoing transaction management once connected.
⚙️ Method 3: API Import
Use Xero's Bank Transactions API to push transactions programmatically. For developers and businesses with high-volume automated workflows. Requires coding. Not suitable for one-off imports.
Step-by-Step: Importing Bank Statements into Xero via CSV
1
Download your PDF bank statementLog into your bank's online banking portal. Navigate to Statements, E-Statements, or Download — the exact location varies by bank. Download the PDF for the period you want to import into Xero.
2
Convert PDF to Xero-formatted CSVUpload your PDF at bankstatementengine.com (free, no signup, unlimited). If the PDF is password-protected, enter the password when prompted. Click Download CSV. You get a CSV file with Date, Amount, Payee, Description columns correctly formatted for your bank's region.
3
Xero: Accounting → Bank AccountsLog into your Xero organisation. Click Accounting in the top menu bar. Select Bank Accounts from the dropdown. You see all bank accounts in your Xero organisation.
4
Find the account and Import a StatementLocate the bank account that matches your statement. Click Import a Statement — you'll find this on the right side of the account row, or by clicking the three-dot "…" menu. A file upload dialog opens.
5
Upload CSV and map columnsBrowse to the CSV file on your computer and open it. Xero reads the file and shows a column-mapping screen. Confirm: Date column → Date, Amount column → Amount, Payee column → Payee. If a date format selector appears, choose the correct format for your country (DD/MM/YYYY for UK/AU/NZ, MM/DD/YYYY for US, YYYY-MM-DD for international).
6
Import and start reconcilingClick Import. Xero processes the CSV and adds all transactions as statement lines in the bank account. Open the bank account and start reconciling: match imported transactions to existing Xero invoices, bills, and spend money records. Xero's smart suggestion engine auto-matches many recurring transactions.
Troubleshooting: Common Xero Bank Import Errors
| Error | Cause | Fix |
| "No transactions were imported" | All transactions already exist in Xero, or date format was rejected | Check date format (should be DD/MM/YYYY for UK/AU/NZ). If dates are correct, all transactions may already be in Xero from a bank feed. |
| "Invalid date format" | Date column format doesn't match Xero's expected format | Use DD/MM/YYYY for UK/AU/NZ accounts, or YYYY-MM-DD. Our converter sets the right format for your bank's country automatically. |
| "Amount cannot be empty" | Some rows in the CSV have blank amounts | This can happen with subtotal rows or header rows inside the PDF. Our converter filters these out automatically. |
| "Duplicate transactions skipped" | Xero detected matching transactions already in the account | This is intentional — Xero deduplicates to prevent double-entries. Not an error, just a warning. |
| Amounts show wrong sign | Debits imported as credits or vice versa | Check that debits are negative numbers and credits are positive. Alternatively, swap which column Xero maps to Amount. |
| File upload button not visible | Wrong Xero plan or feature not enabled | Manual import requires at least a Xero Standard plan. The button appears only on account detail screens, not the bank overview page. |
Which Banks Can I Import into Xero?
Any bank — if it provides a PDF statement (and every bank does), our converter turns it into Xero CSV. This covers:
- UK: Barclays, Lloyds, HSBC, NatWest, Santander, Halifax, Nationwide, Monzo, Starling, TSB, First Direct, Metro, Co-op, Clydesdale, Virgin Money, Revolut
- Australia: CommBank, ANZ, Westpac, NAB, Macquarie, ING, Bendigo, BoQ, Suncorp, St George, Bank of Melbourne
- New Zealand: ASB, BNZ, ANZ NZ, Kiwibank, Westpac NZ, Rabobank NZ, TSB NZ, SBS
- US: Chase, Bank of America, Wells Fargo, Citi, Capital One, US Bank, TD Bank, PNC, Truist, Ally
- India: HDFC, SBI, ICICI, Axis, Kotak, IndusInd, Yes Bank, PNB, Bank of Baroda
- Canada: TD, RBC, Scotiabank, BMO, CIBC, National Bank, HSBC Canada
- UAE: Emirates NBD, FAB, ADCB, Mashreq, ENBD
- + 50 more banks worldwide
Frequently Asked Questions
What are all the ways to import bank statements into Xero?
Three methods: 1) CSV/OFX/QIF file upload (best for any bank, any history) 2) Direct bank feed (automatic, but limited banks and 90 days only) 3) API import (for developers). For most users, CSV upload is the most flexible.
What is the best file format for importing into Xero?
CSV — it's most reliable, easiest to check, and works for any bank globally. Four columns: Date, Amount, Payee, Description. Our converter produces this automatically.
How far back can I import bank statements into Xero?
No limit. Manual CSV import works for any historical period — 1 month or 10 years back. Much better than bank feeds which only cover 90 days.
Why is my bank statement import failing in Xero?
Most common: wrong date format (should be DD/MM/YYYY for UK/AU/NZ), thousands separators in amounts (use 1500.00 not 1,500.00), or all transactions already exist. Our converter handles all of these automatically.
Is importing bank statements into Xero free?
Yes — Xero's import feature is included in all plans. Our PDF-to-CSV converter is also 100% free and unlimited. No signup required for either.
Start Importing Bank Statements into Xero — Free
Any bank · Any country · No signup · No cost · Instant Xero-ready CSV
Convert PDF for Xero — Free →