abn-entity-lookup

ABN Entity Lookup Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "abn-entity-lookup" with this command: npx skills add cleanexpo/ato/cleanexpo-ato-abn-entity-lookup

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)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

video-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

simple-report-export

No summary provided by upstream source.

Repository SourceNeeds Review
General

google-slides-storyboard

No summary provided by upstream source.

Repository SourceNeeds Review
General

xero-api-integration

No summary provided by upstream source.

Repository SourceNeeds Review