Report payroll and PAYG data to the ATO via Single Touch Payroll (STP) API integration
domain: softwaredevelopers.ato.gov.au · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Register as a Digital Service Provider with the ATO to obtain a Payroll Product ID per the STP document library's onboarding requirements
Build payroll software against the ATO's Standard Business Reporting (SBR) technical artefacts, implementing the Payroll Event (PAYEVNT) service per the STP Business Implementation Guide
Submit a pay event to the ATO on or before each pay day, reporting gross wages, PAYG withholding, and superannuation liability information
Handle the ATO's validation response, correcting and resubmitting update events for amendments
For software unable to implement the full API, use the CSV/XML upload fallback through the ATO's Single Touch Payroll portal
Known gotchas
STP reporting is mandatory (with narrow closely-held-payee concessions) and must occur on or before each pay day — batching pay events to a later period is non-compliant
The PAYEVNT service authenticates via RAM (Relationship Authorisation Manager) machine credentials, not the retired AUSKey — cloud software typically has credentials built in by the DSP, while desktop/locally-hosted software must create and install its own machine credential through RAM
Payroll software without a registered Payroll Product ID risks STP reports not being recognized as compliant by the ATO
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?