Business Performance Consulting Sdn Bhd User Guides
04

Contracts

Odoo 19 Enterprise · Employees

Employment contracts in Odoo record the terms of employment and drive payroll calculations.

Process lifecycle

New Running Expired
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.