How it works
Proven on real PDFs: ING Australia, Up Everyday, CommBank GoalSaver (2019 text PDF), and mailed NAB USaver (2015). Westpac and ANZ are beta, not proven. Beta — try free, help us add this layout, one credit pack if you send a stripped report. This is not a converter for any bank or “the big four”.
1. Get a digital PDF
Download the statement from internet banking. A photo or a scanned printout has no text layer. Printed 2015 CommBank image statements are refused. This version will say so and stop, rather than running OCR and hoping the digits are right.
2. Drop it on Convert
pdf.js extracts positioned text in your browser. A layout-specific parser reads the proven files above. Westpac and ANZ can be tried here but are not claimed as accurate. Unknown tables are refused — not guessed. The PDF stays in this browser. If a beta or unknown Australian file is refused, you can send a stripped layout report (no payees, account numbers, or PDF).
3. Check the rows
Edit anything that looks off. If a running balance does not follow from the previous row, that line is flagged. Add or remove rows if the PDF printed a fee in a strange place.
4. Download the Xero CSV
Xero's bank-statement importer (Accounting → Bank accounts → Manage account → Import a statement) maps columns by name. The file uses Date, Amount, Payee, Description and Reference. Amount is signed: deposits positive, withdrawals negative. Dates are DD/MM/YYYY for Australian Xero organisations. There is no currency symbol and no thousands separator.