Overview
Standard time off supports only one or two validators. This module lets each leave type define a list of validators and records every approver decision with comments. It extends the Time Off app on the leave type and the leave request form. The benefit is a controlled multi-step approval that shows who approved, who refused and why.
Usage steps
- 1
Choose the validation type
On the leave type form the Leave validation tab has a validation type selection. Choosing multi-level activates the validators list. The setting is stored on hr.leave.type.
- Tab: Leave validation
- Field: leave_validation_type
- 2
List the validators
HR adds users in the validators lines. A constraint stops saving when the list is empty for multi-level types. Each line links the leave type and a user.
- Model: hr.holidays.validators
- Empty list is rejected
- 3
Submit a leave request
The employee requests time off of a multi-level type. The system generates one approval line per validator in the Validation Status tab. Lines start unapproved.
- Tab: Validation Status
- Model: leave.validation.status
- 4
Approve with a comment
Each validator opens the request and presses Approve, optionally leaving a comment. The line stores the user, the Approve Status and the comments. A user who is not a validator cannot approve.
- Button: Approve
- Fields: Approve Status, Comments
- 5
Refuse or reset
A validator can refuse, which stops the request, and the request can be set back to draft. The Approvals server action menu lists requests waiting for the current user. A record rule limits what employees see.
- Buttons: Refuse, Set to Draft
- Menu: Approvals
Screens
Illustrative mockups with placeholder data.
—
Added by this module
—
Added by this module
Roles
| Role |
|---|
| Employee |
| Leave approver |
| HR manager |
Dependencies
Want to know more or try this app? Contact us
We can arrange a demo or a trial and answer your questions about Leave Multi-Level Approval.