What this can read
Which Australian bank exports this has actually been run against, what each of those files looks like, and how good the evidence for each claim is.
The reader has no bank-specific branch in it. It works the layout out from the data: whether there is a header row, which column holds a date, which holds an amount, whether the amount is one signed column or a debit and a credit pair, and which way round that pair writes its signs. A layout detected from the data still holds when a bank changes its export next quarter; a layout keyed to a bank's name does not, and nobody finds out until a customer's figures are wrong.
So the table below is not a list of supported banks. It is a list of the file shapes that have actually been read, with the evidence for each. A file from a bank that is not on it usually reads too, and one that cannot be read is refused rather than reported as figures it might not be.
The eight, graded
Evidence: A the bank's own page, B independent code or real fixtures agreeing, C a single third-party parser, X not established by anybody.
| Bank | Read | Evidence | What the file looks like |
|---|---|---|---|
| CBA | an export of this shape reads | A/B | Four fields and no header row — date, amount, description, balance — with an explicit + on credits and a masked card number inside the description. |
| NAB | an export of this shape reads | C, from a 2014 file | Seven fields and no header row, two of them always empty, and amounts that are not zero-padded. |
| ANZ | an export of this shape reads | B | No header row and no balance column at all, in a three-field form and an eight-field one. |
| Westpac | an export of this shape reads | C, and no real sample exists | A header row beginning with the account number, separate debit and credit columns written positive, and a date format chosen by whoever ran the export. |
| ING | an export of this shape reads | B, from a 2012 file | A header row, separate debit and credit columns written negative, and a space in front of the balance. |
| Up | an export of this shape reads | A | Fifteen columns, the only export of these that publishes its own column dictionary, with two different date formats in the one file. |
| Macquarie | an export of this shape reads | B | Eleven columns matched by name rather than position, a written month, and an empty balance on a pending transaction. |
| Bendigo | not read | X — nothing published | Bendigo publishes the menu of export formats and nobody publishes the columns — not Bendigo, not an accounting vendor, and there is no Bendigo parser anywhere to read one off. So there is no Bendigo reader here and no Bendigo example, because both would be a guess wearing a bank’s name. A Bendigo CSV is read if its shape happens to be one the reader can work out from the data, and it is refused with the layout named if it is not. It is never read as something it might not be. |
The three things most likely to break a reader
The debit column's sign flips between banks. ING writes a debit as −62.00; Westpac and Macquarie write the same debit as 62.00. A reader that negates whatever is in the debit column is right for one of those and silently doubles a sign for the other, and the figures still add up — they are just the other way round, and spending arrives as income. So the convention is read off the whole column before a single row is converted, and a row that disagrees with its own column is treated as the refund it probably is and reported, rather than flattened to match.
Nothing in a file says whether the day or the month comes first. 03/04/2026 is the third of April here and the fourth of March in an American export, and guessing wrong does not throw — it shifts every date by up to eleven months, which turns a fortnightly wage into noise. So the question is answered from the whole file rather than from one row, and where the file cannot answer it, the answer rests on whether the rows are in date order one way round and out of order the other. Where even that cannot settle it, the page says so.
Some exports have no header row at all. Assuming one silently eats the first transaction of the statement. The evidence for a header is that the first row carries no date while the rows under it do, not that it contains a familiar word.
What is not established, for any of them
Whether credit-card exports differ from transaction-account exports, for any bank. Whether the modern NAB and Bendigo files match the old fixtures they are described from. Byte-order marks and line endings, except Macquarie's. Westpac's full date-format menu, which is chosen by whoever runs the export and is not published.
Corrections
If your bank's export does not read, the file itself is what settles it — and the most useful thing anybody could send is the header row and two rows with the figures changed. There is nowhere on this page to send it, on purpose: this surface has no inbox, no upload store and no account, which is the same reason it cannot keep your statement.