โ† Back to blog
ยท7 min readยทtryexcept

Odoo 19 Payroll Australia: What You Need to Know

OdooOdoo 19PayrollAustraliaSTPSingle Touch PayrollERP

Payroll has been the most-requested missing piece for Odoo in Australia. For years, Australian businesses running Odoo have had to either bolt on third-party payroll software (like KeyPay, Xero Payroll, or Employment Hero) or build custom workarounds. With Odoo 19, that changes โ€” Odoo is shipping a native Australian payroll module.

This is a significant release for Australian Odoo users. Let's walk through exactly what's included, what's not, and what you need to consider before switching your payroll to Odoo 19.

What Odoo 19 Australian payroll includes

The Odoo 19 payroll localisation for Australia covers the core requirements that most Australian businesses need:

  • STP Phase 2 compliance โ€” Single Touch Payroll reporting directly from Odoo to the ATO. Income types, tax treatment codes, and disaggregated gross amounts are all supported.
  • Tax calculations โ€” PAYG withholding based on current ATO tax tables, including tax-free threshold, HELP/HECS debt, Medicare levy, and Medicare levy surcharge.
  • Superannuation โ€” Super guarantee calculated automatically at the current rate. Super fund details stored per employee, with reporting ready for clearing house submission.
  • Leave management โ€” Annual leave, personal/carer's leave, and long service leave accruals configured for Australian standards. Leave loading supported.
  • Award interpretation basics โ€” Configurable pay rules for common award conditions including penalty rates, overtime, and shift loadings.
  • Payslip generation โ€” Standard Australian payslip layout with gross, tax, super, deductions, and net pay clearly displayed.

STP Phase 2: how it works in Odoo 19

Single Touch Payroll Phase 2 is now the mandatory reporting standard for all Australian employers. Odoo 19 handles this natively โ€” when you process a pay run, the STP data is generated automatically and can be submitted to the ATO.

The key STP Phase 2 fields are built into the employee record and payslip structure:

  • Income types โ€” Salary and wages, closely held payees, working holiday makers, etc.
  • Tax treatment codes โ€” Regular, actors, seniors, horticulturists, and other ATO-defined categories.
  • Disaggregated gross โ€” Gross earnings broken down by type (base, overtime, bonuses, allowances) as required by STP2.
  • Finalisation events โ€” End-of-year STP finalisation can be triggered from within Odoo.
โ„น๏ธ

STP submission requires a connection to an ATO-approved sending service provider. Odoo 19 generates the STP file โ€” but you'll need to confirm which gateway is used for actual submission to the ATO. Check Odoo's documentation for the latest on supported providers.

Superannuation handling

Super is calculated automatically on ordinary time earnings (OTE) at the legislated super guarantee rate. Odoo 19 stores super fund details (USI, member number, fund ABN) per employee and calculates contributions per pay run.

However, the actual payment of super contributions to clearing houses (like the ATO Small Business Super Clearing House or commercial providers like Beam) is not handled directly by Odoo at launch. You'll generate the super data from Odoo and submit it to your clearing house separately.

โš ๏ธ

Expect this to improve over time. Direct clearing house integration is a natural next step, but for the initial release, plan for a manual super submission workflow.

Leave management in Odoo 19 payroll

The Australian payroll module configures leave types to match Australian entitlements:

  • Annual leave โ€” 4 weeks per year for full-time employees, pro-rated for part-time. Leave loading (17.5%) configurable.
  • Personal/carer's leave โ€” 10 days per year, accumulated progressively.
  • Long service leave โ€” Configurable per state/territory, as LSL rules vary across Australian jurisdictions.
  • Unpaid leave, compassionate leave, and parental leave โ€” Standard leave types included with correct payslip treatment.

Leave accruals are calculated automatically each pay run and reflected on payslips. Leave balances integrate with Odoo's Time Off module, so employees can request leave through the self-service portal and managers can approve it โ€” all flowing through to payroll.

What Odoo 19 payroll doesn't cover (yet)

As with any first release of a payroll localisation, there are gaps. Be aware of these before migrating:

  • Complex award interpretation โ€” Basic penalty rates and overtime rules are supported, but highly complex multi-award environments (e.g., hospitality with rotating rosters across multiple awards) may need custom configuration or third-party tools.
  • Direct super clearing house payments โ€” Super data is generated but not submitted directly to clearing houses from Odoo.
  • Workers' compensation reporting โ€” Not built into the initial release.
  • Payroll tax by state โ€” State-based payroll tax calculations and reporting may require additional configuration depending on your setup.
  • Payment summaries for pre-STP periods โ€” If you need historical payment summaries for periods before you started using Odoo payroll, you'll need to handle those from your previous system.

Should you switch your payroll to Odoo 19?

It depends on your situation. Here's our honest assessment:

  • Good fit โ€” Small to mid-sized businesses (under 100 employees) running Odoo 19 who want everything in one system and have relatively standard payroll needs.
  • Proceed with caution โ€” Businesses with complex award structures, multiple enterprise agreements, or heavy reliance on advanced payroll features. Test thoroughly in staging first.
  • Wait and see โ€” If you're already happy with KeyPay, Xero Payroll, or Employment Hero and they're working well. There's no urgency to switch โ€” let the Odoo module mature for a version or two.
๐Ÿ’ก

Our recommendation: if you're already on Odoo 19 or planning to upgrade, trial the payroll module in a staging environment with a few months of real payroll data. Compare the outputs against your current payroll system before committing to a full switch.

How to set up Odoo 19 payroll for Australia

  • Install the Australian payroll module โ€” Available in Odoo 19 Enterprise. Activate it from the Apps menu.
  • Configure your company โ€” Set your ABN, registered business address, and default super fund details.
  • Set up pay structures โ€” Configure pay rules for your awards or enterprise agreements. Odoo ships with a default Australian pay structure that covers most standard scenarios.
  • Add employee payroll details โ€” TFN, super fund, tax treatment code, employment type, and leave entitlements per employee.
  • Run a test pay cycle โ€” Process a pay run in your staging environment and verify tax calculations, super, and STP output against your current system.

Our take

This is a big milestone for Odoo in Australia. Payroll has been the one module that forced Australian businesses to maintain a separate system โ€” and that separation always creates friction. Having payroll natively in Odoo means employee data, leave, timesheets, expenses, and pay all live in one place.

That said, payroll is not something you rush. It's the one area of your business where getting it wrong has immediate consequences โ€” underpaid staff, ATO non-compliance, or incorrect super. Trial it thoroughly, compare outputs, and don't cut over until you're confident.

If you need help setting up Odoo 19 payroll for your Australian business, testing it against your current payroll, or migrating from another payroll provider, get in touch. We're already working with early adopters and can help you get it right.

Ready to switch to Odoo 19 payroll?

We help Australian businesses set up and test Odoo 19 payroll. Get in touch to discuss your migration.

Get in touch โ†’