DataVance

Guides · 2026-07-30

How to validate an ABN properly (the checksum is only half of it)

Most ABN validation stops at the checksum, which is the cheap half. The checksum tells you a number is well formed. It cannot tell you the business still trades, whether it is registered for GST, or whether the number belongs to the supplier who sent you the invoice — and each of those costs real money when it is wrong.

Three separate questions

“Is this ABN valid?” hides three different questions with three different answers and three different failure modes. Conflating them is how a valid-looking ABN ends up on a paid invoice.

1

Is the number well formed?

How
The ATO mod-89 checksum, computed locally.
Catches
Typos, transposed digits, and invented numbers. This catches the overwhelming majority of bad ABNs, instantly, with no dependency on any external service.
Misses
Everything about whether the business is real or current. A wound-up entity's ABN passes forever.
2

Is it active right now?

How
The Australian Business Register's ABN Lookup.
Catches
Cancelled and never-active ABNs — the supplier who existed when you onboarded them and does not now.
Misses
Whether the ABN belongs to the party who sent you the invoice.
3

Does it belong to this supplier?

How
Compare the name you were given against the register's entity name and registered business names.
Catches
The substitution attack: a real, active ABN belonging to somebody else, pasted onto an invoice to make it look legitimate.
Misses
Nothing much — but it needs judgement, because trading names legitimately differ from legal names, so this wants a score rather than a yes or no.

The checksum, concretely

Subtract 1 from the first digit. Multiply the eleven digits by the weights 10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19. Add the products. If the total divides by 89, the number is well formed. That is the whole algorithm — no service to call, nothing to rate-limit, and no reason for any system that accepts an ABN to skip it.

It is worth doing this before any lookup. There is no point spending a network call on a number that arithmetic has already ruled out, and it means a register outage cannot stop you rejecting obvious rubbish.

Why the name check needs a score, not a match

The register holds a legal entity name and, separately, any registered business names. Invoices routinely show the trading name. Demanding an exact string match therefore produces false alarms on entirely legitimate suppliers, and teams quickly learn to ignore the warning — which is worse than not checking.

A similarity score across all the register's names, with legal suffixes like Pty and Ltd stripped before comparing, gives you something you can actually threshold. Near misses go to a human; nothing goes to a human unnecessarily.

Design for the register being unavailable

The register is a public service, provided as-is. Any system that treats a lookup failure as “invalid” will one day reject every supplier it has. The correct behaviour is to distinguish three states — valid, invalid, and unknown — and to keep the local checksum verdict standing when the lookup cannot be made. Unknown is not the same as bad.

Frequently asked

How does the ABN checksum work?
Subtract 1 from the first digit, multiply the eleven digits by the weights 10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, and add the results. A valid ABN gives a total divisible by 89. It is arithmetic, so it needs no network call and cannot be unavailable.
Does a valid ABN checksum mean the business exists?
No. The checksum only proves the number is well formed. A wound-up company's ABN passes its checksum forever. To know whether a business is currently trading you have to ask the Australian Business Register whether the ABN is active.
Can a supplier charge GST without being registered for GST?
They cannot legitimately. An ABN being valid and active says nothing about GST registration — those are separate facts on the register. If a supplier's invoice charges GST and the register shows no GST registration, that is worth resolving before you pay and before you claim the credit.
Why doesn't the name on the invoice match the ABN?
Usually because the invoice shows a registered business or trading name while the register holds the legal entity name. Both are on the register, so a name check should compare against entity name and business names together, and score the closeness rather than demanding an exact string match.
What is an ACN, and how is it different?
An ACN is a nine-digit Australian Company Number issued by ASIC to companies; an ABN is an eleven-digit number issued to any entity carrying on an enterprise. A company has both. The ACN has its own checksum — a mod-10 complement — and is often embedded in the company's ABN.

DVTX answers all three questions in one call: the mod-89 checksum locally and always, then the register for active status, entity name and type, GST registration, and a 0–1 name-match score against every registered name. If the register is unreachable it says so and the checksum verdict still stands. Business identifiers only — never tax file numbers.