ABN Entity Lookup Skill
Queries the Australian Business Register (ABR) to validate ABNs, retrieve entity names, determine entity types, check GST registration status, and verify active/cancelled status. Essential for contractor deeming analysis, payroll tax compliance, and entity type determination.
When to Use
-
Validating a contractor's ABN before classifying payments
-
Determining entity type (company, trust, sole trader, partnership) for tax rate selection
-
Checking GST registration status for input tax credit eligibility
-
Verifying ABN is active (not cancelled) before processing payments
-
Populating entity details for new Xero organisation connections
-
Cross-referencing Xero contact ABNs for data quality checks
ABR API Configuration
Endpoint
https://abr.business.gov.au/abrxmlsearch/AbrXmlSearch.asmx/ABRSearchByABN
Parameters
Parameter Required Description
searchString
Yes 11-digit ABN
includeHistoricalDetails
No Y or N (default N )
authenticationGuid
Yes ABR API GUID from env ABR_GUID
Alternative Endpoints
Endpoint Use Case
ABRSearchByABN
Lookup by ABN (primary)
ABRSearchByASIC
Lookup by ACN (9-digit)
ABRSearchByName
Search by entity name (fuzzy)
ABRSearchByNameAdvanced
Search with state/postcode filters
ABN Validation Rules
Format Validation (Client-Side)
-
Must be exactly 11 digits
-
Apply ABN weighting algorithm:
-
Subtract 1 from the first digit
-
Multiply each digit by its weighting factor: [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
-
Sum the products
-
Result must be divisible by 89
Example Validation
ABN: 51 824 753 556 Step 1: Subtract 1 from first digit → [4, 1, 8, 2, 4, 7, 5, 3, 5, 5, 6] Step 2: Multiply by weights → [40, 1, 24, 10, 28, 63, 55, 39, 75, 85, 114] Step 3: Sum = 534 Step 4: 534 / 89 = 6.0 (exactly divisible) → VALID
Entity Type Mapping
ABR returns entity type codes that map to tax treatment:
ABR Entity Type Code Tax Rate Amendment Period Payroll Tax Grouping
Australian Private Company PRV 25%/30% 4 years Related body corporate
Australian Public Company PUB 30% 4 years Related body corporate
Individual/Sole Trader IND Marginal rates 2 years N/A
Family Trust TRT Trustee rates 4 years Tracing provisions
Unit Trust TRT Trustee rates 4 years Tracing provisions
Partnership PTR Partner rates 4 years Common employees
SMSF SMF 15%/0% 4 years N/A
Government Entity GOV Exempt N/A Exempt
Non-Profit NPF Varies 4 years Charitable exemption
Response Data Extraction
Key Fields
Field Path Use
Entity Name businessEntity/mainName/organisationName
Display name
Entity Type businessEntity/entityType/entityTypeCode
Tax rate selection
ABN Status businessEntity/ABN/isCurrentIndicator
Active check
GST Registered businessEntity/goodsAndServicesTax/effectiveFrom
Input tax credit
GST Status businessEntity/goodsAndServicesTax/isCurrentIndicator
Current registration
State businessEntity/mainBusinessPhysicalAddress/stateCode
Payroll tax jurisdiction
Postcode businessEntity/mainBusinessPhysicalAddress/postcode
Location verification
ACN businessEntity/ASICNumber
Company cross-reference
Output Format
<abn_lookup_result> <abn>51824753556</abn> <abn_valid>true</abn_valid> <abn_active>true</abn_active> <entity_name>Example Pty Ltd</entity_name> <entity_type>Australian Private Company</entity_type> <entity_type_code>PRV</entity_type_code> <gst_registered>true</gst_registered> <gst_effective_from>2015-07-01</gst_effective_from> <state>NSW</state> <postcode>2000</postcode> <acn>824753556</acn>
<tax_implications> <corporate_tax_rate>0.25</corporate_tax_rate> <!-- Base rate entity test required (passive income <80%) --> <amendment_period_years>4</amendment_period_years> <payroll_tax_grouping_risk>related_body_corporate</payroll_tax_grouping_risk> </tax_implications>
<lookup_metadata> <source>ABR API</source> <queried_at>2026-02-13T10:00:00+11:00</queried_at> <cache_ttl_hours>24</cache_ttl_hours> </lookup_metadata> </abn_lookup_result>
Privacy Considerations
-
ABR data is public information — no consent required for lookup
-
However, caching ABR responses containing sole trader names has privacy implications under APP 11
-
Sole trader lookups return individual names — handle with same care as personal information
-
Cache ABR responses for 24 hours maximum, then re-query
-
RLS policies on abn_lookup_cache table must restrict access to authenticated users only
Best Practices
-
Always validate ABN format client-side before making API call
-
Cache responses for 24 hours to reduce ABR API load
-
Handle ABN not found gracefully — entity may have recently registered or cancelled
-
Check GST status separately from ABN status — ABN can be active with cancelled GST
-
Entity type determines tax rate, amendment period, and payroll tax grouping — always extract
-
Rate limit ABR API calls — no published limit but be respectful (max 1 req/second)