asicapidocs

ACN, ABN, ARBN and ARSN explained

Learn the difference between an ACN, ABN, ARBN and ARSN, how their check digits work, and how to validate and convert them with the asicapi API.

Australian businesses carry several look-alike identifiers. An Australian Company Number (ACN) is the nine-digit number ASIC gives every company at registration. An Australian Business Number (ABN) is an eleven-digit number issued by the Australian Business Register for tax and invoicing, and for a company it usually contains the ACN. An Australian Registered Body Number (ARBN) is the ACN equivalent for foreign companies and registered Australian bodies, and an Australian Registered Scheme Number (ARSN) identifies a managed investment scheme. All four are accepted by asicapi wherever a company id is expected.

The four identifiers side by side

IdentifierIssued byLengthWho gets oneDisplay formatCheck digit
ACNASIC, under the Corporations Act 20019 digitsAustralian proprietary and public companies (APTY, APUB)004 085 616Weighted modulus 10
ARBNASIC9 digitsForeign companies (FNOS) and registered Australian bodies (RACN)004 085 616Same algorithm as ACN
ARSNASIC9 digitsRegistered managed investment schemes (MISM)004 085 616Same algorithm as ACN
ABNAustralian Business Register (ATO)11 digitsAny entity carrying on an enterprise: companies, sole traders, partnerships, trusts53 004 085 616Weighted modulus 89

ASIC's own register knows the first three; the ABN is added from a feed the Australian Business Register sends to ASIC, which is why abn can be null for a company that never applied for one.

When to use which

  • To look up a company on the ASIC register, use the ACN. It is the primary key of the register and never changes, even when the company changes its name.
  • If you only have an ABN, you can still call GET /v1/companies/{id} with it. asicapi validates the ABN, extracts the embedded ACN and resolves the company. This only works for ACN-based ABNs; a sole trader's or trust's ABN has no ACN inside it and returns abn_not_acn_based.
  • Foreign companies and registered Australian bodies have no ACN. Use the ARBN. Their record shows numberType.code of ARBN.
  • Managed investment schemes are identified by ARSN, numberType.code of ARSN.
  • Business names have none of these. They are identified by a state registration number or ASIC identifier and served from /v1/business-names.

The numberType object on every company tells you which kind of number acn holds:

CodeMeaningASIC code
ACNAustralian Company Number1
ARBNAustralian Registered Body Number2
NUMBERRegistration number3
ARSNAustralian Registered Scheme Number4

4 codes. Source: the "Organisation number heading" table in ASIC's Datastream specification, with ASIC’s original codes shown alongside the readable codes asicapi returns.

Code NUMBER ("Registration number") appears on records such as trusts and non-registered entities where ASIC allocated an internal number that is not an ACN, ARBN or ARSN.

The ACN check digit algorithm

The ninth digit of an ACN is a check digit computed from the first eight. ASIC publishes the algorithm, and asicapi applies it before sending any request to ASIC so a typo fails fast with acn_invalid rather than a slower company_not_found.

Weight the first eight digits

Multiply digits 1 to 8 by the weights 8, 7, 6, 5, 4, 3, 2, 1. For ACN 004 085 616:

Digit00408561
Weight87654321
Product002403215121

Sum and take the remainder

0 + 0 + 24 + 0 + 32 + 15 + 12 + 1 = 84. Divide by 10: 84 mod 10 = 4.

Complement to 10

10 minus 4 = 6. If the complement is 10, use 0. The calculated check digit (6) equals the actual ninth digit (6), so 004 085 616 is a valid ACN.

ARBNs and ARSNs use exactly the same construction, so one validator covers all three.

Valid ACNs for testing

These ACNs all pass the check digit test and are published by ASIC for exactly this purpose. The sandbox accepts any of them; company 009 136 109 is ASIC's public sample company and is the only one with document images available in the sandbox.

ACNACNACNACN
000 000 019000 250 000000 500 005000 750 005
001 000 004001 250 004001 500 009001 749 999
001 999 999002 249 998002 499 998002 749 993
004 085 616004 249 987004 499 987004 749 982
006 999 980007 249 989009 136 109010 249 966

The ABN check and the embedded ACN

An ABN has its own checksum, defined by the Australian Business Register:

  1. Subtract 1 from the first digit.
  2. Multiply the eleven digits by the weights 10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19.
  3. Sum the products. The ABN is valid if the sum is divisible by 89.

For ABN 53 004 085 616, the first digit becomes 4. The products are 40, 3, 0, 0, 28, 0, 88, 65, 90, 17 and 114, which sum to 445. 445 divided by 89 is exactly 5, so the ABN is valid.

When a company applies for an ABN, the Registrar forms it by prefixing the company's ACN with two check digits. The last nine digits of 53 004 085 616 are 004 085 616, which is the ACN. asicapi returns this as acnFromAbn and uses it to resolve companies by ABN. If the extracted nine digits do not themselves pass the ACN check, the ABN is treated as not ACN based.

Validating identifiers with the API

GET /v1/identifiers/{value} detects the type of any identifier, checks it and returns normalised and display forms. It never contacts ASIC and is free.

Request
curl https://api.asicapi.dev/v1/identifiers/53%20004%20085%20616 \
  -H "Authorization: Bearer $ASICAPI_KEY"
Response
{
  "object": "identifier",
  "input": "53 004 085 616",
  "type": "abn",
  "valid": true,
  "normalized": "53004085616",
  "formatted": "53 004 085 616",
  "acnFromAbn": "004085616"
}

Because ACNs, ARBNs and ARSNs are indistinguishable by format alone, a nine-digit input that passes the check is reported as "type": "acn". The register tells you what it really is: read numberType on the company record. A value that is neither nine nor eleven digits, or that fails its checksum, comes back with "type": "unknown" or "valid": false respectively.

Spaces are stripped from path parameters, so 004 085 616, 004085616 and 004-085-616 all resolve to the same company. Responses always carry both the bare acn and the ASIC display formatted form.

CodeHTTPMeaning
acn_invalid400The nine-digit number fails the ASIC check digit test
abn_invalid400The eleven-digit number fails the modulus 89 test
abn_not_acn_based400Valid ABN, but its last nine digits are not an ACN
abn_not_found404ASIC has no company matching the embedded ACN, or the company has no ABN on file
company_not_found404Valid number, but no organisation with that ACN, ARBN or ARSN exists

On this page