Odoo Australia Localization 2026: GST, BAS, ATO STP & ABN Setup
Australia's tax framework is administered by the Australian Taxation Office (ATO), with GST set at 10% under the A New Tax System (Goods and Services Tax) Act 1999. Beyond GST, Australian businesses must navigate Pay As You Go Withholding (PAYGW), Single Touch Payroll Phase 2 reporting, superannuation guarantee contributions, and quarterly Business Activity Statements (BAS). Odoo's l10n_au localization covers the core chart of accounts and GST structure, but full STP Phase 2 compliance and ABN-aware processes require careful configuration.
Key Takeaways
- ATO administers GST (10%), PAYG withholding, FBT, and superannuation guarantee
- Single Touch Payroll Phase 2 mandatory since 1 January 2022; expanded reporting with country, income type, and disaggregated gross
- Odoo
l10n_auprovides AASB-aligned chart of accounts and GST tax codes (G1-G24)- ABN (11-digit) verification is mandatory before paying suppliers without 47% No-ABN withholding
- Superannuation Guarantee rate is 12% of OTE from 1 July 2025
- BAS lodged quarterly (or monthly for businesses > AUD 20M turnover) via ATO Online or SBR
- eInvoicing via Peppol PINT A-NZ format encouraged but not yet mandatory for B2B
Australia Tax Framework Overview
The ATO manages four main tax streams relevant to Odoo deployments:
- GST: 10% on most goods and services, with input tax credits for registered businesses; threshold AUD 75,000 turnover for registration (AUD 150,000 for non-profits)
- PAYG Withholding: Tax withheld from employee wages, contractor payments without ABN, and certain investment payments
- Fringe Benefits Tax (FBT): 47% on the grossed-up taxable value of non-cash employee benefits
- Superannuation Guarantee: Mandatory employer super contribution at 12% of Ordinary Time Earnings from 1 July 2025
The Australian Business Number (ABN) is the single identifier used across all federal taxes. Verifying ABN status via ABN Lookup before payment is a compliance prerequisite — payments to suppliers without a valid ABN trigger the No-ABN Withholding rule (47% withheld).
Required Odoo Localization Modules
| Module | Purpose | Edition |
|---|---|---|
l10n_au | Australian chart of accounts and GST | Community |
l10n_au_reports | BAS reports and PAYG summaries | Enterprise |
l10n_au_keypay | KeyPay/Employment Hero payroll integration | Enterprise |
l10n_au_stp | Single Touch Payroll Phase 2 | Enterprise (recent versions) |
l10n_au_aba | ABA bank file generation | Enterprise |
account_peppol | Peppol e-invoicing for A-NZ | Enterprise |
Many Australian Odoo deployments integrate KeyPay (now Employment Hero Payroll) for the most robust STP Phase 2 compliance, since native Odoo payroll has had gaps in handling all the Phase 2 disaggregated gross categories.
Chart of Accounts Setup
The Australian chart follows AASB (Australian Accounting Standards Board) standards, fully aligned with IFRS. The l10n_au module installs:
- 1xxx: Assets (cash, receivables, inventory, plant, goodwill)
- 2xxx: Liabilities (payables, GST control, PAYG, super payable, FBT)
- 3xxx: Equity
- 4xxx: Revenue
- 5xxx: Cost of goods sold
- 6xxx: Operating expenses
- 8xxx-9xxx: Other income/expenses, tax expense
Configure the company record with the ABN (11-digit), ACN (9-digit, Australian Company Number) if a company structure, GST registration date, and TFN (Tax File Number, only used internally for super and PAYG).
GST Configuration
GST in Odoo is mapped to BAS labels G1-G24. The l10n_au module installs the standard tax codes:
| Tax Name | Rate | BAS Label | Notes |
|---|---|---|---|
| GST 10% Sales | 10% | G1, 1A | Taxable sales |
| GST-Free Sales | 0% | G2/G3 | Exports / Food, medical |
| Input-Taxed Sales | 0% | G4 | Financial supplies, residential rent |
| GST 10% Purchases | 10% | G11, 1B | Capital purchases (G10) or non-capital (G11) |
| GST-Free Purchases | 0% | G14 | Imports without GST, exports |
| Input-Taxed Purchases | 0% | G13 | Used to make input-taxed supplies |
The distinction between capital purchases (G10) and non-capital (G11) is required by the BAS form. Configure Odoo's tax codes with the appropriate BAS report mapping.
<record id="account_tax_gst_10_purchase_capital" model="account.tax">
<field name="name">GST 10% Purchase Capital (G10)</field>
<field name="amount">10</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="l10n_au_bas_code">G10</field>
<field name="invoice_repartition_line_ids" eval="[
(0,0,{'factor_percent': 100, 'repartition_type': 'base', 'tag_ids': [(6,0,[ref('tag_g10').id])]}),
(0,0,{'factor_percent': 100, 'repartition_type': 'tax', 'account_id': ref('gst_paid_account'), 'tag_ids': [(6,0,[ref('tag_1b').id])]})
]"/>
</record>
ABN Verification and No-ABN Withholding
When paying suppliers, Australian businesses must withhold 47% if the supplier:
- Has not quoted an ABN, AND
- The transaction is not for a private/domestic supply, AND
- The total invoice exceeds AUD 75 (excluding GST)
Exceptions include statement-by-supplier declarations and hobbyist suppliers under the threshold. Odoo workflows should validate vendor ABN status (active, registered, GST-registered) before bill posting. Custom modules call the ABN Lookup web service (abr.business.gov.au/json/) to retrieve current status.
Single Touch Payroll Phase 2
STP Phase 2 has been mandatory since 1 January 2022 (with extended deadlines for some employers). Compared to Phase 1, Phase 2 requires:
- Disaggregated gross: Separate reporting of gross salary, allowances (broken into 9 categories), bonuses, directors' fees, paid leave, salary sacrifice, lump sum payments
- Income type code: SAW (salary and wages), CHP (closely held payee), WHM (working holiday maker), FEI (foreign employment), and others
- Employment basis: F (full-time), P (part-time), C (casual), L (labour hire), V (voluntary agreement), D (death beneficiary), N (non-employee)
- Country code: For foreign employees and working holiday makers
- Tax treatment code: Six-character code combining residency, claim type, study/training loan, and Medicare levy variation
Each pay event (typically per pay run) must be lodged with the ATO on or before the payday using the SBR (Standard Business Reporting) framework with an AUSkey or Machine Credential.
For Odoo Enterprise versions with native STP Phase 2 support, configure each employee with the income type, employment basis, country code, and tax treatment code. For older versions or complex scenarios, integration with KeyPay/Employment Hero remains the most reliable path.
Payroll Considerations
Australian payroll components:
| Item | Rate | Notes |
|---|---|---|
| PAYG Withholding | Per ATO weekly/fortnightly/monthly tax tables | Based on TFN declaration |
| Superannuation Guarantee | 12% of OTE | From 1 July 2025; was 11.5% in FY2024-25 |
| Salary Sacrifice (Super) | Employee-elected | Reduces taxable income, reported in STP |
| Medicare Levy | 2% | Built into PAYGW tables |
| Study/Training Loan | Per HELP/HECS rates | Withheld via PAYG tables |
Award compliance (Modern Awards under Fair Work) adds complexity for hospitality, retail, and other sectors with prescribed rates, allowances, and penalty rates. Odoo's native payroll cannot fully model awards — most Australian deployments use KeyPay/Employment Hero or custom award engines.
eInvoicing via Peppol PINT A-NZ
Australia and New Zealand have adopted Peppol PINT A-NZ (formerly BIS Billing 3.0) as the standard for cross-business e-invoicing. The federal government mandated Peppol receipt capability for Commonwealth agencies in 2022. B2B mandates have been discussed but not yet legislated as of 2026.
Odoo Enterprise supports Peppol via account_peppol and the ANZ-specific PINT format. Setup requires:
- Registering as a Peppol participant (typically via an access point)
- Obtaining a Peppol ID (often based on the ABN with the 0151 scheme)
- Configuring
account_peppolwith the access point credentials - Mapping invoice fields to the PINT A-NZ schema
Reporting Requirements
Statutory reports an Australian Odoo deployment must produce:
- BAS (Business Activity Statement): Quarterly or monthly GST/PAYG/FBT reporting
- IAS (Instalment Activity Statement): For PAYG instalments where applicable
- STP Pay Event: Per pay run via SBR
- STP Finalisation Declaration: Annual end-of-year declaration (replaces payment summaries)
- Taxable Payments Annual Report (TPAR): For specific industries (building, cleaning, courier, IT, security) reporting payments to contractors
- FBT Return: Annual fringe benefits tax return
Implementation Checklist
- Confirm ABN, GST registration, and TFN
- Install
l10n_auandl10n_au_reports; configure ABN, ACN, GST status - Verify chart of accounts; map BAS labels (G1-G24, 1A-1B) to tax codes
- Configure capital vs non-capital purchase tax distinction
- Set up vendor records with ABN; integrate ABN Lookup validation
- Choose payroll path: native Odoo STP or KeyPay/Employment Hero integration
- Configure all employees with STP Phase 2 fields (income type, employment basis, tax treatment)
- Set super rate to 12% (effective 1 July 2025)
- Build BAS report mapping aligned to ATO label format
- Lodge a test STP pay event and BAS via SBR before live submission
Common Pitfalls
Wrong super rate: Super Guarantee increases on 1 July of each year. Hard-coding 11.5% in FY2025-26 underpays employees and triggers Super Guarantee Charge (SGC) penalties.
Missing capital purchase distinction: BAS Label G10 (capital) is separate from G11 (non-capital). Treating all purchases as non-capital miscategorizes the BAS report.
No-ABN withholding ignored: Paying suppliers without ABN verification exposes the buyer to penalties for unwithheld 47%. Build ABN validation into vendor onboarding.
STP Phase 2 missing fields: Tax treatment codes are six characters mapping residency + claim status + study loan + Medicare. Default values cause STP rejection.
FBT not tracked: Employee benefits like vehicle FBT, entertainment FBT, and LAFHA (Living Away From Home Allowance) need separate tracking. Odoo doesn't natively compute FBT — usually a year-end manual or spreadsheet exercise.
ECOSIRE provides Odoo localization for Australia, including STP Phase 2, BAS reporting, and Peppol e-invoicing setup. Contact us for implementation or learn about our accounting services for ongoing BAS support.
Frequently Asked Questions
Can Odoo handle Single Touch Payroll Phase 2 natively?
Recent Odoo Enterprise versions (17+) include native STP Phase 2 reporting. However, complex scenarios (multiple income types, foreign employees, working holiday makers, detailed allowance disaggregation) often work better with KeyPay/Employment Hero integrated to Odoo via the Employment Hero connector. ECOSIRE typically recommends KeyPay for businesses with 50+ employees or complex award structures.
How do we manage Modern Awards in Odoo?
Native Odoo doesn't model Modern Awards (Fair Work Australia award rates, allowances, penalty rates, overtime). Most Australian deployments either configure manual rates per pay run or integrate KeyPay/Employment Hero, which has built-in award engines for major industries (hospitality, retail, clerks, building, etc.).
Do we need to use Peppol e-invoicing in Australia?
Peppol is mandatory for invoices to Commonwealth government agencies. For B2B, it's voluntary as of 2026 but increasingly adopted. Implementing Peppol now positions you for future mandates and improves cash flow with government customers. Odoo's account_peppol module makes this straightforward through a registered access point.
What is the difference between BAS and IAS?
BAS includes GST, PAYG withholding, PAYG instalments, FBT instalments, and other taxes in one form. IAS is for businesses without GST registration that still have PAYG obligations. Most Odoo deployments produce BAS quarterly. The lodgement frequency depends on turnover (monthly for >AUD 20M, quarterly otherwise).
How does Odoo handle the ABN Lookup integration?
Out-of-the-box, Odoo doesn't validate ABNs against the ATO's ABN Lookup. Custom modules call the ABN Lookup JSON API (free with registered GUID) to verify supplier ABN status, GST registration, and entity type. ECOSIRE has a reusable connector that auto-validates vendors on creation and flags No-ABN scenarios for review.
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
How to Add a Custom Button to an Odoo Form View (2026)
Add custom action buttons to Odoo 19 form views: Python action method, view inheritance, conditional visibility, confirmation dialogs. Production-tested.
How to Add a Custom Field in Odoo Without Studio (2026)
Add custom fields via custom module in Odoo 19: model inheritance, view extension, computed fields, store/non-store decisions. Code-first, version-controlled.
How to Add a Custom Report in Odoo Using External Layout
Build a branded PDF report in Odoo 19 using web.external_layout: QWeb template, paperformat, action binding. With print logo + footer overrides.