Odoo Planning: Employee Scheduling and Resource Allocation
Workforce scheduling is one of the most time-consuming and error-prone administrative tasks in operations management. Manually building shift schedules for 50+ employees across multiple locations and roles — while tracking availability, skills, contractual hours, and overtime rules — consumes hours each week and still produces schedules that frustrate employees and leave roles uncovered. Odoo 19 Enterprise Planning module automates the mechanics of shift scheduling while giving managers the visibility to make better resource allocation decisions.
This guide covers the complete Odoo Planning module: resource configuration, shift templates, scheduling workflows, employee availability management, publishing and communication, integration with timesheets and payroll, and planning analytics. Whether you schedule hourly workers in a retail operation, project resources for professional services, or allocate equipment across production lines, this guide provides the implementation blueprint.
Key Takeaways
- Configure resources (employees and materials) with roles, skills, and working hour constraints
- Create shift templates for recurring schedule patterns to reduce weekly scheduling effort
- Assign resources to shifts with conflict detection for overlapping schedules
- Publish schedules to employees with automatic notifications and mobile access
- Enable employees to swap shifts or indicate availability through the self-service portal
- Copy, repeat, and adjust schedules efficiently without rebuilding from scratch
- Integrate planned shifts with attendance tracking and payroll for seamless labor cost capture
- Analyze planned vs. actual hours and resource utilization across teams
Planning Module Overview and Setup
Before building schedules, configure the foundational elements that Planning uses to understand your workforce and work patterns.
Enabling the Planning module: Go to Settings > Apps and install "Planning." Once installed, the Planning menu appears in the main navigation. Navigate to Planning > Configuration > Settings to configure module-wide options: whether to show remaining hours on planning shifts, default shift duration, and whether to enable employee shift swapping.
Resource types: Planning uses two resource types. Employee resources are linked to HR employee records — their working schedule, contract, and cost rate come from the HR module. Material resources are non-human assets that need to be scheduled (vehicles, equipment, meeting rooms). Both types appear in the planning grid and can be assigned to shifts.
Roles: Create roles under Planning > Configuration > Roles. Roles represent the functional capability required for a shift: Cashier, Warehouse Picker, Delivery Driver, Customer Service Agent, Shift Supervisor. Assigning roles to shifts and employees enables role-based scheduling — filter the resource list by role when building schedules to see only employees qualified for that shift type.
Planning templates: Create planning templates (shift types) under Planning > Configuration > Shift Templates. Common templates: Morning Shift (8:00-16:00), Evening Shift (14:00-22:00), Night Shift (22:00-06:00), Half-Day AM, Half-Day PM. Each template stores the start time, end time, and associated role. Templates dramatically speed up schedule building — drag a template onto the planning grid rather than setting times manually for each shift.
Building the Planning Grid
The Planning grid is the central scheduling interface. It displays resources (employees and materials) as rows and time as columns, with shifts represented as colored blocks.
Grid views: The planning grid supports multiple time views:
- Day view: Hour-by-hour view of a single day — ideal for detailed shift management in busy operations
- Week view: The most commonly used view for weekly schedule building
- Month view: Higher-level view for planning resource allocation across the month
- Year view: Capacity planning and leave overlap visibility across the year
Adding resources to the grid: Resources (employees) appear as rows in the planning grid. Filter by team, department, or role to show only relevant resources. The grid also shows each employee's total planned hours for the week, and whether those hours exceed their contractual working schedule.
Creating shifts: To add a shift, click an empty cell in the grid at the desired time slot and drag to set the duration, or click to open the shift creation form. The form includes: employee, role, start/end time (or shift template selection), and any notes. Confirm to save the shift — it appears as a colored block on the grid.
Color coding: Shifts are color-coded by role for visual clarity. Supervisors can scan the grid and immediately see role coverage at each time slot — identifying gaps (no supervisor coverage on Tuesday evening) without counting individual assignments.
Conflict detection: When you assign an employee to a shift that overlaps with another shift they're already scheduled for, Odoo flags the conflict immediately. Similarly, if an employee has an approved leave request for the shift period, the system warns you before the shift is finalized. This real-time conflict detection prevents scheduling errors that would otherwise only surface when the employee calls in.
Schedule Templates and Recurring Schedules
Most businesses have recurring schedule patterns that repeat weekly or by rotation. Odoo Planning's copy and repeat features eliminate rebuilding the same schedule from scratch.
Copying schedules: After building a week's schedule, copy it to the next week (or multiple future weeks) with a single action. Odoo duplicates all shifts to the new time period. Adjust exceptions (holiday coverage, special events, planned leave) without rebuilding the base schedule. This is the core time-saving feature for operations with consistent staffing needs.
Schedule rotation: For businesses using rotating shift patterns (e.g., employees rotate through morning, afternoon, and night shifts on a 3-week cycle), create a separate schedule template for each rotation week. Apply the appropriate template for each week in the rotation cycle. The rotation schedule ensures coverage at all times while distributing preferred and unpopular shifts equitably.
Resource allocation percentages: For professional services project planning, allocate employees to projects as a percentage of their time rather than specific shift blocks. Assign an employee to Project A at 50% and Project B at 50% for a given week. The planning grid shows their allocation visually, and the total allocation is checked against their available hours to prevent over-allocation.
Employee Availability Management
Effective scheduling requires knowing employee availability before building schedules. Odoo provides tools for employees to communicate availability and for managers to track it.
Availability requests: Employees can indicate availability or unavailability for specific shifts or time periods through the Planning self-service portal. They select the dates/times they're unavailable (due to personal commitments, second jobs, or other constraints) and submit the availability update. Managers see availability constraints overlaid on the planning grid — unavailable periods appear as blocked cells.
Leave integration: The Planning module integrates with Odoo Time-Off. Approved leave requests automatically block the employee's planning cells for the leave period. When building a schedule, managers can see at a glance which employees are on leave and avoid scheduling them — without separately checking the time-off module.
Working hour constraints: Each employee's contract defines their working schedule (maximum hours per day, per week, and any overtime rules). Planning respects these constraints by alerting managers when a proposed schedule would put an employee into overtime territory. This prevents accidental overtime that creates both employee dissatisfaction and payroll cost overruns.
Publishing Schedules and Employee Notifications
A schedule is only useful when employees know about it. Odoo Planning's publishing and notification system ensures schedules reach employees through the channels they use.
Draft vs. published schedules: Schedules exist in two states: draft (only managers can see it, useful for work-in-progress scheduling) and published (visible to employees). When you're ready to release the schedule, click "Publish" to make it visible to all employees on the grid. Changes made after publishing trigger new notifications.
Employee notifications: When a schedule is published, all scheduled employees receive an email notification with their shifts for the period. The email shows their personal schedule in a clean, readable format. If a schedule is updated after publishing (shift time changed, additional shift added), employees receive a change notification automatically.
Mobile schedule access: Employees access their schedule through the Odoo mobile app or the employee self-service portal at any time. The personal schedule view shows upcoming shifts, shift role, location, and any notes. Employees don't need access to the full Planning admin interface to view their own schedule.
Shift swapping: Enable shift swapping in Planning settings. When an employee can't work a scheduled shift, they can request a swap from the self-service portal — selecting the shift they want to give and optionally proposing a specific replacement from eligible colleagues. The manager approves or rejects the swap request. Approved swaps update the planning grid automatically and notify all involved parties.
Timesheets and Payroll Integration
Planning generates the expected schedule; timesheets capture what actually happened. Integration between Planning and Timesheets provides planned vs. actual visibility for labor management.
Planned to actual comparison: Navigate to Timesheets > Reporting > Timesheet and Planning. This report compares each employee's planned hours (from approved Planning shifts) against actual hours logged (from Timesheet entries) for the same period. Significant variances — employees working far more or less than planned — indicate either schedule inaccuracy or timesheet entry issues.
Timesheet generation from planning: For employees whose timesheet entries should match their planning shifts exactly (scheduled production workers, retail staff), configure automatic timesheet generation from completed planning shifts. When a shift is marked as completed, a timesheet entry is generated automatically, pre-filled with the employee, date, hours, and project/analytic code from the planning shift. Employees or managers validate rather than create timesheet entries.
Payroll integration: When payroll processes include shift differentials (higher rates for evening or weekend shifts), link planning shift templates to the appropriate salary rules. Payroll can pull shift information from Planning to apply the correct rate for each employee's worked hours by shift type, ensuring accurate differential pay without manual calculation.
Labor cost forecasting: The Planning module provides a labor cost forecast based on planned shifts. If employee costs are configured (hourly rate from the HR module), multiply planned hours by employee hourly cost to calculate the forecasted labor cost for the period. Compare against department budget to identify budget risk before the period starts.
Resource Allocation for Project Planning
For professional services businesses, Planning is used for project resource allocation rather than shift scheduling. The same Planning interface handles both use cases.
Project-based allocation: Create planning records that allocate an employee to a project for a defined period and percentage of time. A developer might be allocated to Project A at 60% and Project B at 40% for the next quarter. The planning grid shows this visually, and total allocations are checked against available hours.
Resource capacity planning: The Planning Analysis report shows total planned hours vs. capacity for each employee over future periods. Resources who are overallocated (more planned than available hours) are highlighted. This forward-looking visibility allows project managers to reallocate work or negotiate scope before deadlines slip due to resource constraints.
Skill-based resourcing: When creating a planning allocation, filter the resource list by required skills (from the HR skills module). Only employees with the required capabilities appear as options, preventing accidental allocation of unqualified resources to specialized project roles.
Planning Analytics and Optimization
Scheduling efficiency report: Navigate to Planning > Reporting > Planning Analysis. The summary shows: total planned hours by team and period, utilization rate (planned hours vs. available hours), overtime hours planned, and unscheduled (available but not allocated) hours.
Role coverage analysis: For shift-based operations, analyze role coverage by time slot. Identify periods where specific roles are understaffed (only one person scheduled for a role that needs two) or overstaffed (three people scheduled for a role that only needs one). Optimize coverage to match demand patterns.
Employee utilization: Track utilization by employee: what percentage of each person's available working time is allocated to planned shifts or projects? High utilization (90%+) leaves no buffer for ad-hoc work. Low utilization (below 60%) may indicate underdeployment or need for additional work allocation.
Frequently Asked Questions
Can Odoo Planning handle scheduling across multiple locations simultaneously?
Yes. Filter the planning grid by location to build and view schedules for each site. Employees are assigned to a primary location, and the filter shows only employees at that location. Employees who work across multiple locations can be scheduled at different locations on different days — the planning grid shows their full schedule across all locations.
How does Odoo Planning handle split shifts where an employee works two separate blocks in one day?
Create two separate planning shifts for the same employee on the same day — one for the morning block and one for the afternoon block. Both shifts appear on the planning grid. Total hours for the day are calculated from both shifts combined. Split shifts are common in food service, retail, and healthcare environments, and Odoo handles them without any special configuration.
Can managers receive notifications when planned schedules haven't been published by a certain deadline?
Configure an automated action in Odoo that checks whether schedules have been published for the upcoming week by a specific deadline (e.g., every Thursday at 5pm). If the schedule is still in draft, send a reminder email to the relevant manager. This ensures employees receive their schedules with adequate notice, which is a legal requirement in many jurisdictions.
How does Odoo handle scheduling for part-time and zero-hours contract employees?
Part-time employees have a working schedule in their HR contract that reflects their reduced hours. Planning respects this schedule when calculating over-allocation. Zero-hours employees don't have a fixed working schedule — their Planning availability is based on availability requests they submit. Managers see their availability and schedule accordingly. The total hours planned for zero-hours employees should be based on business demand rather than a contracted minimum.
Can we use Odoo Planning for equipment or meeting room scheduling?
Yes. Create material resources for equipment (forklifts, production machines, conference rooms, vehicles). These appear in the planning grid alongside employees. Schedule equipment to projects or operations exactly like employees. Conflicts (same equipment scheduled for two different operations simultaneously) are detected and flagged. Equipment scheduling integrates with the Maintenance module — scheduled maintenance blocks the equipment in the planning grid automatically.
How does Odoo Planning integrate with the Recruitment module for workforce planning?
Planning's resource capacity view shows current and projected coverage. When planned demand consistently exceeds available resource capacity, it provides quantitative justification for new hire requests. Create a Recruitment job opening directly from Planning when a persistent gap is identified. The new hire, once onboarded, is added to the Planning resource pool and their availability appears in future schedules.
Is there a way to see who is available for a specific shift when schedule building?
Yes. When building a schedule, the resource filter can show only employees who are available (no conflicting shifts, no approved leave) for a specific time slot. This "availability-first" view speeds up shift assignment significantly — instead of checking each employee individually, you see only those who can work the shift. Filter further by role to see available employees qualified for the specific shift type.
Next Steps
Odoo Planning transforms workforce scheduling from a weekly administrative burden into a managed, data-driven process. When schedules are built from templates, published through mobile apps, and integrated with timesheets and payroll, managers spend less time building schedules and more time managing actual operations.
ECOSIRE implements Odoo Planning for retail chains, hospitality businesses, manufacturing operations, and professional services firms. Our implementation includes resource configuration, shift template design, integration with HR and Payroll, and manager training on the planning interface.
Visit our Odoo services page to explore workforce planning implementation options, or browse our marketplace modules for planning extensions including AI-powered schedule optimization, demand-based staffing algorithms, and employee scheduling preference systems for Odoo 19 Enterprise.
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
Odoo vs NetSuite Mid-Market Comparison: Complete Buyer's Guide 2026
Odoo vs NetSuite for mid-market in 2026: feature-by-feature scoring, 5-year TCO for 50 users, implementation timelines, industry fit, and two-way migration guidance.
Tally to Odoo Migration 2026: Step-by-Step Guide for Indian SMBs
Tally to Odoo migration playbook for Indian SMBs in 2026: data model mapping, 12-step plan, GST handling, COA translation, parallel run, UAT, and cutover.
AI-Powered Customer Segmentation: From RFM to Predictive Clustering
Learn how AI transforms customer segmentation from static RFM analysis to dynamic predictive clustering. Implementation guide with Python, Odoo, and real ROI data.