How to implement multi level Leave Application approval?

Hello Dear All,

We have Two Level workflow of leave approval.

Employee applies for leave, Immidiate Supervisor approves (Manager) and then HR Approves.

To have document with Draft and Submitted status, we have set up work flow in such a way that when Manager approves, status of document does not change. When HR approves, the status becomes Submitted.

We have given some names of Steps in Work flow like - Applied, Approved by Manager, Approved.

Here in this case we have so many leave approvers, but final approval comes from HR.

To enable individual Managers to approve Leave Applications of their subordinates, we are manually restricting Employee in user rights management.

But when someone Joins / Leave organization at Manager level, many manual changes are required.

What is the proper method for Multi-level approval having leave application?

Thanks in advance!

Have you explored Workflow?

https://frappe.github.io/erpnext/user/manual/en/setting-up/workflows

what happened to the link!?!

Docs have been shifted to a new site. Check the following:

https://docs.erpnext.com/docs/user/manual/en/setting-up/workflows

I hope you got some answers. please share.
Just to expand on @parmartejas scenario, let us assume the following setting:

  • 3 Departments each have leave admin and manager
  • each department has some of its employees in one of 3 branches . so, leaves have also to be approved by branch manager … matrix organization
  • for some leaves the Operations manager has to approve (e.g. more than 15 days)

Upto v12, the workflow is linked to Role. For the case of multi-level approvers, there are two issues:

1- the complication caused by the assignment of the specific access in user management (e.g. John is limited to Department1, smith is limited to Department2 etc), which causes confusion and too much manual work since this is dynamic almost on daily bases

2- The workflow will send the email of next stage to all persons with leave approver role. They get the email, then they will only be able to access/edit the request if their permission allows, which is not practical (and even unacceptable to some of our clients as it exposes some internals of the concerned departments).

The suggestion is to create multiple roles to relate to each department (leave_approver_dep1, leave_approver_dept2 etc) and create a very complicated workflow with conditions in transition rules to steer state within the path of each department. A very costly and error prone option. I am guessing the scenario above will require more than 90 transition rules.

Appreciate and hint (technical or otherwise) to do this more effeciently

Have you found anything on it?