04
Contracts
Employment contracts in Odoo record the terms of employment and drive payroll calculations.
Process lifecycle
1
Create a contract
Employees
▸
(open employee)
▸
Contracts (smart button)
▸
NEW
Each employee needs at least one contract for payroll to run. Access contracts via the smart button on the employee record.
Contract fields
Contract Reference
*
Name for the contract — e.g. "Ahmad — Permanent 2024".
Start Date
*
Date the contract is effective.
End Date
Leave blank for permanent contracts. Set for fixed-term contracts.
Contract Type
*
Permanent, Contract, Part-time, Probation, etc.
Wage
*
Monthly gross salary in MYR.
Structure Type
*
Salary structure — determines which payroll rules apply (e.g. Malaysian Monthly, Malaysian Daily).
Work Schedule
*
Standard working hours linked to this contract.
2
Contract status
A contract starts in New status. Click Save and it becomes Running automatically if the start date has passed. Contracts with an end date automatically move to Expired when the date passes. Payroll only processes employees with Running contracts.
Salary adjustments
To record a salary increase, do not edit the existing contract. Instead, end the current contract and create a new one with the updated salary and new start date. This preserves the salary history for audit and reporting.