ABN, ACN, GST Status, and Business Names Explained for Developers
Australian business data can be confusing when you first start building with it. Developers working with supplier onboarding, business verification, CRMs, finance tools, or SaaS platforms need to understand the difference between ABNs, ACNs, GST status, entity names, and registered business names. This guide explains each field in practical developer terms and how to use them in an ABN-based business profile workflow.
ABN, ACN, GST Status, and Business Names Explained for Developers
Australian business data can look simple at first.
A supplier gives you an ABN.
A company has an ACN.
An invoice includes GST.
A business trades under one name but has a different legal entity name.
Then you try to store all of that inside a database, CRM, onboarding flow, finance system, or SaaS product, and suddenly the structure matters.
For developers, the challenge is not just understanding what each field means.
The challenge is knowing how these fields should be handled in software.
If you are building anything around Australian business verification, supplier onboarding, vendor records, CRM enrichment, invoice checks, or business profiles, you need to understand the difference between:
- ABN
- ACN
- GST status
- Entity name
- Entity type
- Registered business names
- Trading names
- ASIC registration details
These fields are related, but they are not the same thing.
Getting them wrong can lead to messy records, bad matching logic, duplicate businesses, incorrect supplier profiles, and confusing user experiences.
What Is an ABN?
An ABN, or Australian Business Number, is a unique 11-digit number used to identify a business or organisation in Australia.
For developers, the ABN is often the best starting point for an Australian business profile.
A business name can be written in many different ways.
A website can change.
A trading name may not match the legal entity.
But an ABN gives your system a stronger identifier to work from.
Example:
97068007849
A system should usually store the ABN as a string, not an integer.
That matters because identifiers are not numbers you calculate with. They are structured identifiers that may need to preserve formatting, leading digits, spacing, or display rules.
A developer-friendly ABN field might look like this:
{
"abn": "97068007849"
}
When building forms or APIs, your system should usually clean ABNs by removing spaces before validation.
For example:
97 068 007 849
Should become:
97068007849
The Australian Business Register describes an ABN as a unique 11-digit number that identifies a business or organisation to government and the community.
What Is an ACN?
An ACN, or Australian Company Number, is a unique 9-digit number issued to a company when it is registered with ASIC.
This is different from an ABN.
An ABN can be used by different types of entities, including sole traders, partnerships, trusts, companies, super funds, and charities.
An ACN is specifically connected to a registered Australian company.
Example:
068007849
A developer-friendly ACN field might look like this:
{
"acn": "068007849"
}
Like ABNs, ACNs should usually be stored as strings.
Do not store them as integers unless you are absolutely sure you will never need to preserve leading zeros or formatting.
ASIC describes an ACN as a unique 9-digit number issued to a company when it is registered.
ABN vs ACN: What Is the Difference?
The easiest way to think about it is this:
ABN = business or organisation identifier
ACN = company identifier
Not every ABN has an ACN.
But registered Australian companies usually have an ACN.
For example:
| Field | Meaning | Length | Issued/Managed By | Applies To |
|---|---|---|---|---|
| ABN | Australian Business Number | 11 digits | Australian Business Register | Businesses and organisations |
| ACN | Australian Company Number | 9 digits | ASIC | Registered Australian companies |
From a developer perspective, this means your models should allow acn to be optional.
For example:
{
"abn": "97068007849",
"acn": "068007849",
"entity_type": "Australian Private Company"
}
But another record may look like this:
{
"abn": "12345678901",
"acn": null,
"entity_type": "Individual/Sole Trader"
}
If your database requires every ABN record to have an ACN, your schema will break for non-company entities.
What Is GST Status?
GST status tells you whether the business is registered for Goods and Services Tax.
This matters in supplier onboarding, invoice checks, finance workflows, and payment review systems.
If a supplier charges GST on an invoice, your team may need to check whether the ABN is registered for GST.
A simple GST status field might look like this:
{
"gst_status": "Registered for GST"
}
Or you might store it in a more structured way:
{
"gst_registered": true,
"gst_registration_from": "2000-07-01",
"gst_registration_to": null
}
For developers, the structured version is usually better.
It is easier to query, filter, and build review rules around.
For example:
If invoice includes GST and gst_registered is false, flag for review.
The ATO explains that businesses need an ABN before registering for GST, and once required to register, they need to do so within 21 days.
Why GST Status Matters in Software
GST status is not just a display field.
It can drive workflow logic.
For example, in a supplier onboarding system:
- Supplier says they charge GST.
- Your system checks the ABN profile.
- The ABN profile shows no GST registration.
- The supplier is flagged for manual review.
In an invoice approval workflow:
- Invoice includes GST.
- Supplier ABN is not registered for GST.
- Payment approval requires extra review.
In a CRM or vendor database:
- GST status is stored with the business profile.
- Finance users can quickly check whether GST information is available.
- Old records can be refreshed when needed.
A GST field becomes useful when it is structured enough for your system to act on it.
What Is an Entity Name?
The entity name is the legal name connected to the ABN record.
This may not be the same as the name a business uses publicly.
For example, a supplier might submit:
Bright Coast Electrical
But the ABN record may show:
Bright Coast Holdings Pty Ltd
That does not automatically mean the supplier is wrong.
The business may trade under a registered business name.
For developers, this means you should avoid treating a name mismatch as an automatic failure.
Instead, build a review-friendly matching process.
A business profile might store:
{
"submitted_business_name": "Bright Coast Electrical",
"entity_name": "Bright Coast Holdings Pty Ltd",
"registered_business_names": [
"Bright Coast Electrical"
],
"name_match_status": "matched_registered_business_name"
}
This is much more useful than simply storing one business_name field and overwriting it repeatedly.
Entity Name vs Business Name
Entity names and business names are often confused.
They are related, but they are not the same.
An entity name is the legal entity behind the ABN.
A registered business name is a name the entity may trade under.
For example:
{
"entity_name": "Example Holdings Pty Ltd",
"registered_business_names": [
"Example Electrical Services",
"Example Property Maintenance"
]
}
In this case, the legal entity is Example Holdings Pty Ltd, but it may trade under one or more registered business names.
For developers, this means your schema should allow one entity to have multiple business names.
Do not design the database as if every ABN has only one name.
What Are Registered Business Names?
A registered business name is a name registered through ASIC that an entity can use to carry on business.
This is important because the name on an invoice, website, or supplier form may be a registered business name rather than the legal entity name.
ASIC states that the business names register can be searched to find out who holds a business name, and most information on the register is available for free.
For developers, registered business names should usually be stored as a list.
Example:
{
"registered_business_names": [
{
"name": "Example Electrical Services",
"from": "2021-03-15",
"to": null,
"status": "registered"
},
{
"name": "Example Maintenance Group",
"from": "2019-09-10",
"to": "2022-01-20",
"status": "cancelled"
}
]
}
This structure gives your system more flexibility.
It can show active names, store historical names, and compare submitted names against known business names.
What About Trading Names?
Trading names can be confusing because older ABR records may contain trading name information, but the national Business Names Register changed how names are managed.
The ABR explains that when the national Business Names Register was introduced in 2012, the Registrar of the ABR stopped collecting and recording business names registered under old state or territory laws and unregistered names used by entities for business purposes.
For developers, the main lesson is this:
Do not treat trading names as the same thing as current registered business names.
If your API returns previous trading names or historical names, label them clearly.
For example:
{
"previous_trading_names": [
{
"name": "Old Example Trading",
"from": "2005-01-01"
}
],
"registered_business_names": [
{
"name": "Example Electrical Services",
"from": "2021-03-15",
"to": null
}
]
}
This helps avoid showing old trading names as if they are current business names.
What Is Entity Type?
The entity type tells you what kind of legal structure the ABN belongs to.
Common examples may include:
- Australian Private Company
- Individual/Sole Trader
- Partnership
- Trust
- Other Incorporated Entity
- Superannuation Fund
- Charity or not-for-profit entity
Entity type is useful because it gives your system context.
For example:
- A company may have an ACN.
- A sole trader usually will not.
- A trust may have a different naming structure.
- A supplier approval workflow may treat entity types differently.
A developer-friendly structure might look like this:
{
"entity_type": "Australian Private Company"
}
You may also want to store a normalised internal value:
{
"entity_type_display": "Australian Private Company",
"entity_type_code": "company"
}
This makes filtering and internal rules easier.
What Is Main Business Location?
The main business location usually gives a broad location connected to the ABN record.
This may be a state and postcode rather than a full street address.
For example:
{
"main_business_location": "NSW 2000"
}
Developers should not assume this is a full operating address.
It is useful for broad location context, but it may not be enough for delivery, compliance, service area checks, or detailed address verification.
A safer schema might store it separately from address fields:
{
"main_business_location": "NSW 2000",
"business_address": null,
"address_verified": false
}
This avoids confusing a broad ABN location with a full verified address.
Suggested Developer Data Model
If you are building an ABN-based business profile system, you might use a structure like this:
{
"abn": "97068007849",
"abn_status": "Active",
"entity_name": "Example Company Pty Ltd",
"entity_type": "Australian Private Company",
"acn": "068007849",
"gst_registered": true,
"gst_registration_from": "2000-07-01",
"gst_registration_to": null,
"main_business_location": "NSW 2000",
"registered_business_names": [
{
"name": "Example Company",
"from": "2015-06-01",
"to": null,
"status": "registered"
}
],
"previous_trading_names": [],
"last_checked_at": "2026-06-10T10:00:00Z",
"source": "ABN profile lookup"
}
This kind of structure is much easier to work with than one large text blob.
It lets your system:
- Search by ABN
- Match submitted names
- Check GST status
- Display official details
- Store registered names
- Track refresh dates
- Flag mismatches
- Build supplier approval rules
Common Developer Mistakes
When working with Australian business data, avoid these mistakes.
Storing ABNs and ACNs as integers
Use strings.
Identifiers are not math values.
Assuming every ABN has an ACN
Not every entity is a company.
Make ACN optional.
Treating entity name and business name as the same field
They are different.
Store them separately.
Ignoring registered business names
Registered business names are important for matching invoice names, supplier names, and trading names.
Treating GST status as plain text only
A boolean and date fields are often more useful than a display string alone.
Overwriting submitted names
Keep both the user-submitted name and the official entity name.
Ignoring historical or cancelled names
If you store old names, label them clearly so users do not treat them as current.
Assuming ABN location is a full address
Main business location is usually broad location context, not necessarily a delivery or operating address.
How These Fields Work Together
A useful ABN-based business profile is not just a list of fields.
The fields work together.
For example:
- ABN identifies the business record.
- Entity name shows the legal entity.
- Entity type explains the structure.
- ACN connects the record to an ASIC-registered company where available.
- GST status helps with invoice and supplier checks.
- Registered business names help match trading names.
- Main business location gives broad location context.
- Last checked date helps with freshness.
- Source links or profile metadata support review.
Together, these fields help developers build more reliable Australian business workflows.
Example: Supplier Verification Logic
A supplier onboarding system might use the fields like this:
If ABN is inactive:
Flag supplier for review
If supplier charges GST and GST status is not registered:
Flag supplier for review
If submitted supplier name does not match entity name or registered business names:
Flag supplier for review
If ACN is provided by supplier and does not match ABN profile:
Flag supplier for review
If all checks pass:
Mark supplier profile as verified
This gives your product a clear verification workflow.
The system does not need to make every final decision.
It just needs to surface the right information and flag mismatches.
Where FastBusinessAPI Fits
FastBusinessAPI is focused on turning an ABN into a structured Australian business profile.
That means developers can use an ABN as the starting point for data that is easier to store, display, search, and use inside workflows.
Instead of treating ABN checking as a separate manual step, FastBusinessAPI helps bring ABN-based profile data into:
- Supplier onboarding
- Vendor records
- Finance tools
- Internal dashboards
- CRMs
- SaaS signup flows
- Contractor verification
- Australian business lookup features
For developers, the value is not just the lookup.
The value is getting the data in a structure that can power product logic.
Final Thoughts
ABNs, ACNs, GST status, entity names, and business names are closely related, but they are not interchangeable.
For developers, understanding the difference matters.
A clean Australian business profile should separate official identifiers, legal names, registered business names, GST fields, entity types, and refresh dates.
That makes the data easier to trust and easier to use.
If you are building supplier onboarding, business verification, CRM enrichment, finance workflows, or Australian SaaS features, the ABN should be treated as the starting point for a structured business profile.
That is the direction FastBusinessAPI is built around: helping developers turn ABNs into usable Australian business profiles that fit directly into real software workflows.