Australia STP Phase 2
Single Touch Payroll Phase 2 pay events for Odoo — disaggregated gross, income types and ATO-ready lodgement through your own SSP
Build STP Phase 2 pay events for the Australian Taxation Office. The single Phase 1 gross is itemised into its Phase 2 components, each payee carries the correct income type, and a canonical pay-event JSON is produced for lodgement through your own Sending Service Provider — your SBR credentials, never ours (BYOK).
Disaggregated gross
Gross is split into residual gross, paid leave, allowances, overtime, bonuses & commissions, directors' fees, salary sacrifice and lump sums — with PAYG withholding and the super liability carried per payee, exactly as STP Phase 2 requires.
Income types
The full Phase 2 income-type set (SAW, CHP, IAA, WHM, SWP, FEI, JPD, VOL, LAB, OSP). The home-country code is enforced for Working Holiday Makers, Foreign Employment Income and Inbound Assignees.
TFN & ABN validation
Tax File Numbers are checked with the ATO modulus-11 algorithm (exemption codes accepted); the payer ABN is checked with the ABR modulus-89 algorithm, with a 9-digit WPN fallback.
Year-to-date pay event
Each event assembles the payer header and one year-to-date payee record per employee with control totals, then exports a canonical, compact pay-event JSON ready for your SSP to lodge over the SBR ebMS3 channel.
Bring your own keys (BYOK)
Lodgement to the ATO is performed by your own registered Sending Service
Provider using your SBR credentials. This module generates and validates
the pay event; the production and test SBR endpoints are editable
defaults. No Enterprise hr_payroll dependency is required.
Compatibility
Works on Odoo 18 and 19, Community and Enterprise. Built on
hr + account.
Screenshots
Stp Phase 2 Pay Event Valida
Stp Phase 2 Pay Events List
Update date: 2026-07-02