Project Description
Title: Australian Payroll Expert (STP Phase 2 / ATO ECT) – Mapping & Test Fixes
Description:
We are an Australian payroll software company currently undergoing ATO STP Phase 2 External Conformance Testing (ECT).
Our submission infrastructure is already complete and working (Ozedi + MessageXchange). We are successfully generating and submitting STP files.
We are NOT looking for help with integration or XML transport.
We need an expert to review and correct our payroll mapping logic and business rules to pass remaining ECT test cases.
Scope of Work:
Review failing ECT test cases
Identify incorrect STP classifications and business rule issues
Correct mapping for:
Earnings (gross vs overtime vs bonuses)
Allowances (vehicle, travel, tools, etc.)
Leave types (paid leave, cash out, termination scenarios)
Lump sum classifications
Provide clear logic or pseudocode for implementation
Help ensure outputs align with ATO STP Phase 2 requirements
Assist until test cases pass
Important Notes:
Our system currently uses hardcoded mappings — we need guidance toward correct logic (and ideally a more scalable rules-based approach)
This is NOT a basic payroll processing job
This is NOT a UI or frontend role
Required Experience (ESSENTIAL):
Direct experience with Australian STP Phase 2
Experience working on payroll software systems (not just running payroll)
Strong understanding of ATO reporting categories and classification rules
Experience with one or more of:
Xero Payroll
MYOB
Employment Hero / KeyPay
ADP / SAP / Workday payroll systems
Highly Preferred:
Experience with ECT / conformance testing
Experience fixing payroll mapping issues
Ability to explain decisions clearly (not just code blindly)
Engagement:
Short-term contract (expected 1–3 weeks)
Immediate start
Goal: Pass remaining ECT test cases
To Apply:
Please include:
Your experience with STP Phase 2
Payroll systems you have worked on
Any experience with ECT or payroll mapping issues
Brief explanation of how you would approach fixing mapping issues
Screening Question (mandatory):
How would you handle a pay item that must be reported differently depending on whether it is normal pay, a cash out, or part of a termination?