Shift Roster for Odoo 19 Community documentation
A guide to the shift roster: the shifts, the weekly grid, the quick assignment, the warnings, publishing, the calendar and the settings.
Documents version 1.0.0Updated Oct 23, 2026
Start here
In plain words: Who works tomorrow evening? In many shops, clinics and factories the answer is a spreadsheet, a chat group and a phone call. Shift Roster brings the planning into Odoo Community: you define your shifts (morning, afternoon, night), plan each week in a grid with one row per employee and one column per day, get warnings for too many hours or a shift on a day of time off, and publish: every employee is notified and sees their shifts in My shifts and on a calendar.
Tip: Rosters are private until you publish them: employees only see their own shifts, and only once published.
What you get
| Feature | What it does |
|---|---|
| Shifts | Templates with a start, an end and an unpaid break; the hours are computed, overnight shifts included. |
| Weekly roster | One row per employee, one column per day: choose the shift of each day in the grid. |
| Quick assignment | Give a shift to several employees on the days you tick, or clear days, in one step; add all the employees of a department. |
| Warnings | More hours than the weekly maximum, or a shift on a day of approved time off. |
| One shift a day | An employee cannot be on two rosters on the same day. |
| Publish | Each employee is notified of their shifts; a published roster is locked until you set it back to draft. |
| My shifts and calendar | Employees see their own shifts; HR sees everybody on a calendar or a list. |
| Copy to next week | The same roster, a week later, in one click. |
| The roster as a landscape PDF. | |
| Arabic | Everything is translated and works right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Employees and Time Off (hr, hr_holidays) |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside is
taqnix_shift_roster.zip; unzip it to get the foldertaqnix_shift_roster. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- Remove the “Apps” filter, search Shift Roster and press Install.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_shift_roster --stop-after-init
Define the shifts
In plain words: Employees → Shift roster → Shifts. Give each shift a name, the time it starts and ends, an unpaid break and a color. The hours are computed: a shift that ends before it starts is an overnight shift (22:00 to 06:00 is 8 hours).
Plan the week
In plain words: Employees → Shift roster → Weekly rosters → New. Choose the week (it always starts on a Monday) and, if you want, a department. Click Add the employees to get one row per employee, then pick the shift of each day in the grid: a day left empty is a day off.
Assign a shift quickly
In plain words: Assign a shift opens a small window: choose the shift, the employees and the days (Monday to Friday by default). Employees who are not on the roster yet are added. Leave the shift empty to clear those days.
Warnings
In plain words: A line turns red and the top of the roster lists the reason for each employee: more hours than the weekly maximum (48 by default, set in the company), or a shift on a day of approved time off. They are warnings: you decide.
Tip: An employee can be on only one roster a day: if you rostered them twice, Odoo tells you where.
Publish
In plain words: Publish sends each employee a notification with their shifts. From then on the roster is read-only; Set to draft reopens it. Copy to next week makes a new draft with the same shifts, a week later.
My shifts and the calendar
In plain words: Employees → Shift roster → My shifts shows an employee their own published shifts on a calendar or in a list. HR officers see everybody in Shifts calendar, with filters for today, this week, the shift or the department.
The printed roster
In plain words: Print gives the roster as a landscape PDF: the employees, the days with the shift and its times, the hours of each employee and the total.
Settings
In plain words: In the company (Settings → Companies → Shift roster) set the weekly maximum hours that triggers the warning. Put 0 to switch the warning off.
Who can do what
| Who | Can |
|---|---|
| Every employee | See the shifts defined, and their own shifts once the roster is published. |
| HR officers | Create and edit shifts and rosters, publish, copy, print, and see everything. |
| Other users | No access. |
Arabic and right to left
Limits
| Limit | Detail |
|---|---|
| Weeks | A roster is a week that starts on a Monday. |
| One shift a day | An employee has at most one shift on a given day; two shifts in a day are not planned. |
| Warnings | They inform; they never block the roster. |
For developers
In plain words: Skip this chapter if you only use the module.
roster = env['taqnix.roster'].create({'date_from': '2026-10-26', 'row_ids': [(0, 0, {'employee_id': employee.id, 'shift_0': morning.id, 'shift_1': morning.id})]})
roster.row_ids.hours, roster.warning_text
roster.action_publish() # notifies each employee
roster.action_copy_next_week() # the same roster, a week laterTroubleshooting
| Problem | What to do |
|---|---|
| The employee says they see nothing | The roster is not published yet, or the employee is not linked to a user. |
| Odoo says the employee is already on a roster | They have a shift on that day in another roster: change it there. |
| I cannot edit a roster | It is published: set it back to draft. |
| The time off warning does not appear | Only approved time off counts; check that it is validated. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_shift_roster. Your shifts and rosters are kept.
Support
Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.