Public Holidays & Mandatory Days Odoo 18
By Braincuber Team
Published on December 28, 2025
HR managers handling employee leave create scheduling chaos: manually tracks 25 national holidays per year in Excel spreadsheet, employee requests time off on Christmas Day unaware it's already public holiday consuming annual leave balance unnecessarily, production manager schedules critical project deadline December 25 not realizing nobody available causing project delay, warehouse employee books vacation during mandatory inventory count week but system allows approval because no mandatory day configured, payroll calculates wrong pay deducting holiday from leave balance, and no calendar visualization showing blocked dates—creating operational disruptions and payroll errors from manual public holiday and mandatory day tracking without automated time-off system integration.
Odoo 18 Public Holidays & Mandatory Days automate leave management through public holiday configuration (company-wide paid non-working days), mandatory day setup (required attendance blocking time-off requests), working hours exceptions (department-specific holidays), calendar visualization (color-coded date blocking), automatic leave balance protection (holidays don't consume allowance), payroll integration (accurate compensation calculations), validation rules preventing time-off on mandatory days, and reporting dashboard tracking holiday impact—eliminating manual tracking reducing scheduling conflicts 90% while ensuring payroll accuracy and operational continuity through systematic holiday and attendance requirement management.
Holiday Features: Public holiday config, Mandatory days, Working hours exceptions, Calendar visualization, Leave balance protection, Payroll integration, Validation rules, Color coding, Department-specific rules
Public Holidays vs Mandatory Days
Public Holidays
- Paid non-working days
- Employees OFF (doesn't consume leave balance)
- Company/Country-specific
- Examples: Christmas, New Year, Independence Day
Mandatory Days
- Required attendance days
- Employees MUST work (time-off blocked)
- Department/Company-specific
- Examples: Year-end inventory, Annual meeting, Product launch
Configuring Public Holidays
Accessing Public Holidays:
- Go to Time Off → Configuration → Public Holidays
- List view shows existing holidays
- Click New to create holiday
Quick Setup Fields:
- Name: Holiday name (e.g., "Christmas Day")
- Company: Select company (multi-company support)
- Start Date: Holiday start (follows company timezone)
- End Date: Holiday end (same as start for single-day holidays)
- Working Hours: Specific employee group or leave empty for all employees
- Work Entry Type: Payroll classification (defined in Payroll app)
Example - Christmas Day:
- Name: "Christmas Day"
- Company: Your Company
- Start Date: December 25, 2024
- End Date: December 25, 2024
- Working Hours: (empty = applies to all employees)
- Work Entry Type: "Public Holiday"
Click Apply in calendar view, then Save
Advanced Configuration:
Click interlink at end of editing line to open detailed form:
Configuration Sections:
- Display in Payslip: How holiday appears on employee payslip
- Unpaid: Configure if holiday is paid or unpaid
- Valid for Advantages: Whether holiday qualifies for benefits calculation
- Time Off Options: Impact on leave balances
- Add to leave allowance
- Deduct from annual leave
- Neutral (no impact)
- Reporting: Configure payroll impact tracking, attendance records, time-off request monitoring
Configuring Mandatory Days
Accessing Mandatory Days:
- Go to Time Off → Configuration → Mandatory Days
- Click New button (top-left)
- Configure mandatory day details
Mandatory Day Fields:
- Name: Mandatory day description (e.g., "Year-End Inventory")
- Company: Select applicable company
- Departments: (Optional) Specific departments or company-wide
- Enable via column selector icon (top-right)
- Leave empty = all departments
- Select specific departments = only those must attend
- Start Date: Mandatory attendance start
- End Date: Mandatory attendance end (same as start for single day)
- Color: Calendar display color (visual identification)
Example - Year-End Inventory:
- Name: "Year-End Inventory Count"
- Company: Your Company
- Departments: Warehouse, Inventory Control
- Start Date: December 30, 2024
- End Date: December 31, 2024
- Color: Red (high visibility)
Warehouse and Inventory Control employees cannot request time off on these dates
Calendar Visualization
Time Off dashboard shows visual calendar with color-coded dates:
- Public Holidays: Displayed with configured color
- Mandatory Days: Displayed with assigned color
- Legend: Shows meaning of each color
- Employee View: Employees see blocked dates when requesting time off
Validation Rules
Mandatory Day Enforcement:
Scenario: Employee Requests Time Off on Mandatory Day
- Employee goes to My Time → My Time Off
- Clicks New to create time-off request
- Selects time-off type and date (Dec 30, 2024 - mandatory day)
- Clicks Save
- Validation Error Appears: "Cannot request time off on mandatory days"
- Request blocked, cannot be submitted
System prevents accidental time-off approval on critical attendance days
Payroll Integration
Public holidays and mandatory days integrate with payroll:
Automatic Calculations:
- Public Holidays: Marked as paid non-working days in payroll
- Work Entry Type: Categorizes holiday for payslip display
- Leave Balance Protection: Holidays don't deduct from annual leave allowance
- Attendance Records: Accurate tracking excluding public holidays
- Compensation: Holiday pay calculated per regional/company policy
Department-Specific Holidays
Configure holidays for specific employee groups:
Use Case: Regional Office Holidays
Scenario: US office celebrates Thanksgiving, European office doesn't
- Create public holiday: "Thanksgiving"
- Set Start/End Date: November 28, 2024
- Working Hours: Select "US Office Hours"
- Save
Result: Only US employees with "US Office Hours" get Thanksgiving off. European employees work normal day.
Complete Workflow Examples
Example 1: National Holiday Setup
- Time Off → Configuration → Public Holidays → New
- Name: "Independence Day"
- Start/End: July 4, 2024
- Working Hours: (empty = all employees)
- Click Apply → Save
- Employee Impact:
- July 4 appears as public holiday on calendar
- Employees don't need to request time off
- Leave balance unaffected
- Payroll marks as paid holiday
Example 2: Mandatory Attendance Day
- Time Off → Configuration → Mandatory Days → New
- Name: "Annual All-Hands Meeting"
- Departments: (empty = all departments)
- Start/End: June 15, 2024
- Color: Orange
- Save
- Employee Impact:
- June 15 shows orange on calendar
- Time-off requests blocked for that date
- Validation error if attempted
- All employees must attend
Best Practices
Configure Holidays Annually in Advance: Setting up holidays mid-year when employees already booked vacation = retroactive conflicts. December setup for next year's 25+ public holidays = employees see availability immediately when planning family trips. Prevents: employee books July 4 vacation unaware it's holiday wasting allowance.
Color-Code by Urgency/Type: All mandatory days same color = can't distinguish critical vs optional attendance. Color strategy: Red = absolutely mandatory (inventory, audit), Orange = strongly encouraged (training, all-hands), Yellow = department-specific. Visual priority helps employees plan intelligently.
Department-Specific Configuration for Regional Offices: Global company treating all locations identically = US employees working Thanksgiving, India employees working Diwali both frustrated. Configure working hours per region → assign holidays to specific working hours → regional employees get appropriate holidays automatic.
Reporting & Monitoring
Track holiday and mandatory day impact:
- Payroll Reports: Holiday compensation costs
- Attendance Reports: Mandatory day compliance
- Leave Balance Reports: Verify holidays don't consume allowances
- Time-Off Requests: Monitor conflict attempts (requests on mandatory days)
Conclusion
Odoo 18 Public Holidays & Mandatory Days automate leave management through company-wide holiday configuration, department-specific mandatory days, calendar visualization, automatic validation rules, and payroll integration. Reduce scheduling conflicts 90% ensuring operational continuity and payroll accuracy through systematic holiday tracking eliminating manual spreadsheet management and preventing time-off conflicts on critical attendance days.
