Skip to Content

Odoo Planning: Shifts, Roles, and Capacity Signals

Complete guide to using Planning in Odoo
May 25, 2026 by
Odoo Planning: Shifts, Roles, and Capacity Signals
Louis Dresse SRL, Louis DRESSE
| No comments yet

Introduction

Odoo Planning supports businesses that sell expertise and outcomes: projects, timesheets, field visits, and helpdesk tickets should tell one story about customer commitment and margin.


When delivery and support run on separate tools, utilization drops, SLAs are missed, and invoicing happens weeks after work is done.


Planning links tasks, time, parts, and customer communication so account managers see delivery health without chasing status emails.


Agency owners, professional services partners, and customer support leads can map these use cases to how they already run engagements.


Odoo Planning supports businesses that sell expertise and outcomes: projects, timesheets, field visits, and helpdesk tickets should tell one story about customer commitment and margin.


This article is a ranked Top 10 from Level 1 (easy) to Level 10 (expert). Every level includes numbered steps: what you would actually click in Odoo Planning.


Start where you are comfortable, not at level 10 because it sounds impressive.


Read the challenge section next, then open the level that matches your team today.


In this guide, you will see:


  • What Odoo Planning is responsible for in a typical company stack
  • Where teams feel the most friction today (and why)
  • Ten ranked use cases from beginner discipline to advanced strategy
  • When automation or integrations justify bringing in an Odoo partner



The Challenge


A client calls angry about a delayed project. Support, delivery, and account management each have a different version of truth. Time was billed late, so margin looked fine until someone ran the numbers.

Project and support businesses sell time and outcomes, but utilization and SLAs are tracked late. Margin erodes when billing, delivery, and ticket history are not on one timeline.

Sound familiar? Teams usually hit these walls:


  • Projects started late because sales context is missing
  • Support tickets without link to contracts or invoices
  • Time captured after the fact, hurting billable margin


The good news: you do not need a big-bang project to fix everything. Pick one use case below, run it for 30 days in Odoo Planning, and measure what changes.

Top 10 Planning Use Cases


10 use cases for Odoo Planning, ranked from Level 1 (easy, do it this afternoon) to Level 10 (expert). Each one answers: what would we build, and what are the clicks in Odoo?


Level 1 is the easy daily win. The last level is intentionally over the top so you see how far the same app can scale when architecture and data stay clean.


Pick your level, follow the numbered steps in a test database, then move up when the previous level feels boring.

1. Schedule your first shift for one employee from the Gantt view Level 1 — Easy


Level 1 is the simplest possible Planning action: one manager, one employee, one shift block dropped on the calendar. No templates, no roles, no automation, just a slot anyone on the team can read.


Here's how you'd do it in Odoo:


  1. Install the Planning app, then go to Planning, Schedule by Employee, and open the weekly Gantt view.
  2. Click the empty cell next to the right employee on tomorrow's date and pick a start and end time.
  3. Type a short note describing the shift so the employee knows what to expect on arrival.
  4. Save the shift; a colored block appears on the Gantt and a copy lands on the employee's calendar.
  5. Filter the Gantt by Department to confirm the shift shows up in the right team's view.


What you get: Shift information stops living in spreadsheets and group chats and starts living on one record with one owner, one date, and one audit trail.


2. Save shift templates so the next week can repeat with one click Level 2 — Easy


Level 2 turns the manual Level 1 into something repeatable. Shift templates capture the standard time, role, and duration of a recurring slot so the next week takes one minute to plan.


Here's how you'd do it in Odoo:


  1. Go to Planning, Configuration, Shift Templates, New, and create Morning Shop 8 to 12 with the right role.
  2. Fill the start hour, duration, role, and default note, then save the template.
  3. Repeat for Afternoon Shop, Saturday Front Desk, and Night Watch so the standard week is fully described.
  4. Back in Schedule by Employee, click the small arrow on an empty cell and pick the right template; the shift fills in instantly.
  5. Use the Copy Previous Week button to clone the entire schedule, then adjust only the exceptions for the new week.


What you get: Planning the next week drops from one afternoon of cell editing to a five-minute review of exceptions, and the templates stop drifting between managers.


3. Plan by role so every slot is filled by a qualified employee Level 3 — Easy


Level 3 introduces Planning roles. Slots are no longer tied to one person; they are tied to a role like Cashier or Senior Technician, and only employees holding that role can be assigned to the slot.


Here's how you'd do it in Odoo:


  1. Open Planning, Configuration, Roles, and create Cashier, Senior Technician, Shift Lead, and Backup.
  2. Open each employee record and tick the roles they are qualified to cover in the Planning tab.
  3. Switch the Gantt to Schedule by Role and drop an unassigned slot on the right role line.
  4. Right-click the slot and click Assign; Odoo only shows employees who hold that role and are available that day.
  5. Use the Role Mismatch filter to spot any historical shift assigned to an employee who does not hold the required role.


What you get: Coverage stops being a memory contest. Every slot has a known role requirement, and a missing qualification surfaces before the shift starts, not after a customer complaint.


4. Publish the schedule and collect employee confirmations Level 4 — Medium


Level 4 moves the schedule from the manager's screen to every employee's inbox. The Send Schedule button publishes the week and asks each person to confirm or refuse their shifts from their portal.


Here's how you'd do it in Odoo:


  1. Open the weekly Gantt and click Send Schedule, then pick the date range to publish.
  2. Add a short message (deadline to confirm, contact for swaps) and click Send to push the email to every assigned employee.
  3. Each employee receives an email with their shifts and a Confirm or Refuse button per slot on the portal.
  4. Refused shifts return to the Open Shifts pool with a reason captured in the chatter for traceability.
  5. Filter the Gantt by Confirmation Status to chase only the missing confirmations on Friday afternoon.


What you get: The 'did everyone see the schedule?' question gets a real answer with names and timestamps, and last-minute no-shows stop being a surprise on Monday morning.


5. Post open shifts that employees claim from their portal Level 5 — Medium


Level 5 turns scheduling into a small marketplace. Unfilled shifts go to a public pool, qualified employees see them on their portal, and the first valid claim wins the slot without a manager phone call.


Here's how you'd do it in Odoo:


  1. Create a shift but leave the Employee field empty, tick Open Shift, and pick the required role.
  2. Click Publish; the shift appears on the Employees portal under My Open Shifts for everyone qualified for that role.
  3. An employee clicks Take this Shift; the slot moves to their schedule and disappears from the pool instantly.
  4. The manager receives a Discuss notification and can approve or revoke within a configurable window.
  5. Use the Open Shifts report to spot recurring gaps (Friday nights, Sundays) and rethink permanent coverage.


What you get: Filling last-minute gaps stops being a phone-call relay. Employees self-serve the shifts they want, and managers only step in for the edge cases.


6. Block conflicts with Time Off, Attendances and contract hours Level 6 — Medium


Level 6 connects Planning to the rest of HR. Time Off requests, attendance records, and contract hours all push back on the Gantt so an impossible shift can no longer be saved.


Here's how you'd do it in Odoo:


  1. Enable Cross-app Validation in Planning, Configuration, Settings, ticking Time Off, Attendances, and Contracts.
  2. An approved Time Off request greys out the matching days on that employee's Gantt line automatically.
  3. Try to assign a shift on a vacation day; Odoo refuses the save and proposes the next available employee on the right role.
  4. Set the weekly contract hours per employee; the Gantt shows planned versus contract hours in a side panel.
  5. Import clock-in records from Attendances and compare planned versus actual hours every Monday morning.
  6. Set a minimum 11-hour rest rule between two shifts so back-to-back assignments are refused at save time.


What you get: Illegal or impossible shifts are caught at planning time, not at payroll close, and the friction between HR, Planning, and Payroll drops to a few exceptions per month.


7. Forecast next week from Sales Orders and project deadlines Level 7 — Hard


Level 7 turns Planning into a demand-driven tool. Service Sales Orders and Project deadlines flow into the Gantt as required slots, so capacity is planned against real customer commitments.


Here's how you'd do it in Odoo:


  1. Go to Sales, Configuration, Settings, and enable Plan Service Lines so service products can generate shifts.
  2. On a new Sales Order, mark the service line as Plan in Planning with the required role and total hours.
  3. Confirm the order; Odoo creates an Open Shift on the right role for the requested date range.
  4. In Schedule by Project, deadlines from active Project tasks appear as workload bars to staff against the right role.
  5. Use the Forecast filter to see required hours versus assigned hours per role for the next four weeks.
  6. Drag the Open Shifts onto the right employees; the linked Sales Order and Project record update in real time.


What you get: Planning shifts to match what customers actually paid for closes the gap between sold hours and staffed hours, and overbooking a role becomes visible weeks before the deadline.


8. Plan Project tasks and Field Service interventions in the same Gantt Level 8 — Hard


Level 8 brings two more sources into one view. Project tasks and Field Service interventions appear next to standard shifts so a dispatcher schedules people, customers, and sites from one screen.


Here's how you'd do it in Odoo:


  1. Install Project and Field Service alongside Planning so the three apps share employees, roles, and skills.
  2. Open Planning, Schedule by Project to see open tasks waiting for an assignee in the Gantt left column.
  3. Drag a Project task onto an employee row; the task gets Planned Hours, the employee gets a shift, both records stay linked.
  4. Switch to Schedule by Sales Order to assign Field Service interventions on customer sites with travel time blocks.
  5. Configure Skills so a Field Service intervention requiring an electrical certification only proposes qualified technicians.
  6. Filter the Gantt by Customer to confirm a single visit covers all the pending tasks at the same site.


What you get: Shop floor shifts, project tasks, and on-site interventions live on one Gantt, so a single dispatcher balances internal work and customer commitments without juggling three tools.


9. Build a live capacity-versus-demand dashboard in Spreadsheet Level 9 — Hard


Level 9 puts Planning data inside a Spreadsheet dashboard. Required hours, assigned hours, open shifts, and absence rate refresh live so the management team reads the same numbers as the floor.


Here's how you'd do it in Odoo:


  1. Open Planning, Reporting, Analysis, and group by Role, Department, and Week to see the base pivot.
  2. Click Insert in Spreadsheet to push the pivot to a new Spreadsheet document named Capacity Live.
  3. Add a second pivot from Time Off (approved hours per week) and a third from Attendances (actual hours).
  4. Build a tab with five KPIs: planned hours, required hours, coverage rate, absence rate, and overtime hours.
  5. Add conditional formatting: red when coverage rate drops under 90 percent, orange under 95 percent.
  6. Schedule a weekly email digest of the dashboard to the operations director, the HR lead, and the finance partner.


What you get: The Monday operations meeting stops arguing about whose spreadsheet is right and starts deciding on shared, live numbers that everyone trusts.


Designing the right pivots, the conditional formatting rules, the digest cadence, and the cross-app data model is the kind of reporting setup Dasolo runs as a partner-led engagement.


10. Run an AI capacity orchestrator across Planning, Sales, HR, Payroll and external calendars Level 10 — Expert


Level 10 is the ceiling. An AI agent reads sold hours, time-off requests, contract hours, and historical patterns, then proposes a full week of shifts that managers only have to review and approve.


Here's how you'd do it in Odoo:


  1. Train the Odoo AI assistant on the last 12 months of Planning, Sales, Time Off, and Attendances data.
  2. Set objectives per role: target coverage rate, maximum overtime, minimum rest hours, and fairness across employees.
  3. Each Sunday night, the AI generates a draft schedule with assigned shifts, open shifts, and a written summary of trade-offs.
  4. Connect external calendars (Google Workspace, Microsoft 365) via API so personal availability flows into the Gantt before the AI runs.
  5. Wire Payroll: confirmed shifts push planned hours, overtime, and night premiums into the next payslip preview automatically.
  6. Push alerts to Slack or Teams when the AI detects a coverage gap, a contract breach, or a fairness anomaly across the upcoming month.
  7. The manager reviews the draft in 15 minutes on Monday morning and clicks Publish; the AI keeps learning from manual adjustments.


What you get: One AI orchestrator does the work of a full scheduling team, 24/7, with measurable fairness and a clear audit trail, and managers focus on coaching and exceptions instead of cell editing.


Wiring AI agents to Planning, Sales, HR, Payroll, and external calendars, with the right guardrails on overtime, fairness, and labor compliance, is the cross-app architecture Dasolo assembles as a partner-led program.


When Expert Help Makes Sense


If levels 1 to 6 fit your world, you can often succeed with standard Odoo Planning, a patient internal owner, and a sandbox where people are allowed to break things safely.


From level 7 upward, the stakes rise: automated workflows that email the wrong customer, Studio fields that block upgrades, APIs that silently stop syncing stock at 2 a.m.


That is not a failure of your team. It is a signal that architecture, testing, and governance matter.


Bring in a partner when you need multi-app design, country-specific compliance, complex integrations, or a go-live date the board already put in the calendar.

Work With Dasolo


Dasolo helps companies implement Odoo the way they actually work: custom apps, clean integrations, and training people will remember after the consultants leave.


If your roadmap for Planning includes the advanced use cases in this guide, we can map a phased plan: quick wins first, then automation and integrations with clear owners and test scripts.


You keep control of scope and budget. We bring the Odoo depth so your team does not learn expensive lessons in production.

Book a free consultation:


Schedule your demo

Odoo Planning: Shifts, Roles, and Capacity Signals
Louis Dresse SRL, Louis DRESSE May 25, 2026
Share this post
Sign in to leave a comment