| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Time Off (hr_holidays)
• Calendar (calendar) • Employees (hr) • Discuss (mail) |
| Lines of code | 649 |
| Technical Name |
hr_mand_days_one_itr |
| License | LGPL-3 |
| Website | https://one-iteration.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Time Off (hr_holidays)
• Calendar (calendar) • Employees (hr) • Discuss (mail) |
| Lines of code | 649 |
| Technical Name |
hr_mand_days_one_itr |
| License | LGPL-3 |
| Website | https://one-iteration.com |
Mandatory Days Extended
Advanced Mandatory Day Management for Odoo 19
✓ Beta v19.0.1.0.0Overview
Mandatory Days Extended is a powerful Odoo 19 addon that supercharges the native hr.leave.mandatory.day functionality with advanced enforcement options, capacity management, leave-type exemptions, and an employee-facing dashboard widget.
Designed for organizations that need flexible control over company-wide closure periods, public holidays, and mandatory attendance rules — without disrupting Odoo's native leave management workflow.
Core Features
🎯 Three Enforcement Modes
Control how strictly mandatory periods are enforced:
🔴 Hard Block
Leave requests are immediately rejected. Perfect for critical closures where no exceptions apply.
🟠 Soft Warning
Leave is allowed, but managers see an orange warning banner. Ideal for advisory periods.
🔵 Capacity Limit
Leave is blocked only when department absence exceeds a configurable threshold (e.g., max 20% department absence).
🏢 Department-Level Capacity Management
- Set maximum absence percentages per mandatory period
- Capacity is calculated per employee's department for precision
- Automatically counts validated and planned leaves
✅ Leave Type Exemptions
- Exclude specific leave types (e.g., Sick Leave) from mandatory day restrictions
- Configure exemptions per period for maximum flexibility
👥 Employee Dashboard Widget
- Color-coded dashboard panel showing active and upcoming mandatory periods
- Displays period names, dates, enforcement type, and days until start
- Employees instantly understand mandatory day impacts on their leave requests
📊 Extended Filtering & Scoping
- Filter by department, job position, and leave type
- Scope to specific employees or company-wide
- Advanced search filters for easy management
📅 Status Indicators
- Auto-calculated fields:
is_active_now,is_upcoming,days_until_start - Calendar view with color-coded enforcement types
- Real-time banners on leave forms
🔗 Smart Integrations
- Compatible with
hr_leave_bid_one_itr(bid leave addon) - Works alongside
hr_defaultaddon - Enterprise
hr_payroll_holidaysmodule compatibility
Real-World Use Cases
- Summer Closure: Block all leave for 2 weeks in August (Hard mode)
- Year-End Shutdown: Enforce capacity limits so essential staff remain available
- Public Holiday Periods: Warn managers but allow exceptions with approval
- Departmental Maintenance: Restrict IT team during system upgrades while other departments proceed normally
- Seasonal Compliance: Manage leave around regulatory or compliance requirements
Technical Highlights
- Non-invasive: Extends native
hr.leave.mandatory.daywithout replacing it - Constraint-based validation: Enforces rules at create, write, and state-transition time
- Bid leave detection: Automatically skips draft bid leaves with sentinel dates
- Department-aware capacity: Per-department absence calculations protect department operations
- Computed fields: Auto-updated status indicators for real-time insights
📸 In Action
See how Mandatory Days Extended integrates seamlessly into your Odoo workflow:
Dashboard Integration: Quick access to Mandatory Days management from the Time Off menu
Flexible Configuration: Set enforcement type, capacity limits, scope, and exemptions per period
Manager Visibility: Clear warnings alert managers when leave overlaps a mandatory period
Hard Enforcement: Invalid leave requests show validation errors with period details
Requirements
- Odoo: 19.0 (community or enterprise)
- Python: 3.10 or later
- Dependencies:
hr_holidays(bundled with Odoo 19) - Optional:
hr_defaultaddon (by One-Iteration)
Installation
- Copy the addon to your Odoo addons path
- Restart Odoo service
- Update the Apps list in Settings → Apps
- Search for "Mandatory Days Extended" and click Install
hr_default, install this addon after hr_default.
Status & Support
Current Status: Beta v19.0.1.0.0
Feature complete and undergoing active testing. Recommended for testing in staging environments before production deployment.
License: LGPL-3
Developed by: One-Iteration
Please log in to comment on this module