Ledger Pilot

Home / Guides / Import older transactions into Xero

How to import bank transactions older than your Xero bank feed

When you connect a bank feed, Xero only pulls in a limited history — depending on the bank, somewhere between 90 days and up to two years. Anything older has to be imported manually. And for older periods, what you usually have is a folder of PDF statements, not a CSV. Here's how to get those transactions into Xero without re-typing them.

Why your Xero bank feed stops short

When you set up an automatic bank feed, Xero offers to bring in historical transactions — but how far back it can reach depends on your bank. For many accounts that's only the last few months. Everything before that point needs a manual statement import.

That gap matters more often than you'd think: a new client who hasn't done their books for a year or two, a business moving to Xero part-way through the financial year, or an account you need reconciled back to 1 July for a BAS or tax return.

Xero's manual route is Import a Statement, which takes a CSV (or OFX/QIF) file. Banks will usually give you older history as PDF statements — so the real job is turning those PDFs into a file Xero accepts.

Step by step

  1. 1

    Find where your bank feed starts

    In Xero, note the date of the earliest transaction your bank feed brought in. You only need to import statements covering the period before that date.

  2. 2

    Download the PDF statements you're missing

    From online banking, download the statements for the gap — one PDF per statement is ideal.

  3. 3

    Convert them to Xero CSV with Ledger Pilot

    Choose the bank, upload the PDF and pick the Xero download. On the Business plan you can upload up to 50 statements in one batch.

  4. 4

    Check the reconciliation

    Every statement is checked: the transactions must add up from the opening balance to the closing balance, to the cent. If one doesn't add up — a missing page, say — you see it before anything goes into Xero.

  5. 5

    Import into Xero

    In Xero go to Accounting → Bank accounts, open the menu for the account and choose Import a Statement, then upload the file. Our Xero file already uses Xero's statement columns (Date, Amount, Payee, Description, Reference), DD/MM/YYYY dates and a single signed Amount column, with no opening or closing balance rows.

  6. 6

    Reconcile as usual

    The imported lines are then ready to match or code like any other statement lines.

Avoid duplicate transactions

If a statement overlaps the period your bank feed already covers, delete the overlapping rows from the CSV before importing — otherwise the same transactions can end up in Xero twice. Opening the file in Excel and removing rows dated on or after the feed's first transaction is usually all it takes.

Also check whether a lock date is set in Xero for the period you're importing into — it can stop you reconciling transactions dated before it.

Frequently asked questions

How far back can I import bank transactions into Xero?
The bank feed's history limit only applies to the automatic feed. Manually importing statements is how Xero expects you to fill in transactions from before the feed started, so you can bring in older periods as long as you have the statements (subject to any lock date and your Xero conversion setup).
Can't I just ask my bank for a CSV?
Sometimes — but for older periods many banks only offer PDF statements, and CSV exports often need reformatting before Xero will take them. Ledger Pilot produces a file already laid out for Xero's Import a Statement, and checks every statement adds up before you import it.
Some of my old statements are scanned. Will they convert?
They can be. When our standard parser can't produce a result that reconciles to the cent — scanned or photographed pages, or a layout we don't recognise yet — the statement can be read with AI-assisted extraction (PDFs up to 30 pages). We only use that result if it reconciles to the cent, and the conversion tells you when AI-assisted extraction was used. How that data is handled is explained on our Security page and in our Privacy Policy.
My client sent several statements merged into one PDF. What happens?
If each statement in the file prints its own statement period in a format we recognise, Ledger Pilot splits the PDF at those boundaries and converts each statement separately, with its own reconciliation check. If the boundaries aren't clear enough to split safely, we tell you rather than guess — upload each statement as its own PDF instead (batch upload on the Business plan takes up to 50 files at once).
Which banks does Ledger Pilot support?
Statements from 15 major Australian banks — Commonwealth Bank, Westpac, ANZ, NAB, Macquarie, ING, Bendigo, Bankwest, Suncorp, St.George, Bank of Queensland, UBank, ME Bank, AMP Bank and HSBC Australia — plus Latitude and St.George credit card statements.
Do you keep copies of my clients' statements?
Uploaded PDFs are encrypted, used only to extract the transactions, and automatically deleted from our systems within 24 hours — along with the extracted results. If a statement needs AI-assisted extraction, it's also processed by Anthropic under its own retention terms. Our Security page and Privacy Policy have the details.

How we handle statement data: Security · Privacy Policy

Get your old statements into Xero

Start free with a 20-page welcome allowance — enough for a couple of real statements. No credit card required.

🔒 Encrypted · used only to extract your transactions · auto-deleted within 24h · reconciled to the cent so you can verify nothing's missing

Australian owned & operated · Payments securely via Stripe