- Home
- Apps
- SaaS Tools
- Employee Shift Scheduling & Roster
Illustrative previewBuild-to-order Odoo module for shift schedules, rosters and shift-change requests
— built, installed and supported by ECOSIRE.
What is Employee Shift Scheduling & Roster?
Build-to-order Odoo module for shift schedules, rosters and shift-change requests — built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Employee Shift Scheduling & Roster is a build-to-order Odoo module that ECOSIRE designs, develops, installs and supports for your team — this is not an instant apps.odoo.com download. After purchase, our Odoo engineers scope your shift patterns, build the module against your Odoo 17, 18 or 19 database (Community or Enterprise), deploy it, and hand you a clean, upgrade-safe addon with full source, documentation and a support window.
Shift managers in retail, hospitality and manufacturing spend hours wrestling spreadsheets, WhatsApp threads and paper rosters. This module brings that entire workflow inside Odoo's HR suite. A new hr.shift model (with a supporting hr.shift.template model) lets you create shifts individually or in bulk across a date range, assign them to employees linked to your existing hr.employee records, and publish a clean weekly or monthly roster. Computed fields using @api.depends roll up planned hours, headcount per shift and coverage gaps automatically, so an under-staffed Saturday evening is visible before it becomes a problem.
Employees raise shift-change and swap requests through a dedicated request model with a proper approval chain; managers approve or reject from a list/kanban view, and an automated action (Odoo Automation Rules / base.automation) can notify the affected parties and update attendance expectations. Every roster is a QWeb PDF report you can print for the noticeboard or export to Excel, and an optional Shift-vs-Attendance view compares what you planned (hr.shift) against what the hr.attendance records actually captured — surfacing no-shows, late starts and unplanned overtime.
Access is locked down the Odoo way: ir.model.access.csv grants row-level CRUD to a Shift Manager group, and record rules keep team leads scoped to their own department. Views are delivered as standard XML (with OWL components where the roster grid benefits from a richer client-side experience), and everything is reachable over XML-RPC / JSON-RPC so your POS, workforce app or BI tool can read the schedule. Because we build it as a first-class module — clean __manifest__.py, versioned, dependency-declared against hr and optionally hr_attendance — it upgrades cleanly and never touches Odoo core files.
What you get
- Complete, upgrade-safe Odoo module source code (clean __manifest__.py, Python models, XML/OWL views, QWeb reports) delivered as a versioned addon and, on request, its own private Git repository
- Installation and deployment on your Odoo 17, 18 or 19 instance (Community or Enterprise), with the module configured against your live employee and department data
- Configured shift templates, patterns and security groups (ir.model.access.csv + record rules) tailored to your locations and approval hierarchy
- Data migration or seeding of your existing shift patterns/rosters where a source (spreadsheet, legacy system) is provided
- Administrator and manager documentation plus an end-user quick-start guide for raising and approving shift-change requests
- A live training session for your shift managers and HR team (recording provided)
- A defined post-go-live support and bug-fix window with agreed response times
- Source access to the QWeb roster report template so your branding and layout can be adjusted later
Who this is for
Retail store shift manager
Runs a shop floor with variable footfall and part-time staff. Needs to build a fair weekly roster fast, react to sick calls with quick swaps, and print a schedule for the back-office noticeboard — without leaving Odoo or reverting to spreadsheets.
Hospitality / F&B operations lead
Coordinates front-of-house and kitchen crews across split shifts and peak weekends. Wants templated shift patterns, coverage warnings for busy service windows, and self-service swap requests so staff sort cover among themselves with manager sign-off.
Manufacturing / warehouse supervisor
Manages rotating day/night crews on a production line where under-staffing halts output. Relies on bulk shift creation for the whole rota, conflict detection against time-off, and a shift-vs-attendance view to catch no-shows before they hit throughput.
HR manager / payroll administrator
Owns compliance and pay accuracy. Needs planned hours to reconcile against actual hr.attendance, exportable rosters for payroll, and role-scoped access so team leads only touch their own department's schedule.
How Employee Shift Scheduling & Roster Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fits your exact shift patterns & approval flow | Built to your rotations, sites and sign-off chain | Possible, but you scope and build it all yourself | Only what the generic app author anticipated | No dedicated shift/roster concept out of the box |
| Bulk shift creation across date ranges | Yes — generate a full rota in one action | Only if you build the wizard yourself | Sometimes; varies by app and often limited | No — planning/attendance don't cover rostering |
| Employee shift-change / swap requests with approvals | Full self-service workflow with automated notifications | Build the model, states and automation from scratch | Sometimes basic; approval depth varies | Not available for shift swaps |
| Printable QWeb roster report & Excel export | Branded PDF roster + export delivered and editable | You author the QWeb template and export logic | Report often fixed and not brandable | No shift roster report exists |
| Shift-vs-attendance reconciliation | Dedicated view comparing planned vs hr.attendance | Custom reporting effort required | Rarely included | Attendance exists but isn't compared to a plan |
| Odoo 17 / 18 / 19 + Community/Enterprise fit | Built and tested for your exact version and edition | Depends entirely on your in-house skill | May lag versions or require paid upgrades | Ships with core but offers no rostering |
| Install, configuration, training & support included | We install, configure, train and support post-launch | Entirely on your team | Self-install; support depends on the author | No feature to support |
| Upgrade-safe, no core patching | Clean addon with proper __manifest__.py, never touches core | Risk of shortcuts that break on upgrade | Quality varies by author | N/A |
Frequently Asked Questions about Employee Shift Scheduling & Roster
Is this an instant download from the Odoo App Store?
No. This is a build-to-order module. After purchase, ECOSIRE's Odoo engineers scope your shift patterns and approval rules, build the module against your specific Odoo 17, 18 or 19 database, and install it for you. You receive the full source and a working, configured system — not a generic ZIP you have to make fit yourself.
How long does delivery take?
Typical lead time is one working week from the point we finish requirements gathering, depending on how complex your shift patterns, multi-site setup and integrations are. A straightforward single-site roster lands toward the two-week end; rotating multi-department patterns with attendance reconciliation and API integrations take longer. We confirm a firm timeline in the kickoff call before development starts.
What support and updates do I get after go-live?
Every build includes a defined post-go-live support and bug-fix window with agreed response times, covering any defects in the delivered module. Because we hand over clean, upgrade-safe source with a proper __manifest__.py that never patches Odoo core, the module carries forward across point releases. Ongoing enhancements, new features or major-version migrations (e.g. Odoo 18 to 19) can be arranged under a maintenance retainer.
Does it work with Odoo Community or only Enterprise?
Both. The module is built on standard Odoo framework primitives (models.Model, ir.model.access.csv, QWeb, Automation Rules) and depends on the hr module, which ships in Community. We tailor the build to whichever edition and version (17, 18 or 19) you run. Enterprise-only niceties such as the Gantt view are used only if your edition supports them.
Will it integrate with our attendance, POS or external workforce app?
Yes. The shift-vs-attendance view reconciles planned shifts against Odoo's hr.attendance records natively. Beyond that, every model is exposed over Odoo's XML-RPC and JSON-RPC APIs, so your POS, time-clock hardware or third-party workforce app can read and write the schedule. We scope and build the specific integration points you need as part of the engagement.
Can employees request shift changes themselves, or is it manager-only?
Both are supported. Employees can raise shift-change and swap requests from their own portal/self-service view, which flow into a manager approval queue (draft → submitted → approved/rejected). Managers can also create, edit and reassign shifts directly. Automated actions notify the relevant people at each step so nothing falls through the cracks.
Related Modules

Employee Loan & Salary Advance Management
Custom-built Odoo module for staff loans and advances: policies, multi-level approval, and automatic payroll installment deduction.

Employee Probation Management
Custom Odoo HR module to track probation periods, auto-notify managers on completion and convert new hires to permanent status.

Enterprise Document Cloud Sync
A build-to-order Odoo module that turns every provider you use — SharePoint, OneDrive, Google Drive, Dropbox, and Amazon S3 — into one policy-driven document hub. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 estate.

Environment Ribbon
A build-to-order Odoo module that overlays a persistent, color-coded ribbon on every non-production database so your team instantly knows whether they are in staging, dev, UAT, or the live system. ECOSIRE scopes, builds, installs, and supports it across Odoo 17.0, 18.0, and 19.0.
Employee Shift Scheduling & Roster
Build-to-order Odoo module for shift schedules, rosters and shift-change requests — built, installed and supported by ECOSIRE.
- Individual shift creation on a per-employee, per-day basis with start/end times, break duration and location captured on a dedicated hr.shift model
- Bulk shift generation across a chosen date range — pick employees, days of week and a template, and the module generates dozens of shifts in one action
- Reusable shift templates and recurring patterns (e.g. Early / Late / Night, or a rotating 4-on-4-off cycle) stored in hr.shift.template and applied on demand
- Employee self-service shift-change and swap requests with a manager approval workflow (draft → submitted → approved/rejected)