Single Touch Payroll Phase 2 is the permanent payroll reporting standard for every Australian employer. There are no more extensions, no more grace periods, and the ATO has shifted from education to enforcement. If you're still unsure whether your reporting is right, this is the guide to read
I process payroll for dozens of businesses every week. The most common thing I see isn't people ignoring STP Phase 2 - it's people who think they're compliant but aren't. Their software updated, they clicked a few buttons during the transition, and they assumed everything was sorted. Then an employee's income statement looks wrong at tax time, or Services Australia queries a payment, and suddenly there's a mess to untangle
The detail matters here. And it's the detail that trips people up
What Single Touch Payroll Phase 2 actually changed
STP started in 2018 as a way to report payroll information to the Australian Taxation Office in real time. Every time you ran a pay run, your software sent across gross pay, tax withheld, and super. That was Phase 1
Phase 2, which became mandatory from 1 January 2022, expanded that reporting significantly. Instead of a single gross figure, you now need to break down every payment into its components. The ATO shares this data with Services Australia, the Department of Employment, and other agencies - so the accuracy of what you report has real consequences for your employees' Centrelink entitlements, child support calculations, and tax returns
The main changes are worth understanding properly, because each one is a place where errors hide
Disaggregated gross payments
Under Phase 1, you reported one gross number. Phase 2 requires you to separate that into individual components - salary and wages, overtime, bonuses and commissions, directors' fees, paid leave (reported separately from gross earnings now), and allowances broken out by type. A lump sum that used to be one line is now five or six. If your payroll categories aren't mapped correctly, the numbers the ATO receives won't match reality
Income type codes
Every employee needs an income type classification. The most common is SAW (salary and wages), but there are others that matter - CHP for closely held payees like directors and family members of private companies, WHM for working holiday makers, SWP for seasonal worker programme participants, and several more. Getting this wrong changes which tax table applies. I've seen working holiday makers classified as SAW, which means they were taxed at resident rates instead of the correct 15% flat rate. The employee doesn't notice until their tax return, and by then it's a problem
Employment basis and tax treatment
You report whether each employee is full-time, part-time, casual, labour hire, or a volunteer. This replaced the old paper TFN declaration process - that information now flows through your STP report. It sounds simple, but if someone's employment basis is wrong in your payroll system (say, a part-timer coded as casual), it affects their entitlements and how their income is assessed by other agencies
Cessation details
When an employee leaves, you now report the reason - resignation, redundancy, dismissal, contract end, or transfer. This replaced the old employment separation certificate process. The ATO uses this to determine entitlements, and Services Australia uses it to assess eligibility for income support. If you select the wrong cessation reason, your former employee might have their Centrelink claim delayed
Where the mistakes actually happen
After three years of Phase 2 being live, I can tell you the errors aren't random. They follow patterns
The biggest one is allowance misclassification. Travel allowances, meal allowances, car allowances, tool allowances, laundry allowances - each has a specific reporting code, and each is treated differently for tax and super purposes. Plenty of businesses still lump them together under a generic "allowance" category because that's how it was set up years ago. Phase 2 needs them separated
Second is the overtime and bonus separation. Under Phase 1, overtime and bonuses were part of gross. Now they're reported as distinct components. If your pay categories in Xero (or whatever software you use) don't map to the right STP Phase 2 reporting codes, you'll report a gross figure that doesn't reconcile with the components. The ATO's data matching will flag it
Third - and this one catches small businesses more than anyone - is the closely held payee classification. If you're a director of your own company and you pay yourself a salary, or you pay your spouse, those payments should be classified as CHP, not SAW. The reporting obligations and payment frequency rules are different for closely held payees, and getting this wrong has been one of the most common errors since Phase 2 started
The ATO is done being patient
This is the part that should get your attention if it hasn't already
When STP Phase 2 first rolled out, the ATO took an education-first approach. Genuine mistakes in the first year didn't attract penalties. Businesses were given time to transition, and the ATO focused on helping people get it right rather than punishing errors
That period is over. In mid-2025, the ATO announced it was developing a new Practice Statement specifically addressing penalties for STP reporting failures. The shift from education to enforcement is explicit. Failure to lodge STP reports on time is treated as a failure-to-lodge event, and the penalties are calculated per pay run - not per financial year
The maths is straightforward. One penalty unit is currently $330. The ATO charges one penalty unit for every 28-day period (or part of one) that a report is overdue, capped at five penalty units per event. For a medium-sized business with turnover between $1 million and $20 million, the base penalty is doubled. So if you're running fortnightly payroll and you miss two reports, you're potentially looking at multiple penalty events stacking up quickly
And that's just the failure-to-lodge side. False or misleading statements in your STP reports - which includes incorrectly coded income types or wrong allowance classifications - carry separate penalties based on the severity of the error and whether the ATO considers it carelessness, recklessness, or intentional
Payday Super changes everything again from July 2026
Just as businesses have (mostly) gotten their heads around Phase 2 reporting, Payday Super arrives on 1 July 2026. Under the new rules, employers must pay superannuation at the same time as salary and wages - not quarterly. The ATO will match your STP-reported super liability against actual contributions received by super funds via SuperStream. If there's a mismatch, they'll flag it
What this means for STP reporting is significant. Your Phase 2 report will now include both Ordinary Time Earnings (OTE) amounts and the corresponding super liability for each employee, every pay run. The ATO's ability to see what you owe versus what you've actually paid, in near real-time, is a step change in compliance visibility. The super guarantee gap is estimated at over $6 billion - the government wants to close it, and STP plus Payday Super is the mechanism
If your STP reporting is already shaky - and this is one reason businesses move to outsourced payroll - wrong OTE calculations, allowances included in super that shouldn't be, or vice versa - Payday Super will surface those errors faster than ever
How to check you're actually compliant
Run a test. Pull up your last STP event report in Xero (or your payroll software) and check these things
Are your employees classified with the correct income type? Check directors and family members specifically - they should be CHP, not SAW. Check any employees on working holiday visas
Are allowances broken out by type, or lumped together? If you pay travel, meals, tools, or vehicle allowances, each should map to its own STP reporting code
Is overtime reported separately from base salary? Are bonuses and commissions separated from gross?
Is paid leave reported as a separate component rather than bundled into gross earnings?
When you last terminated an employee, did you include the correct cessation reason and date in the STP report?
If you answered "I'm not sure" to any of those, your reporting probably needs a review. And I'd rather you found out now than when the ATO's data matching flags it
What a payroll review looks like in practice
When we onboard a new managed payroll client, the first thing we do is audit their STP setup. Not the pay rates or leave balances (though we check those too) - the reporting configuration. We look at every employee's income type code, their employment basis, their allowance mappings, their super fund details, and their termination records if any have left. (If you process ETPs, note that Xero defaults the PAYG rate to 32% - which is wrong for employees at or above preservation age.)
We typically find errors in about seven out of ten businesses. Not because anyone did anything deliberately wrong - because the Phase 2 transition happened in 2022 or 2023, someone clicked through a migration wizard, and nobody went back to verify that the automatic mappings were actually correct
The fixes are usually straightforward. Recoding an income type, splitting a combined allowance into its components, updating an employment basis. But each fix needs to be lodged as a correction through STP, and the corrected year-to-date figures need to flow through to the ATO. It's admin, but it's important admin
If you're processing payroll yourself, or if you've got a bookkeeper who isn't confident with STP Phase 2 specifics, this is worth investing time in before 30 June. EOFY finalisation is when the ATO locks in your employees' income statements for tax returns - and whatever is in your STP data at that point is what flows through to their myGov
Get it right before finalisation. It's much harder to fix after
Reporting requirements, penalty rates, and compliance obligations referenced in this article are sourced from the Australian Taxation Office, current as at March 2026



