Skip to content

Leave Management

The Leave Management module handles the entire leave lifecycle: configuring leave types and allowances, employee leave submission, multi-step approval workflows, balance tracking, and a visual calendar view. It integrates tightly with the Attendance module to automatically mark approved leave days.


Overview

Navigate to HR Panel → Leave or /leave. The module is divided into four sections:

SectionURLDescription
Leave Types/leave/typesConfigure available leave categories
Leave Requests/leave/requestsAll submitted requests
Leave Calendar/leave/calendarMonthly visual overview
Leave Balances/leave/balancesPer-employee balance tracking

Leave Types

Leave types define the categories of leave available to employees.

Creating a Leave Type

  1. Navigate to Leave → Leave Types
  2. Click Add Leave Type
  3. Fill in:
FieldRequiredDescription
Type NameYese.g., Annual Leave, Sick Leave, Casual Leave
CodeNoShort code (e.g., AL, SL)
Annual AllowanceYesNumber of days per year employees receive
Carry ForwardNoMax days that can carry into the next year (0 = no carry forward)
Requires DocumentationNoIf enabled, employees must upload a document (e.g., medical certificate for sick leave)
Half Day AllowedNoWhether employees can take 0.5-day increments
Paid / UnpaidYesWhether this leave type counts as paid
Applicable GenderNoRestrict to Male, Female, or All (for maternity/paternity)
Min Notice DaysNoHow many days in advance the request must be submitted
DescriptionNoInternal description
  1. Click Save

Default Leave Types (from Demo Seeder)

TypeDays/YearPaidNotes
Annual Leave21YesStandard paid holiday
Sick Leave14YesRequires medical note after 3 days
Casual Leave7YesShort notice leave
Maternity Leave90YesFemale employees only
Paternity Leave7YesMale employees only
Unpaid LeaveUnlimitedNoNo allowance cap

Leave Balances

Each employee's leave balance is tracked per leave type per year.

Viewing Balances

  1. Navigate to Leave → Balances
  2. Filter by year and/or employee
  3. The table shows: Allocated, Used, Pending (awaiting approval), and Remaining days
ColumnCalculation
AllocatedAnnual allowance + carried forward from previous year
UsedApproved and completed leave days
PendingSubmitted but not yet approved
RemainingAllocated − Used − Pending

Balance Reset

Leave balances reset at the start of each financial year (configured in Settings). The system:

  1. Calculates any carry-forward entitlements
  2. Creates new balance records for the new year
  3. Resets the used count to 0

Submitting a Leave Request

Employee Self-Service

Employees can submit their own leave requests:

  1. Navigate to Leave → My Requests
  2. Click Apply for Leave
  3. Fill in the form:
FieldRequiredDescription
Leave TypeYesSelect from available types
Start DateYesFirst day of leave
End DateYesLast day of leave
Half DayNoToggle for a half-day request (shows AM/PM option)
ReasonNoOptional explanation
Supporting DocumentConditionalRequired if the leave type has Requires Documentation enabled
  1. Click Submit

The system:

  • Calculates the total leave days (excluding weekends and holidays)
  • Checks that the employee has sufficient balance
  • Creates the request with status Pending
  • Notifies the reporting manager via email (if SMTP configured)

Insufficient Balance

If the employee does not have enough remaining days, the system shows a warning. The request can still be submitted (for manager override), but the manager is alerted to the balance issue.

HR/Admin Submitting on Behalf of Employee

HR staff can submit leave on behalf of any employee:

  1. Navigate to Leave → Requests → Add Request
  2. Select the Employee from the dropdown
  3. Complete the form as above
  4. Click Submit

Approval Workflow

Leave requests follow this status flow:

Pending → Approved
        → Rejected
        → Cancelled (by employee, before approval)

Approving a Request

  1. Navigate to Leave → Requests
  2. Find the pending request (filter by Status = Pending)
  3. Click Review
  4. Review the request details, dates, and remaining balance
  5. Click Approve or Reject
  6. Add an optional note (required for rejections)

On approval:

  • The leave balance is updated (pending days move to used)
  • The attendance records for the leave period are updated to On Leave status
  • The employee is notified via email

On rejection:

  • The balance is not deducted
  • The employee is notified with the rejection reason

Manager Approval Flow

If a manager is assigned as the employee's reporting manager:

  • The manager receives an email notification on submission
  • The manager can approve/reject from their Leave → Team Requests view
  • HR Managers can override any approval

Half-Day Leave

When Half Day Allowed is enabled for a leave type:

  1. Employee toggles Half Day when submitting
  2. Selects Morning or Afternoon
  3. The system deducts 0.5 days from the balance
  4. The attendance record shows Half Day status

Leave Calendar

The leave calendar at /leave/calendar shows a monthly view of:

  • All approved leave requests (colour-coded by leave type)
  • Public holidays
  • Weekends

Use it to:

  • Spot conflicts (multiple team members on leave on the same day)
  • Plan leave allocation
  • Review team availability before approving new requests

Calendar Views

ViewDescription
MonthFull month grid with day-by-day leave indicators
TeamFilter by department to see only one team's leave
EmployeeFocus on one employee's leave history

Exporting Leave Data

From Leave → Requests:

  1. Filter by date range, type, and/or status
  2. Click Export CSV
  3. File downloads as leave-requests-YYYY-MM-DD.csv

The export includes all leave request details including status, reason, and approver name.

Released under the MIT License.