Planning Resources & Roles Odoo 18
By Braincuber Team
Published on January 2, 2026
Project managers waste 60+ hours monthly tracking resources manually: team member scheduled for two projects simultaneously causes deadline conflict, equipment sitting idle while another department desperately needs it, consultant booked for wrong skill set delays project delivery by two weeks, shift coverage gaps appear only after employee calls in sick—all because resource planning scattered across spreadsheets, emails, and sticky notes instead of centralized system showing who's available when.
Odoo 18 Planning module transforms resource management into visual calendar-based workflow where you assign shifts based on employee availability, define roles for clear responsibility allocation, track materials and equipment allocation, create reusable shift templates to eliminate repetitive data entry, publish schedules directly to team members, and analyze resource utilization through comprehensive reports—reducing scheduling conflicts by 90% while maximizing team productivity and project delivery success rates.
Core Benefit: Planning module = centralized resource scheduling system. Schedule employees/materials across projects in calendar view, prevent conflicts automatically, publish schedules with one click, track utilization in real-time. Perfect visibility + zero double-booking.
Understanding Planning Module Architecture
Scheduling Interface
Calendar-based visual layout showing resource allocation across time periods. Switch between day/week/month/year views. Drag-and-drop shift creation with instant conflict detection and availability checking.
Resources
Employees assigned to specific activities based on availability and skills. Track work hours, time-off, overlapping shifts. Each resource shows complete schedule with color-coded status indicators.
Roles
Job functions defining responsibilities and capabilities. Examples: Developer, Designer, Project Manager, QA Tester. Assign tasks based on role requirements rather than specific individuals for flexibility.
Materials
Equipment and assets scheduled alongside human resources. Examples: Meeting rooms, machinery, vehicles, specialized tools. Prevent double-booking of limited physical resources across departments.
Setting Up the Scheduling Interface
Access the main scheduling dashboard from Planning module → Scheduling. This calendar view serves as your central command center for all resource allocation activities.
Navigate to Scheduling View
The default scheduling interface displays:
- Calendar Grid: Time slots organized by resources (rows) and dates (columns)
- Resource Names: Left sidebar listing all assignable employees/materials
- Shift Blocks: Color-coded rectangular blocks representing scheduled activities
- Conflict Indicators: Red warning icons when overlapping assignments detected
- Hover Previews: Quick info tooltips showing shift details without opening full form
Customize View Organization
Change how the calendar displays information:
- By Resources: Group shifts by individual employees—see John's complete weekly schedule
- By Roles: Group by job function—see all Developer shifts regardless of person assigned
- By Projects: Group by project name—see all activities for Website Redesign project
- By Sales Orders: Group by customer order—track resource allocation per client deliverable
Adjust Time Period Display
Select appropriate time granularity:
- Day View: Hourly breakdown for detailed shift management
- Week View: Standard 7-day calendar for typical scheduling
- Month View: 30-day overview for long-term planning
- Year View: 12-month strategic perspective for capacity planning
Understanding Conflict Detection:
SCENARIO: Employee Jane Smith scheduled twice Monday 9:00 AM - 1:00 PM: Project Alpha - Frontend Development Monday 11:00 AM - 3:00 PM: Project Beta - Client Meeting RESULT: Red indicator appears on both shift blocks HOVER MESSAGE: "Conflict detected - Resource double-booked" RESOLUTION OPTIONS: 1. Reschedule one shift to different time slot 2. Assign Project Beta meeting to different team member 3. Reduce Project Alpha shift to 9:00 AM - 11:00 AM only
Creating and Managing Shifts
Shifts are scheduled activities assigned to specific resources for defined time periods. Create shifts manually or use automation features for efficiency.
Create New Shift Manually
Click New button or click directly on any calendar time slot. Fill the shift form:
- Resource: Select employee/material from dropdown (e.g., "Sarah Johnson")
- Role: Define job function for this shift (e.g., "Senior Developer")
- Project: Link to active project (e.g., "E-commerce Platform")
- Sales Order Item: Connect to specific customer order line if applicable
- Start Date & Time: When shift begins (e.g., "Jan 15, 2026 09:00 AM")
- Allocated Time: Duration in hours (e.g., "6.0 hours")
- Company: Business unit if multi-company setup
- Notes: Additional instructions sent to employee in notification
Enable Recurring Shifts
For repeating schedules, click Repeat button and configure:
- Repeat Interval: Daily, Weekly, Monthly patterns
- Repeat Until: End date for recurrence or specific number of occurrences
- Days of Week: For weekly patterns, select Mon/Wed/Fri, etc.
Important: Editing one instance in recurring series only affects that specific shift. Delete single occurrence won't stop future repeats—disable recurrence to stop generating new shifts.
Publish and Send to Resources
After creating shifts:
- Save: Store shift as draft—visible in calendar but not sent to employee
- Publish & Send: Finalize shift and email notification to assigned resource
- Publish (button): Batch publish multiple selected shifts at once via popup
Quick Editing Shortcuts:
1. CLICK TIME SLOT Action: Opens new shift form pre-filled with clicked date/time Use Case: Quick manual scheduling 2. CLICK EXISTING SHIFT Action: Opens shift details for editing Use Case: Modify time, resource, or notes 3. DRAG SHIFT BLOCK Action: Move shift to different time slot or resource Use Case: Quick rescheduling without opening form 4. HOVER OVER SHIFT Action: Displays preview popup with details Use Case: Quick information lookup without editing 5. AUTO PLAN BUTTON Action: Automatically assigns unallocated sales orders to available staff Use Case: Bulk scheduling based on availability algorithms 6. COPY PREVIOUS WEEK Action: Duplicates last week's schedule to current week Use Case: Recurring weekly patterns (retail, support, etc.)
Configuring Roles
Roles define job functions and responsibilities within your organization. Assign shifts by role rather than specific person for maximum scheduling flexibility. Path: Planning → Configuration → Roles
Create New Role
Click New button in the roles list view:
- Name: Clear role identifier (e.g., "Frontend Developer", "Customer Support Agent")
- Resources: Assign employees qualified for this role (multiple employees per role)
- Services: Define what services/tasks this role provides
- Color: Assign distinct color for easy visual identification in calendar
Assign Multiple Resources to Role
Why assign multiple people to same role:
- Flexibility: Schedule "Developer" role shift—system can assign any qualified developer
- Coverage: When primary resource unavailable, backup resources automatically suggested
- Skills Tracking: Filter scheduling view by role to see all QA Tester activities regardless of person
Example Role Configuration:
ROLE: Senior Software Engineer Resources: John Smith, Sarah Johnson, Michael Chen Services: Backend Development, Code Review, Architecture Design Color: Blue (#4A90E2) ROLE: Project Manager Resources: Emily Davis, Robert Wilson Services: Project Planning, Client Communication, Team Coordination Color: Green (#7ED321) ROLE: Quality Assurance Tester Resources: Lisa Anderson, David Martinez, Amy Thompson Services: Manual Testing, Automated Testing, Bug Reporting Color: Orange (#F5A623) ROLE: Technical Support Specialist Resources: Kevin Brown, Jessica Lee, Daniel Garcia Services: Customer Issue Resolution, Ticket Management, Product Training Color: Purple (#9013FE)
Managing Materials and Equipment
Materials represent physical assets and equipment that need scheduling alongside human resources. Prevent double-booking of meeting rooms, machinery, vehicles, and specialized tools. Path: Planning → Configuration → Materials
Add New Material
Click New to create material entry:
- Name: Material identifier (e.g., "Conference Room A", "CNC Machine 5", "Company Van #3")
- Roles: Link to roles that typically use this material (e.g., "Meeting Facilitator" uses conference rooms)
- Company: Business unit that owns this asset
- Flexible Hours: Enable if material can be used outside standard working hours
- Working Time: Define availability schedule (e.g., "8 AM - 6 PM weekdays only")
Schedule Material Usage
When creating shifts, assign materials same way as human resources:
- Create shift and select material from Resource dropdown
- System checks material availability for selected time slot
- Red conflict indicator appears if material already scheduled elsewhere
- Calendar view shows material utilization across all projects simultaneously
Material Management Use Cases:
SCENARIO 1: Meeting Room Booking Material: Conference Room B (capacity 12) Schedule: Monday 2:00 PM - 4:00 PM Project: Q4 Strategy Planning Conflict Prevention: System blocks room for other meetings during this time SCENARIO 2: Manufacturing Equipment Material: 3D Printer Station #2 Schedule: Tuesday 8:00 AM - Friday 5:00 PM Project: Prototype Development - Product X Working Time: 24/7 (continuous operation allowed) SCENARIO 3: Company Vehicle Fleet Material: Delivery Van #5 Schedule: Wednesday 9:00 AM - 6:00 PM Project: Client Site Installation Flexible Hours: No (must return by 6 PM for next day availability) SCENARIO 4: Specialized Tools Material: Thermal Imaging Camera Schedule: Thursday Only - shared across departments Roles: Maintenance Technician, Quality Inspector Company: Manufacturing Division
Creating Shift Templates
Shift templates eliminate repetitive data entry by storing predefined shift configurations you use frequently. Create template once, reuse hundreds of times. Path: Planning → Configuration → Shift Templates
Create Template from Existing Shift
When creating new shift, enable Save as Template checkbox. This saves:
- Planned Hours: Duration automatically applied
- Role: Pre-selected job function
- Project: Default project assignment
- Notes: Standard instructions included automatically
Create Template Directly
Navigate to Configuration → Shift Templates → New:
- Template Name: Descriptive identifier (e.g., "Morning Support Shift")
- Duration: Standard length (e.g., 4 hours, 8 hours)
- Role: Associated job function
- Project: Default project if applicable
Template Examples:
TEMPLATE: Standard Development Sprint Planned Hours: 6.0 hours Role: Software Developer Project: Active Sprint (change per sprint) Notes: "Complete assigned tickets in current sprint. Daily standup at 10 AM." TEMPLATE: Customer Support - Morning Shift Planned Hours: 4.0 hours (9 AM - 1 PM) Role: Support Specialist Project: Customer Service Operations Notes: "Answer phone/email inquiries. Escalate priority issues to supervisor." TEMPLATE: Equipment Maintenance Check Planned Hours: 2.0 hours Role: Maintenance Technician Project: Preventive Maintenance Notes: "Complete checklist for assigned equipment. Report any issues immediately." TEMPLATE: Client Presentation Preparation Planned Hours: 3.0 hours Role: Account Manager Project: Sales & Client Relations Notes: "Prepare presentation deck, rehearse demo, compile client-specific data."
Employee Scheduling Features
Give employees visibility into their own schedules and ability to manage shift availability through self-service features.
My Planning View
Each employee accesses personalized schedule view via Planning → My Planning. This dedicated interface shows:
- Personal Schedule: Only shifts assigned to logged-in user
- Published Shifts: Confirmed schedules that employee committed to
- Draft Shifts: Tentative assignments pending manager approval
- Conflict Warnings: Highlighted overlapping shifts requiring resolution
- Time-Off Integration: Approved vacation/sick days shown as unavailable blocks
Open Shifts and Shift Swapping
Understanding Open Shifts
When employee can't complete assigned shift:
- Employee Action: Unassign themselves from shift (subject to deadline restrictions)
- System Response: Shift moves to "Open Shifts" pool visible to qualified team members
- Other Employees: Can claim open shift if they have availability and matching role qualification
- Manager Visibility: Administrators notified when shifts become open for reallocation
Configure Shift Withdrawal Deadlines
Set policies controlling when employees can unassign shifts:
- Example Policy: Must withdraw at least 48 hours before shift start time
- Enforcement: System blocks withdrawal attempts within deadline window
- Manager Override: Administrators can remove employees regardless of deadline
Open Shift Workflow:
STEP 1: Employee Withdrawal Employee: Sarah Johnson Shift: Friday Jan 20, 2:00 PM - 6:00 PM Role: Customer Support Specialist Action: Sarah clicks "Unassign Me" button (Monday Jan 16) Result: Shift becomes "Open Shift" STEP 2: Open Shift Notification System: Emails all employees with "Customer Support Specialist" role Message: "Open shift available Friday afternoon - claim if interested" Visibility: Appears in "Open Shifts" menu for qualified team members STEP 3: Shift Claiming Employee: Michael Chen (also Customer Support role) Action: Reviews open shifts, clicks "Claim Shift" Validation: System checks Michael has no conflicts Friday 2-6 PM Result: Shift reassigned to Michael, removed from Open Shifts pool STEP 4: Confirmation System: Sends confirmation to Michael, notifies manager of swap Calendar: Updated automatically showing Michael scheduled for Friday shift Sarah: Sees shift removed from her personal schedule
Advanced Filtering and Organization
The Planning module provides extensive filtering capabilities to view exactly the schedule information you need without clutter.
Available Filters:
PERSONAL FILTERS: - My Shifts: Only shifts assigned to current user - My Team: Shifts for direct reports - My Department: All shifts within user's department - My Role: Shifts matching user's assigned role SCOPE FILTERS: - My Project: Shifts linked to projects user manages - My Sales Orders: Shifts connected to user's customer orders - Open Shifts: Unassigned shifts available for claiming STATUS FILTERS: - Shifts in Conflict: Overlapping assignments requiring resolution - Employees on Time Off: Resources marked as unavailable (vacation/sick) - No Timesheets: Shifts completed but hours not logged yet - Draft: Unpublished shifts in planning stage - Published: Confirmed shifts sent to employees RESOURCE TYPE FILTERS: - Employees: Human resources only - Materials: Equipment and assets only BILLING FILTERS: - Billable: Shifts charged to client projects - Non-Billable: Internal work not invoiced DATE FILTERS: - Start Date: Filter by shift beginning time - End Date: Filter by shift completion time
Group By Options:
- Department: See all Engineering shifts separate from Sales shifts
- Manager: View schedules organized by reporting structure
- Resource: Standard view showing each person/material separately
- Role: Group all Developer shifts together regardless of person
- Sales Order: Organize by customer contract for client-facing work tracking
- Project: See complete resource allocation per project initiative
- Company: Multi-company environments showing organizational separation
- Start/End Date: Chronological grouping for timeline analysis
Planning Analysis and Reporting
Access comprehensive scheduling analytics via Planning → Reporting → Planning Analysis. The pivot table format enables multidimensional resource utilization analysis.
Analyze Resource Utilization
Use the pivot view to answer questions like:
- Who's overbooked? Group by Resource, measure Total Hours, filter for employees exceeding 40 hours/week
- Which projects consuming most resources? Group by Project, measure Allocated Hours, sort descending
- Department workload distribution? Group by Department, compare Total Hours across teams
- Billable vs non-billable ratio? Group by Billable status, calculate percentage of total hours
Customize Report Measures
Adjust metrics displayed:
- Allocated Hours: Total scheduled time
- Allocated Percentage: Capacity utilization rate
- Number of Shifts: Count of scheduled activities
- Effective Hours: Actual worked time (when timesheet integration enabled)
Sample Report Configurations:
REPORT 1: Team Capacity Analysis Group By: Resource (rows), Week (columns) Measure: Allocated Hours Filter: Department = Engineering, Date Range = Next 4 weeks Output: Grid showing each engineer's weekly hour allocation Use Case: Identify who can take additional tasks this month REPORT 2: Project Resource Breakdown Group By: Project (rows), Role (columns) Measure: Allocated Hours Filter: Status = Published, Projects = Active only Output: Matrix showing hours per role for each project Use Case: Verify projects have proper skill mix allocated REPORT 3: Utilization Rate Tracking Group By: Resource Measure: Allocated Percentage Filter: Date Range = Current Month Output: List showing % of available hours scheduled per employee Use Case: Identify under-utilized resources for assignment REPORT 4: Billing Analysis Group By: Sales Order, Billable Status Measure: Allocated Hours, Count Filter: Date Range = Current Quarter Output: Hours allocated to each customer order (billable vs non-billable split) Use Case: Validate client billing accuracy and project profitability
Integration with Other Modules
Planning module connects seamlessly with other Odoo applications for complete business workflow integration:
Employees Module
Automatically imports employee records as resources. Employee availability based on working time configurations. Job positions map to planning roles for skill-based assignment.
Project Module
Link shifts directly to project tasks. Track resource allocation per project phase. Planned hours vs actual hours comparison when timesheets enabled. Project deadlines visible in scheduling view.
Sales Module
Schedule resources against specific sales order items. Allocate team members to customer deliverables. Track billable hours for accurate client invoicing. Auto-planning assigns sales orders to available resources.
Timesheet Module
Published shifts create timesheet entries automatically. Employees log actual hours against planned shifts. Compare estimated vs actual time for accuracy improvement. "No Timesheets" filter identifies incomplete time entries.
Manufacturing Module
Schedule production resources (machines, operators) for manufacturing orders. Link work center availability to planning calendars. Prevent equipment double-booking across production lines.
Time Off Module
Approved time-off requests automatically block resource availability. "Employees on Time Off" filter shows scheduled absences. System prevents assigning shifts during vacation/sick leave periods.
Best Practices for Effective Resource Planning
✅ Follow These Guidelines:
- Define roles before scheduling: Set up complete role structure with qualified resources before creating shifts—prevents assignment errors
- Use shift templates for recurring patterns: Weekly support schedules, regular maintenance checks, standard project sprints—template once, reuse forever
- Enable auto-planning for efficiency: Let system optimize resource allocation based on availability rather than manual assignment
- Set realistic allocated hours: Don't schedule 40 hours of project work for someone with 15 hours of meetings—leave buffer time
- Publish schedules consistently: Set regular publishing cadence (e.g., every Friday for next week) so employees can plan personal lives
- Review conflict indicators immediately: Red warning icons mean problems—address overlaps same day rather than letting them compound
- Integrate with timesheets: Enable time tracking to compare planned vs actual hours and improve future estimation accuracy
- Utilize open shifts feature: When employee availability changes, immediately move to open shifts so team can cover gaps
Common Planning Mistakes to Avoid
🚨 Mistake #1: Ignoring Conflict Warnings
Red indicators appear but scheduling continues = employee shows up confused about which meeting to attend, misses critical deadline. Solution: Resolve all conflicts before publishing schedules. Use "Shifts in Conflict" filter daily.
🚨 Mistake #2: Not Configuring Working Time for Materials
Meeting room scheduled 24/7 but building closes at 8 PM = employee arrives to locked door. Solution: Set working time constraints matching physical availability for all materials.
🚨 Mistake #3: Over-Scheduling Resources
Employee scheduled 50 hours of project work in 40-hour week = burnout and missed deadlines. Solution: Use Planning Analysis report to monitor utilization percentages. Keep under 85% to allow for interruptions/meetings.
🚨 Mistake #4: Publishing Without Notes
Employee receives shift notification but no context about what to work on = wasted time asking questions. Solution: Always include specific instructions in Notes field before publishing.
Conclusion
Odoo 18 Planning module revolutionizes resource management through centralized calendar-based scheduling interface where you visualize complete team allocation, assign shifts with drag-and-drop simplicity, prevent conflicts through automatic detection, define roles for skill-based task assignment, track materials and equipment alongside human resources, create reusable templates eliminating repetitive data entry, empower employees with self-service scheduling through My Planning and Open Shifts, analyze resource utilization with comprehensive pivot reports, and integrate seamlessly with Projects, Sales, Timesheets, and HR modules for complete business workflow automation—reducing scheduling time 80% while increasing resource utilization 35% and eliminating double-booking errors entirely.
🎯 Key Takeaway: Effective resource planning = right person with right skills assigned to right task at right time. Planning module makes this happen automatically through visual calendar, role-based assignment, conflict detection, and real-time availability tracking. Stop juggling spreadsheets—start scheduling intelligently.
