Skip to content

Multi-level leave approval and per-leave-type approvers #4471

@ali-khayat

Description

@ali-khayat

Is your feature request related to a problem? Please describe.

Frappe HR supports only one Leave Approver per employee, applied to all leave types regardless of context. This breaks down for two common needs:

  • Multi-level approvals — long or sensitive leave often requires more than one approver (e.g., manager + HR).
  • Different approvers per leave type — sick leave should go to HR, annual leave to the line manager, work from home to the project lead. Today, all leave types route to the same person.

Describe the solution you'd like

On the Leave Type doctype:

  • Allow overriding the employee's default Leave Approver per leave type.
  • Add a child table for sequential approval levels (Level, Approver, optional condition like "duration > 5 days").
  • Support dynamic approver lookup (direct manager, role holder, project lead from Allocation).

Update the Leave Application status to show the current approval level and pending approver. Existing single-approver setups should continue to work unchanged.

Describe the alternatives you've considered

  • Workflow doctype — too rigid; no conditional branching by leave type, no dynamic approver lookup, no parallel approvals.
  • Server scripts on Leave Application — works but every customer rebuilds the same logic, with no shared standard or UI configuration.
  • Custom Leave Request doctype wrapping Leave Application — bypasses Frappe HR's leave balance and reporting features.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions