ledgaroo

Bank statement PDF to Xero

Drop the PDF as you downloaded it. We check every row against the figures your bank printed, then write a CSV in the columns Xero’s statement import asks for.

Xero CSV comes with Premium. Excel and CSV are free for a whole statement at a time, with no account and no limit on how many. See what Premium costs.

Importing it into Xero

Download the Xero CSV

  1. In Xero, open Accounting, then Bank accounts.
  2. On the account, choose Manage account, then Import a statement.
  3. Upload the file.

The header row is the one Xero asks for: Date, Amount, Payee, Description, Reference, with dates written 2026-01-23. Payee holds the name cut out of the bank's description, or the one your rule sets, and Description holds the description whole.

What is in the Xero CSV file

The header row is Date, Amount, Payee, Description, Reference.
Those are the names Xero’s statement import uses for its own fields.
Dates are written 2026-01-23.
Year first reads the same whether your Xero organisation puts the day or the month first, so the third of April is never imported as the fourth of March.
One signed amount a row, with no thousands separator.
Money out is negative and money in is positive, written as -1850.00.
Payee holds the name, and Description the whole line.
We take off the card, references, date and place a bank prints around the name, so EFTPOS PURCHASE 4821 WOOLWORTHS 3021 SYDNEY AU goes in as Woolworths, and Description keeps the line as printed. Reference is left empty.
No category column.
Xero’s statement import has no field for one. Its precoded import wants an account code and a tax rate, and then creates and reconciles a transaction for every line by itself.

Every format holds the same checked transactions. The other files we write are on the import page.

Questions

Is my statement uploaded anywhere?

No. The statement is read in your browser, on your computer. Nothing in it is sent to us or to anyone else.

Where does the payee come from?

From the description, with what the bank wraps around the name taken off. Every word left is one the bank printed, and each row shows its payee before you download. Where it is not the name your Xero contact goes by, click it and make a rule, for every statement or for one account, and that payee goes in every time.

Can I use the free CSV in Xero instead?

The free CSV holds the same rows in different columns: Date, Description, Amount and Balance. Xero will ask you to say which column is which. The Xero CSV is already in the shape it asks for.

Does it handle scanned statements?

Yes, as a PDF, JPG, PNG or WebP. The text is read off the picture by OCR in your browser, and the file never leaves your computer. The first scan takes longer while the reader loads. OCR can misread a figure, so a scan is checked like any other statement. If it prints no running balance, no totals and no closing balance, nothing can check the figures, so the download is held as it is for a failed check, and you look the figures over first. A date misread within the statement period passes every check, so a date OCR was unsure of is marked for you to compare with the scan. A PDF downloaded from online banking is more reliable than a scan. More about scanned statements.

Is it free, and do I need an account?

Excel and CSV are free for a whole statement at a time, with no limit on how many. Premium adds every other format, a CSV in a layout of your own, payee names with rules that set the payee and category, the working paper, part of a statement, several statements joined into one, and downloading every open statement at once. Neither needs an account: Premium is a licence key, which you paste into the page or activate from the email it comes in, and your browser keeps it. The pricing page lists each format and the price.