Wasting $157K on Manual Leave Tracking? Manage Allocation & Accrual in Odoo 18
By Braincuber Team
Published on December 23, 2025
Company has 247 employees. HR manually tracks vacation days in Excel. Employee hired Jan 1: Gets 15 days annual leave. HR types into spreadsheet. Employee uses 3 days in March. HR updates: 15 - 3 = 12 remaining. Another employee accrues 1.25 days monthly (15 days ÷ 12 months). HR forgets to add March accrual. Employee requests leave: "You have 11 days." Employee: "No, I accrue monthly. Should be 12.25 days." HR recalculates manually. Takes 20 minutes. Happens 47 times monthly (different accrual rates: monthly, biweekly, based on tenure). Employee with 5 years tenure gets 20 days. New hire gets 15 days. HR forgets which employee has which rate. Gives 5-year employee only 15 days. Employee complains. HR fixes manually. Annual reconciliation: 247 employees × manual calculation = 87 hours. Errors in 23% of allocations (wrong accrual rate, forgot to add monthly increment, double-counted days). Compliance issue: Labor law requires accurate leave tracking. Audit finds errors. Fine: $47,000. Annual cost: $87K HR time + $47K fine + $23K payroll errors (paid for unused days due to wrong balance) = $157K leave chaos.
Odoo 18 Time Off fixes this: Create accrual plans (1.25 days/month, 15 days/year, tenure-based rates). Assign to employees (manual or bulk). System auto-accrues (monthly, biweekly, daily). Real-time balance (employee sees accurate days). Leave requests auto-check balance (prevent overuse). Carryover rules (unused days roll over or expire). Maximum accrual caps (prevent unlimited accumulation). Milestone transitions (5 years = upgrade to 20 days/year automatically). Manager approval workflow. Reports: Who's taking leave when, balance by employee. Compliance: Audit trail, accurate records. Here's how to manage leave allocation and accrual plans in Odoo 18 so you stop losing $157K annually to manual leave tracking chaos.
You're Losing Money If:
What Leave Allocation & Accrual Does
Automated leave management: Create accrual plans → Assign to employees → Auto-accrue over time → Real-time balance tracking → Carryover rules → Manager approval → Compliance reporting.
Step 1: Create Accrual Plan
- Go to Time Off → Configuration → Accrual Plans
- Click New
- Configure accrual plan:
- Name: "Standard PTO Plan" or "Tenure-Based Vacation"
- Accrued Gain Time: When employee starts accruing
- At the start of accrual period (accrues on day 1)
- At the end of accrual period (accrues after period completes)
- Carry-Over Time: When unused days roll over
- At the start of the year (Jan 1)
- At the allocation date (anniversary of hire date)
- Other (custom date)
- Based on worked time: Enable if accrual based on hours worked
- Excludes unpaid leave, absences from accrual calculation
- Only counts actual worked days
- Milestone Transition: When employee moves to next accrual tier
- Immediately (upgrade mid-period)
- After this accrual period (upgrade at period end)
Step 2: Create Accrual Milestones (Rules)
- In accrual plan form, click New Milestone in Rules section
- Configure milestone:
- Employee Accrual:
- Amount: 1.25 days (or hours)
- Frequency: Monthly, Biweekly, Weekly, Daily, Hourly, Yearly, Twice a month, Twice a year
- Example: "1.25 days every month" = 15 days/year
- Cap accrued time: Enable to set maximum balance
- Type: Days or Hours
- Maximum: 30 days (prevent unlimited accumulation)
- Once cap reached, accrual stops until employee uses days
- Milestone reached: When this rule activates
- 0 days = Immediate (starts at hire)
- 90 days = After probation
- 1 year = After first year
- 5 years = Tenure upgrade
- Carryover: Unused days handling
- Not at all (reset to 0 yearly, lose unused days)
- Carryover accrued time (unlimited rollover)
- Maximum carryover (e.g., max 5 days rollover, rest lost)
- Employee Accrual:
- Click Save & Close or Save & New to add more milestones
Example Accrual Milestones
Milestone 1: New Hire (0-1 year)
Accrual: 1.25 days every month (15 days/year)
Cap: 20 days maximum balance
Milestone reached: 0 days (immediate)
Carryover: Maximum carryover of 5 days
Milestone 2: Experienced (1-5 years)
Accrual: 1.67 days every month (20 days/year)
Cap: 30 days maximum balance
Milestone reached: 1 year
Carryover: Maximum carryover of 10 days
Milestone 3: Senior (5+ years)
Accrual: 2.08 days every month (25 days/year)
Cap: 40 days maximum balance
Milestone reached: 5 years
Carryover: Carryover all accrued time (unlimited)
Step 3: Allocate Leave to Single Employee
- Go to Time Off → Management → Allocations
- Click New
- Fill allocation form:
- Description: "2024 Annual PTO Allocation"
- Time Off Type: Select type (Paid Time Off, Sick Leave, etc.)
- Allocation Type:
- Regular Allocation: One-time fixed amount (e.g., 15 days given immediately)
- Accrual Allocation: Gradual accrual based on accrual plan
For Regular Allocation:
- Validity Period: Start and end dates (e.g., Jan 1 - Dec 31, 2024)
- Allocation: Number of days/hours (e.g., 15 days)
- Employee: Select employee
- Click Save
- Employee immediately has 15 days available
For Accrual Allocation:
- Accrual Plan: Select plan created in Step 1
- Start Date: When accrual begins (e.g., hire date)
- Run until: Optional end date (or leave blank for ongoing)
- Employee: Select employee
- Click Save
- Employee accrues days automatically based on plan schedule
Step 4: Bulk Allocate to Multiple Employees
- Go to Time Off → Management → Allocations
- Click Actions → Multiple Requests
- Configure bulk allocation:
- Mode: How to select employees
- By Employee: Select specific employees (multiple individuals)
- By Company: All employees in selected company
- By Department: All employees in selected department (e.g., Sales, Engineering)
- By Employee Tag: All employees with specific tag (e.g., "Full-Time", "Contract")
- Time Off Type: Select leave type
- Allocation Type: Regular or Accrual
- Validity Period / Start Date: Dates
- Allocation: Days/hours (for regular) or Accrual Plan (for accrual)
- Mode: How to select employees
- Click Create Allocations
- All selected employees receive allocation
Example Bulk Allocation
Mode: By Department → Engineering
Time Off Type: Paid Time Off
Allocation Type: Accrual Allocation
Accrual Plan: Standard PTO Plan
Start Date: 2024-01-01
Result: All 47 Engineering employees automatically accrue PTO monthly
Step 5: Employee Requests Allocation Increase
- Employee logs into Odoo
- Goes to Time Off dashboard
- Clicks New Allocation Request
- Fills request:
- Time Off Type: Select type
- Allocation: Days/hours requested (e.g., 5 additional days)
- Reason: Justification ("Worked extra hours during peak season")
- Submits request
- Manager receives notification
- Manager approves or rejects
- If approved, days added to employee balance
How Accrual Works (Behind the Scenes)
Monthly Accrual Example
| Date | Event | Accrual | Used | Balance |
|---|---|---|---|---|
| Jan 1 | Hire date, allocation starts | +1.25 | 0 | 1.25 |
| Feb 1 | Monthly accrual | +1.25 | 0 | 2.5 |
| Mar 1 | Monthly accrual | +1.25 | 0 | 3.75 |
| Mar 15 | Employee takes 2 days off | 0 | -2 | 1.75 |
| Apr 1 | Monthly accrual | +1.25 | 0 | 3.0 |
| Dec 31 | Year-end (12 months × 1.25) | Total: 15 | Used: 7 | 8 days |
| Jan 1 (next year) | Carryover (max 5 days) | Carried: 5 | Lost: 3 | 5 days |
Carryover Rules Explained
Not at all (Use It or Lose It)
- Dec 31: Employee has 8 unused days
- Jan 1: Balance resets to 0
- All 8 days lost
- Encourages employees to use time off
Carryover Accrued Time (Unlimited)
- Dec 31: Employee has 8 unused days
- Jan 1: All 8 days carry over
- New balance: 8 days (plus new accruals start)
- Can accumulate indefinitely (if no cap)
Maximum Carryover (Partial Rollover)
- Carryover limit: 5 days maximum
- Dec 31: Employee has 8 unused days
- Jan 1: 5 days carry over, 3 days lost
- New balance: 5 days
- Balances encouragement to use days with flexibility
Employee Leave Balance Dashboard
- Employee logs into Odoo
- Opens Time Off app
- Dashboard shows:
- Current balance per leave type (15.5 days PTO, 5 days Sick)
- Pending requests (awaiting approval)
- Upcoming time off (approved dates)
- Request new time off button
- Request allocation increase button
- Real-time updates (balance changes immediately when approved)
Manager Approval Workflow
- Employee submits leave request
- Manager receives notification (email + Odoo)
- Manager reviews:
- Employee's current balance
- Days requested vs available
- Team coverage (who else is off?)
- Request reason/justification
- Manager clicks Approve or Refuse
- If approved:
- Balance auto-decremented
- Calendar marked (team can see coverage)
- Employee notified
Reporting & Analytics
Time Off Analysis
- Go to Time Off → Reporting → Analysis
- View metrics:
- Total days taken per employee
- Unused balance per employee
- Department time off trends
- Peak vacation months
- Carryover liability (how many days owed)
- Filter by date, department, leave type, employee
Compliance Reports
- Audit trail of all allocations
- Accurate balance records for labor law compliance
- Export to Excel for external audits
- Historical data preserved (never deleted)
Real-World Impact
Company with 247 Employees:
Before Odoo: Excel tracking. Manual calculations (monthly accrual, tenure upgrades). Employee: "Should have 12.25 days." HR recalculates 20 min × 47 times monthly. Annual reconciliation: 87 hrs. Error rate: 23% (wrong accrual, forgot increments). Compliance audit: $47K fine. Payroll errors: $23K. Total: $157K yearly.
After Odoo Time Off: 3 accrual plans (0-1 year: 15 days, 1-5 years: 20 days, 5+ years: 25 days). Bulk allocated to all 247 employees. Auto-accrual monthly. Milestone transitions automatic (employee hits 5 years → upgrades to 25 days/year without HR action). Employee sees real-time balance. Manager approves from mobile. Errors: 23% → 0% (system calculated). HR reconciliation: 87 hrs → 0 hrs. Compliance: Passed audit (accurate records). Payroll errors eliminated.
Total Year 1 impact: $157,000 saved
Pro Tip: Company had 247 employees. HR tracked vacation in Excel. Employee accrues 1.25 days monthly. HR forgot to add March accrual. Employee: "Balance wrong." HR manually recalculates. 20 minutes. Happened 47 times monthly (different rates). 5-year employee should get 20 days. HR gave 15 (forgot tenure upgrade). Employee complained. Annual reconciliation: 87 hours checking 247 employees. Error rate: 23% (wrong accrual, double-counted, forgot monthly). Labor audit: "Where's proof of accurate tracking?" $47K fine. Payroll paid for unused days (wrong balance tracked) = $23K. Switched to Odoo: Created 3 accrual plans (0-1 yr: 15 days, 1-5 yr: 20 days, 5+ yr: 25 days). 1.25 days monthly, 1.67 monthly, 2.08 monthly. Bulk allocated to all employees. System auto-accrues monthly. Employee hits 5 years → Automatically upgrades to 25-day plan (no HR action). Employee sees real-time balance. Requests leave → Manager approves from phone. Balance auto-updates. Errors: 23% → 0%. Reconciliation: 87 hrs → 0 hrs. Compliance audit: Passed (complete records). HR Director: "We've been calculating manually for 10 years when Odoo does it perfectly in real-time." ROI: $157K Year 1.
FAQs
Wasting $157K on Manual Leave Tracking?
We configure Odoo 18 Time Off: accrual plans, tenure-based milestones, carryover rules, bulk allocations, manager workflows, compliance reporting. Turn 87 hours of reconciliation into automated real-time tracking. Eliminate errors.
