Situation: your team has long since stopped consisting of full-timers only. You have part-timers, colleagues working 4×9, perhaps shift work. But in Odoo everyone is still on the standard 40-hour schedule — so the system systematically miscalculates leave and availability. A part-timer who has to take 'leave' on her Wednesday off: nobody is happy about that.
Roosters aanmaken
- Go to Employees → Configuration → Working Schedules (you will also find this menu under the Time Off app).
- Click New and give the schedule a recognisable name, for example 'Part-time 24h Mon-Tue-Thu'.
- Fill in the day lines: for each day the start time, end time and, if applicable, the period (morning/afternoon). For a 4×9 schedule you create four lines of nine hours and leave out Friday.
- Check the Average Hours per Day field — Odoo uses this to convert days of leave into hours.
Linking the schedule to the employee
Open the HR record via Employees → Employees and, on the Work Information tab, set the Working Hours field to the correct schedule. From that moment on, the Time Off, Timesheets and Planning apps automatically calculate with the real pattern. If your part-timer requests a week of leave, Odoo deducts three days instead of five.
Temporary deviations: handle them via the contract
Is someone temporarily working fewer hours, for example on parental leave or a phased retirement arrangement? Do not change the schedule retroactively — that corrupts historical calculations. Instead, go to Employees → Contracts and create a new contract (or contract version) with the new working hours and the correct start date. Odoo then calculates with the new schedule from that date on and leaves the past intact.
Praktische tip
Before the new leave year, go through all employees in the list view: add the Working Hours column and sort by it — deviations jump out immediately. Not sure how best to model shift work or flexible contracts in Odoo? Contact DAADit Group — we have set this up many times before.
Situation: your team stopped being all full-timers a long time ago. You have part-timers, colleagues working 4×9, maybe shift work. But in Odoo everyone is still on the default 40-hour schedule — so the system structurally miscalculates leave and availability. A part-timer forced to book 'leave' on her free Wednesday: nobody enjoys that conversation.
Creating schedules
- Go to Employees → Configuration → Working Schedules (the menu is also available under the Time Off app).
- Click New and give the schedule a recognisable name, for example 'Part-time 24h Mon-Tue-Thu'.
- Fill in the day lines: start time, end time and, if relevant, the day period (morning/afternoon) per day. For a 4×9 schedule, create four nine-hour lines and leave out Friday.
- Check the Average Hour per Day field — Odoo uses it to convert leave days into hours.
Linking the schedule to the employee
Open the HR record via Employees → Employees and, on the Work Information tab, set the Working Hours field to the right schedule. From that moment, the Time Off, Timesheets and Planning apps automatically calculate with the real pattern. If your part-timer requests a week of leave, Odoo deducts three days instead of five.
Temporary changes: handle them via the contract
Is someone temporarily working fewer hours, for example parental leave or a phase-down arrangement? Do not retroactively edit the schedule — that corrupts historical calculations. Instead, create a new contract (or contract version) via Employees → Contracts with the new working hours and the correct start date. Odoo then applies the new schedule from that date onward and leaves the past intact.
Practical tip
Before the new leave year starts, review all employees in list view: add the Working Hours column and sort by it — outliers jump out immediately. Not sure how best to model shift work or flexible contracts in Odoo? Contact DAADit Group — we have set this up many times before.