Processing a pay run is the bread and butter of payroll. In Odoo, a pay run involves generating payslips for a group of employees for a specific pay period, verifying the calculations, exporting bank payments, and lodging STP. This guide walks through the entire process from start to finish.
Before you start: pay run checklist
- โ All timesheets/rosters for the period are submitted and approved
- โ Leave requests for the period are approved (or rejected)
- โ Any new employees have been set up with contracts, TFN, super fund
- โ Any terminations have been processed
- โ Ad-hoc payments (bonuses, commissions, reimbursements) are documented
- โ Salary changes effective this period have been updated on contracts
Step 1: Review work entries
Work entries are the building blocks of payslips. They represent hours worked and how they should be classified:
- Go to Payroll โ Work Entries โ Work Entries
- Filter by the current pay period
- Review for conflicts (shown in red): these are usually overlapping entries, missing entries, or unlinked attendances
- Resolve any conflicts โ common issues include employees with no work schedule, or leave requests not approved
- If using timesheets, verify that hours from the Timesheet module have flowed through correctly
- If using the Planning module, verify that shifts are correctly mapped to work entry types
Set a deadline for timesheet submission (e.g., end of day Monday for a Wednesday pay run). Chase up missing timesheets before you start โ it's far easier than adjusting payslips after the fact.
Step 2: Generate payslips
- Go to Payroll โ Payslips โ All Payslips
- Click Generate Payslips
- Select the salary structure, department (or all), and pay period dates
- Odoo creates a draft payslip for each eligible employee
- The payslip calculations include: gross pay (based on work entries), PAYG withholding (from ATO tax tables), superannuation (% of OTE), deductions, net pay
Step 3: Review payslips
This is the most important step. Review payslips before confirming:
- Open each payslip and check the Salary Computation tab
- Verify gross pay matches expected hours ร rates
- Verify PAYG withholding is reasonable (use the ATO tax tables or tax calculator to spot-check)
- Verify super is calculated correctly (12% of OTE for 2025-26)
- Check for any unusual amounts โ missing penalty rates, incorrect overtime, etc.
- For employees on leave, verify leave pay is at the correct rate (including leave loading if applicable)
- Check the Net Pay โ is it in the expected range for this employee?
For the first few pay runs, compare Odoo's calculations against your previous payroll system or a manual spreadsheet. Once you're confident the rules are correct, this verification becomes faster.
Step 4: Handle ad-hoc items
Before confirming, add any one-off items:
- Bonuses โ Add as an "Other Input" line on the payslip. Ensure PAYG and super are calculated on it.
- Commissions โ Add with the correct income type for STP reporting.
- Expense reimbursements โ Add as a non-taxable line (no PAYG, no super).
- Salary sacrifice adjustments โ Verify the pre-tax deduction is correct.
- Child support deductions โ If you've received a notice from Services Australia, deduct the specified amount.
- Back-pay โ If correcting a previous underpayment, add as a separate input with the correct period reference.
Step 5: Confirm payslips
- Select all reviewed payslips
- Click Confirm (or use the batch "Confirm" action)
- This locks the payslips โ amounts can no longer be changed without creating a correction
- Journal entries are created in Odoo Accounting: debiting salary expense and crediting payables (net pay, PAYG liability, super liability)
- Leave balances are updated for any leave taken during the period
Step 6: Export bank payment file
Generate the bank file to pay your employees:
- Go to Payroll โ Payslips โ Batches
- Select the confirmed batch
- Click Generate Bank File โ this creates an ABA file (Australian Bankers Association format)
- The ABA file contains each employee's BSB, account number, and net pay amount
- Upload the ABA file to your bank's internet banking portal
- Schedule the payment for pay day
- Some banks (CommBank, ANZ, NAB, Westpac) allow automated upload via API โ consider this for larger businesses
Always verify the ABA file total matches the total net pay from Odoo before uploading to the bank. A mismatched total usually indicates a payslip was missed or an employee's bank details are incorrect.
Step 7: Submit STP report
STP must be lodged on or before pay day:
- Go to Payroll โ Reporting โ STP Submission
- Review the STP data โ gross, PAYG, super, income types, disaggregation
- Submit to the ATO
- Wait for the acknowledgement โ "Success" or "Error with details"
- If errors occur, fix the underlying employee data and resubmit
Step 8: Process superannuation
- Export the super contributions file from Payroll โ Reporting โ Super Contributions
- Upload to your clearing house (ATO Small Business Super Clearing House or commercial provider)
- Make the super payment โ a single bank transfer to the clearing house
- The clearing house distributes to individual employee super funds
- While the ATO deadline is quarterly, best practice is to pay super each pay run
Step 9: Distribute payslips
- Employees can view their payslips in the Odoo Employee Self-Service portal
- Alternatively, email payslips as PDF: select payslips โ Print / Send by Email
- Payslips must show: employer name, employee name, pay period, gross earnings breakdown, deductions, net pay, YTD totals, super contributions
- Under the Fair Work Act, you must provide payslips within 1 business day of payment
Step 10: Reconcile payroll in accounting
After the pay run, verify the accounting entries:
- Check the Salary Expense accounts in the general ledger
- Verify the PAYG Withholding Liability account balance โ this should be remitted to the ATO as per your BAS lodgement schedule
- Verify the Super Liability account โ cleared when super is paid via the clearing house
- Reconcile the bank transaction against the ABA file payment
- If using the Accounting module, the bank reconciliation should match the payroll bank payment automatically
Pay run timeline (typical fortnightly)
- Monday โ Timesheet deadline. Chase missing submissions.
- Tuesday morning โ Review work entries. Resolve conflicts. Generate payslips.
- Tuesday afternoon โ Review payslips. Add ad-hoc items. Confirm.
- Wednesday morning โ Generate and upload ABA file. Lodge STP. Export super file.
- Wednesday (pay day) โ Payments hit employee accounts. Distribute payslips.
- Thursday โ Reconcile payroll in accounting. Address any employee queries.