Frappe HRMS - Ch06 Leaves
Frappe HRMS – Chapter 6: Leaves
Part of the Frappe HRMS documentation series. | Upstream: github.com/frappe/hrms
The Leaves module manages the full leave lifecycle: type definitions, policy configuration, annual allocations, applications, approvals, encashment, and the leave ledger that maintains accurate balance records.
1. Leave Type
Purpose
Defines a category of leave and all rules governing it — how it accrues, whether it carries over, whether it can be encashed, and how it affects attendance. Leave Types are the foundation for all downstream leave operations.
Key Configuration Fields
| Field | Description |
|---|---|
| Leave Type Name | e.g., Vacation Leave, Sick Leave, Maternity Leave, Paternity Leave, Service Incentive Leave |
| Max Days Allowed | Maximum consecutive days allowed per application (optional) |
| Is Carry Forward | Whether unused balance rolls over to the next period |
| Is Encashable | Whether unused balance can be converted to cash |
| Is Earned Leave | Whether the leave accrues incrementally over time (vs. upfront allocation) |
| Applicable After (Working Days) | Minimum service days before the leave can be applied |
| Allow Negative Balance | Whether employees can go below zero balance |
| Include Holiday | Whether holidays within a leave period count as leave days |
| Is Optional Leave | Whether attendance is auto-marked on approved leave |
Philippine Leave Types (Minimum Statutory)
| Leave Type | Basis | Days | Encashable |
|---|---|---|---|
| Service Incentive Leave (SIL) | Labor Code Art. 95 | 5 days/year | Yes (at separation) |
| Maternity Leave | RA 11210 | 105 days (normal), 120 days (C-section) | No |
| Paternity Leave | RA 8187 | 7 days | No |
| Solo Parent Leave | RA 8972 | 7 days/year | No |
| Magna Carta Leave (Women) | RA 9262 | 10 days/year | No |
| Vacation Leave | Company policy | Variable | Company policy |
| Sick Leave | Company policy | Variable | Company policy |
Steps
- Go to HR → Leaves → Leave Type → New.
- Enter Leave Type Name and configure applicable fields per the table above.
- Save.
2. Holiday List
Purpose
Defines the official holidays for a company or location. Holiday Lists are assigned to employees directly or via their Department/Branch. Leave Applications and Attendance records reference the Holiday List to correctly mark holiday days.
Philippine Holidays
Frappe includes a feature to auto-populate regional holidays. For the Philippines, two categories apply:
- Regular Holidays (200% pay if worked): New Year's Day, Araw ng Kagitingan, Maundy Thursday, Good Friday, Labor Day, Independence Day, National Heroes Day, Bonifacio Day, Christmas Day, Rizal Day
- Special Non-Working Days (130% pay if worked): Chinese New Year, Ninoy Aquino Day, All Saints' Day, All Souls' Day (certain years), Feast of the Immaculate Conception, Christmas Eve, Last Day of the Year
Steps
- Go to HR → Leaves → Holiday List → New.
- Enter Holiday List Name and Year.
- Click Get Regional Holidays and select the Philippines region.
- Verify and adjust dates.
- Mark each holiday with type: Regular Holiday or Special Non-Working Day.
- Save.
Assignment
- Assign to employees via the Employee master (Holiday List field).
- Or assign in bulk via HR Settings (default company holiday list).
3. Leave Period
Purpose
Defines the validity period for leave allocations (typically the fiscal or calendar year). All Leave Allocations must reference a Leave Period.
Steps
- Go to HR → Leaves → Leave Period → New.
- Enter Period Name (e.g., 2025 Leave Year), Start Date, and End Date.
- Select the Company.
- Save.
4. Leave Policy
Purpose
Groups multiple Leave Types with their annual allocation quantities into a single policy document. A policy is then assigned to employees (directly or by grade/department) and drives the Leave Allocations for the period.
Steps
- Go to HR → Leaves → Leave Policy → New.
- Enter Policy Name (e.g., Regular Employee – 2025, Probationary – 2025).
- Under the Leave Policy Details table, add each Leave Type with:
- Leave Type
- Annual Allocation (days)
- Save.
5. Leave Policy Assignment
Purpose
Links a Leave Policy to a specific employee for a specific Leave Period. When submitted, the system automatically creates the corresponding Leave Allocation records.
Steps
- Go to HR → Leaves → Leave Policy Assignment → New.
- Select Employee, Leave Policy, Leave Period, and Effective From date.
- Save and submit.
- System creates one Leave Allocation record per Leave Type in the policy.
Bulk Assignment
Use the Leave Control Panel to assign a policy to multiple employees at once (filter by Department, Grade, Employment Type).
6. Leave Allocation
Purpose
The actual grant of leave days to an individual employee for a specific Leave Type and period. The Leave Ledger Entry is created from this record.
Steps
- Go to HR → Leaves → Leave Allocation → New.
- Select Employee, Leave Type, From Date, and To Date.
- Enter the number of New Leaves Allocated.
- Enable Carry Forward if prior year balance should be added.
- Submit.
Note
Do not create Leave Allocations manually if using Leave Policy Assignment — the system creates them automatically.
7. Leave Application
Purpose
The employee's request for leave. Checked against available balance and routed for manager approval. Approved applications are reflected in the Leave Ledger and automatically mark attendance as "On Leave."
Prerequisites
- Sufficient leave balance (Leave Allocation exists)
- Leave type not blocked by a Leave Block List for the requested dates
Steps
Employee Submission
- Go to HR → Leaves → Leave Application → New.
- Select Leave Type, From Date, and To Date.
- Enter Reason.
- Total Leave Days auto-calculates (excluding holidays if Leave Type is configured to do so).
- Save → Submit → Approver is notified.
Approval
- Approver opens the Leave Application.
- Reviews the request and current balance.
- Clicks Approve or Reject.
- On approval, system deducts from the leave balance via a Leave Ledger Entry.
- Attendance records for the covered dates are updated to "On Leave."
Half-Day Leave
Enable the Half Day toggle and select AM or PM. System deducts 0.5 days.
Next Step
- Employee can check balance via Leave Allocation or Leave Ledger.
- Manager can view the team's leave calendar.
8. Compensatory Leave Request
Purpose
Allows an employee who worked on a holiday or rest day to request compensatory time off in lieu of premium pay.
Steps
- Go to HR → Leaves → Compensatory Leave Request → New.
- Select Employee, Work Date (the holiday/rest day worked), and the corresponding Leave Type.
- Submit for approval.
- On approval, system creates a Leave Allocation adding compensatory days.
9. Leave Encashment
Purpose
Converts unused leave balance into a cash payment. Typically used at year-end for Service Incentive Leave or at separation for accumulated leave balances.
Prerequisites
- Leave Type must have Is Encashable enabled
- Employee must have positive leave balance
Steps
- Go to HR → Leaves → Leave Encashment → New.
- Select Employee, Leave Type, and Leave Period.
- Enter Encashable Days (system may auto-calculate based on balance).
- System computes cash value based on Daily Salary from the employee's Salary Structure.
- Submit.
- Process payment via Payment Entry or include in the next payroll run as an Additional Salary.
10. Leave Block List
Purpose
Prevents leave from being approved for certain departments on critical dates (e.g., month-end closing, peak production periods). Applies at the Department level.
Steps
- Go to HR → Leaves → Leave Block List → New.
- Enter Block List Name.
- Under Dates, add each blocked date with reason.
- Under Allowed, list any employees who are exempt.
- Assign the Block List to the relevant Department(s).
- Save.
11. Leave Ledger
Purpose
The double-entry ledger underlying all leave balance movements. Every allocation, application, encashment, and adjustment creates a Leave Ledger Entry. Read-only — do not edit directly.
Access
HR → Leaves → Reports → Leave Ledger
Reports
- Employee Leave Balance — current balance per employee per leave type
- Employee Leave Balance Summary — summary view across all employees
- Employees Working on a Holiday — identifies attendance exceptions on holidays (triggers holiday pay computation)
- Leave Ledger — full transaction history of all leave movements
Related Chapters
- Frappe HRMS — main index
- Frappe HRMS - Ch04 Shift and Attendance — approved leaves update attendance records
- Frappe HRMS - Ch07 Payroll — leave without pay and encashment affect payroll computation
- Frappe HRMS - Ch09 Philippine Localization — statutory Philippine leave types and Service Incentive Leave rules