This module allows to manage employee working time with profiles by date intervals.
The profiles are regular working time calendars, but they are treated as master ones here, allowing you to compose complexes working times by dates.
Under the hook, a unique working time is created for each employee with the proper composition for not affecting the rest of the functionality linked to this model.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you assign different working time calendars to an employee for specific date ranges, so their schedule can change over time. Odoo automatically builds a single combined working time behind the scenes.
On the employee form, the standard Working Time field is replaced by a Calendar planning list where you add one line per period: a start date, an end date and the working time to apply. You can leave dates empty to cover open-ended periods.
- The system refuses to create an employee without at least one calendar line, and it blocks overlapping periods for the same employee.
- Whenever you add, change or remove a line, the employee's own working time is rebuilt automatically from the applicable calendars, including two-week schedules and public holidays.
- When a calendar is used by employees, you cannot archive it, and you cannot use it for employees belonging to another company.
- On the working time form, a new Employee Calendars tab lists which employees use that calendar and for which dates.
- Working time figures (hours per day, hours per week, full-time equivalent, flexible hours) are stored and shown on the calendar form; for automatically generated calendars they are calculated from the calendars active on the dates being evaluated.
This affects employees, working times and resource planning calculations used across Odoo (leaves, attendance, planning).
Depends on
Required by other modules
Models and fields (3)
- hr.employee · extends an existing modelcalendar_ids (Calendar planning)
- resource.calendar · extends an existing modelactive, employee_ids, auto_generate, hours_per_day, flexible_hours, hours_per_week, stored_hours_per_day, employee_calendar_ids, stored_flexible_hours, stored_hours_per_week, full_time_required_hours, stored_full_time_required_hours
- hr.employee.calendar · new modeldate_end (End Date), company_id, date_start (Start Date), calendar_id (Working Time), employee_id (Employee)
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/hr.
terminal Installation and usage
OCA documentation · Odoo 19.0Installation
Source · Odoo 19.0During the installation of the module, current working times are split by start/end dates for having consistent data, and the potential new composed calendar planning is saved instead on the employee.
Configuration
Source · Odoo 19.0- Go to Employees \> Employees.
- Open or create a new one.
- On the "Work Information" tab, fill the section "Working Hours" with:
- Starting date (optional).
- Ending date (optional).
- Working time to apply during that date interval.
No verified information in OCA: Usage.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.