STP Phase 2 Requirements Explained — What Australian Employers Need in 2026
Published 24 April 2026 · 10 min read
Single Touch Payroll (STP) Phase 2 has been mandatory since January 2022, but many Australian small businesses still don't fully understand what's changed versus Phase 1, or what their software needs to produce. This post explains what the ATO expects, where software usually falls short, and what you should check before your next pay run.
STP Phase 1 vs Phase 2 — the practical difference
Phase 1 asked you to report total gross wages as a single number per pay run. Phase 2 asks you to break that total down into its components. It's the difference between "I paid Jane $1,500" and "I paid Jane $1,200 base salary + $200 overtime + $100 tool allowance."
Why? The ATO wants enough detail to:
- Pre-fill more of your employees' tax returns automatically
- Share income data with Services Australia (Centrelink) to reduce double-reporting
- Enforce targeted rules (e.g. only certain allowances are tax-free)
The Phase 2 disaggregated income components
Every pay run must report each of these separately where applicable:
- Gross payments (base salary/wages — not holiday, not leave)
- Paid leave (cash-out, unused, ancillary/defence, other paid)
- Allowances — itemised by type (car, travel, tool, uniform, meal, other)
- Overtime
- Bonuses and commissions
- Directors' fees
- Back pay (lump sum payments related to prior periods)
- Return to work payments
If your payroll software is reporting a single "gross" number in 2026, it's wrong.
Tax treatment codes
Phase 2 introduced a 6-character tax treatment code per employee that replaces the old tax scale number. The code encodes:
- Residency (resident, working holiday maker, foreign resident, seasonal worker)
- Tax-free threshold claimed
- Medicare levy exemption / surcharge
- Study loan obligations (HELP, SFSS, TSL)
- Tax offset entitlements
Example: RTSLSL = Resident, Tax-free threshold, Study and training support loan, regular. A previous Scale 2 employee with a HELP debt would now be RTSLSR (R suffix = regular weekly/fortnightly/monthly).
Things software commonly gets wrong
1. Year-to-date reporting fails at mid-year changes
If an employee gets a pay rise mid-year, YTD totals must still reflect the full year. Some software recalculates from the rate change forward, producing incorrect YTD sums. Check that your software treats YTD as a cumulative total, not a rate × period calculation.
2. Allowances lumped into "other"
Phase 2 wants specific allowance types. "Other allowances" is a catch-all that signals to the ATO your software doesn't know what it's reporting. Use specific types (travel, tool, etc.) wherever possible.
3. Salary sacrifice reported net instead of gross
If an employee salary-sacrifices $200/week into super, you report the full gross ($1,200) AND the salary sacrifice component ($200) separately. Reporting $1,000 net breaks the year-end reconciliation.
4. Lump sums not categorised
Back pay, lump sum A (redundancy), lump sum B (long-service), lump sum D (ETP tax-free) each have specific reporting codes. A general "bonus" line is insufficient.
What your software needs to expose
Before you trust your payroll system for Phase 2, confirm it:
- Reports each income component separately per pay run
- Generates the 6-character tax treatment code per employee
- Tracks YTD per component, not just total gross
- Handles common allowance types with correct tax treatment
- Handles salary sacrifice gross + reduction components
- Exports structured STP data (usually JSON) that a registered DSP can submit
DSPs and the last-mile problem
The ATO doesn't accept payroll submissions directly from just any software. Submissions go through a Digital Service Provider (DSP) — a registered intermediary that has been assessed by the ATO. Your payroll software produces the structured STP data; the DSP submits it on your behalf.
Your accountant is often a DSP or has a DSP relationship. Alternatively, cloud payroll services (Xero Payroll, MYOB, QuickBooks, BBN Accounting) can function as DSPs or have partnerships. Check that your submission path is registered before the end of a quarter, not the day before the deadline.
Common Phase 2 audit findings
From practical experience with ATO audits of Phase 2 submissions:
- Allowances under-reported (using "other" instead of specific types)
- Employee TFN missing (reported as 111-111-111, the "no TFN" placeholder, when the employee has actually provided one)
- Director's fees reported as regular wages (wrong tax treatment)
- YTD totals not matching year-end summaries
- Tax withheld doesn't match the tax treatment code formula (usually a data entry issue)
How to audit your own Phase 2 submissions
After every pay run, export the STP submission data and spot-check:
- Does each employee's gross match your payroll summary? Same number, different label = fine; different number = bug.
- Are allowances itemised or bundled?
- Is the tax treatment code correct for each employee (especially HELP debt holders)?
- YTD totals: sum your prior submissions — do they match the current YTD field?
A 5-minute check after each pay run catches 95% of issues before they become an end-of-year reconciliation nightmare.
BBN Accounting's approach
BBN Accounting implements STP Phase 2 natively:
- Per-employee tax treatment code generation
- Disaggregated income reporting (base, overtime, bonuses, director fees, allowances, salary sacrifice)
- YTD aggregation as a cumulative total, not a recalculated rate
- Structured JSON export for DSP submission
- Spot-check reports after each pay run
- Encrypted TFN storage (AES-128-CBC + HMAC-SHA256) — critical given Phase 2 transmits TFN more often than Phase 1
See BBN Accounting · Xero comparison
References
See also
BBN Accounting
STP Phase 2 implemented natively
Xero alternative
If Xero Payroll is the reason you are looking
MSP pricing guide
Related business reading