Skip to content

How to Set Up Time Off Policies in Odoo 19

DeployMonkey Team · March 24, 2026 8 min read

Overview

The Time Off module (hr_holidays) in Odoo 19 manages employee leave requests, allocations, and approval workflows. It supports multiple leave types (vacation, sick, personal), fixed and accrual-based allocations, multi-level approvals, and company-wide mandatory days. Odoo 19 adds homeworking-holiday integration.

Prerequisites

  • Odoo 19 with the Time Off module installed
  • Employee records configured with departments and managers
  • HR Officer or Administrator access

Step 1: Configure Leave Types

Navigate to Time Off > Configuration > Leave Types and create your leave categories:

  • Name — e.g., "Paid Vacation", "Sick Leave", "Personal Day", "Parental Leave"
  • Approval — No Validation, HR Officer Approval, or Manager Approval
  • Allocation Type — Fixed (manual allocation) or No Allocation Needed (unlimited)
  • Allow Negative Cap — Whether employees can request more leave than allocated
  • Include in Reports — Whether this type appears in leave balance reports
  • Company — For multi-company environments

Step 2: Create Leave Allocations

Navigate to Time Off > Managers > Allocations:

Fixed Allocations

  • Select the employee(s) and leave type
  • Set the number of days allocated
  • Set the validity period (optional — e.g., January 1 to December 31)
  • Approve the allocation

Accrual Allocations

For leave that accrues over time:

  1. Create an allocation with Accrual Plan selected
  2. Configure the accrual plan with:
    • Accrual frequency — Daily, Weekly, Twice a Month, Monthly, etc.
    • Rate — Number of days accrued per period (e.g., 1.67 days per month for 20 days annually)
    • Cap — Maximum accrual limit
    • Carryover policy — How unused days roll over to the next period

Step 3: Configure Approval Workflow

Leave approvals follow the employee's reporting chain:

  • Manager Approval — The employee's direct manager approves the request
  • HR Officer Approval — HR must also approve (two-level approval)
  • No Validation — Requests are auto-approved

The manager is determined from the employee record's Manager field.

Step 4: Set Up Mandatory Days

Navigate to Time Off > Configuration > Mandatory Days. Create company-wide closures:

  • Name — e.g., "Christmas", "Independence Day", "Company Retreat"
  • Start Date / End Date — The mandatory day period
  • Company — For company-specific holidays

Mandatory days are automatically deducted from working days when calculating leave duration.

Step 5: Configure Stress Days

Stress days highlight peak business periods when leave should be discouraged:

  • Mark specific dates or periods as stress days
  • A warning appears when employees request leave on stress days
  • Stress days do not block leave requests but provide visibility

Step 6: Employee Self-Service

Employees manage their leave through the Time Off dashboard:

  • Time Off > Dashboard — View leave balances and upcoming requests
  • My Time Off — Submit new leave requests
  • The calendar view shows team availability

Step 7: Manager Dashboard

Managers view their team's leave status:

  • Time Off > Managers — Approve or refuse pending requests
  • Calendar view shows which team members are on leave
  • Balance overview for all direct reports

Best Practices

  • Create separate leave types for paid and unpaid time off
  • Use accrual plans for annual leave to distribute entitlements evenly
  • Set carryover limits to prevent excessive leave accumulation
  • Configure mandatory days before each fiscal year starts
  • Train employees to submit requests at least 2 weeks in advance for planned leave