1Who may act #
- The rule names the approver per level: the employee's Reporting Person (a display hint - acting still needs the approve permission, because users are not linked to employee records), a named user (that login may act without extra permission), or any approve-permission holder .
- The approve permission is Approve on the Leave Approvals object in the user manager (prApprove on EmpLeaveApprovals). It is checked fail-closed - a lookup problem means no.
- Permission holders see and may act on EVERY pending request; a named user sees the inbox and may act on the requests naming them.
- A badge in the app header shows how many requests await you - it appears right after login and clicking it opens this page.
2Your first approval, step by step #
- Click the pending row - the request opens with the employee's values on the left and the editable approval values on the right.
- Check the balance panel: has the employee earned the days they ask for?
- Trim dates or change the type if needed - the trail records what you set.
- Press Approve (F5) (or Recommend on a 2-level rule at level 1; the level-2 approver finalises).
- Or Reject - remarks are mandatory (setting 178) so the requester knows why.
- The row leaves the inbox; the requester sees the outcome on the Leave Request page.
3What approval writes #
- The approval voucher (EmpLeaveApprovals) with YOUR final type/dates/days - inserted 'Open', then set 'Approved'.
- The attendance voucher - the database trigger posts it automatically when setting 121 (auto-post leave approval) is on; its number lands in the trigger's voucher series.
- All of it commits or rolls back TOGETHER - a trigger refusal surfaces here and nothing is written.
4Reversing an approval #
- Load the APPROVED request by its number (the box under the inbox) and press Cancel Approval (reverse) - approve permission required.
- The reversal deletes the approval voucher and the UTILIZATION posting and sets the request Cancelled, in one transaction.
- While the auto-posted attendance voucher is LIVE the reversal is refused before anything is changed, and the message NAMES the blocking voucher - for example "This leave has already been posted to attendance (Attendance voucher AT-0012). Cancel that attendance entry first, then cancel the leave...". Cancel that attendance entry, then reverse the leave.
5Notifications #
The workflow can tell people what happened, by e-mail, SMS and WhatsApp, through the same gateways vouchers use. The legacy screen had only a manual SMS and E-Mail button; here the messages also go out on their own.
- Who is told while it waits. A request that was just Submitted, or that an approval rule Escalated, and a Recommend that moved it to level 2, tell EVERY approver who can act at that level - not just one. Where the rule names the Reporting Person that is the person the request was stamped against plus the Reporting Person on the employee record when the two differ; where it names a user, that user's login.
- When a rule says "any approve-permission holder" every user holding the approve permission on Leave Approvals is told - the same permission this screen checks before it lets anyone act. (It used to name nobody, so only the standing list was written to; a request could sit in an inbox nobody had been told about.) Disabled logins, permission-template users and the portal service accounts are left out.
- Who is told once it is decided. Approved, Rejected and Cancelled tell the APPLICANT - the employee the leave is for - the person who entered the request, and everyone who acted on it , read from the approval trail: the submitter, anyone who recommended it, and every approver at every level. An approver who recommended a request therefore learns the final outcome.
- Every event also goes to the standing address list, and the whole list is de-duplicated on the address, so nobody is told twice for one event. The fan-out stops at 50 recipients; when it bites, the notification log carries a "Skipped" line saying how many were left out.
- What switches it on. Payroll settings: 193 the channels (blank means notifications are off entirely - the safe default), 194 the events, 195 the e-mail profile, 196 the SMS/WhatsApp gateway, 197 the standing HR/authority list (e-mail addresses and mobile numbers together, comma separated), 198 send in the background.
- A notification never blocks the action. It is sent only after the approval has committed, and a dead mail server, an unconfigured gateway or an employee with no e-mail can do no more than add a warning line under the success message. Nothing is rolled back and nothing is retried.
- Send Notification (on an opened request) does the same thing by hand: it shows the resolved recipients, lets you edit the subject, the e-mail body and the short SMS text, add one-off addresses and pick the channels, then reports the outcome of every single address. The text is composed by the very same code the automatic path uses.
6Shortcut keys #
- F2 Reload the inbox · F5 Approve the opened request.
- In the Send Notification dialog: F5 sends, Esc closes without sending.
- Enter moves to the next field; every action asks for confirmation first.
- Keys belong to the focused copy of the page; a dialog's own keys win while it is open.
7Why is the inbox empty? #
- Only SUBMITTED requests appear - drafts (Open) stay on the Leave Request page until submitted.
- You see the inbox rows when you hold the approve permission or a rule names your login; otherwise the list hides what you can not act on.
- Approved / Rejected / Cancelled requests leave the inbox - load one by number to review or reverse it.
8Rules and integrity #
- One live approval per request - a second Approve is refused while a non-cancelled approval voucher exists (the legacy guard, kept).
- Recommend exists only at level 1 of a 2-level rule; it never touches the approval voucher - only the trail and the request's level.
- Changed values re-validate - date order, positive days, and the balance check (setting 174) run again on what YOU set.
- Remarks on rejection are enforced by setting 178, identically here and in the API.
9If something does not work #
"You are not the approver of this request at its current level (approve permission required)."
- Why
- Leave runs at one or two levels, and each level has its own people.
- What to do
- The approver of that level decides it.
"This request needs a level-1 Recommend before the final approval."
- Why
- A two-level rule wants the recommendation first.
- What to do
- Have level 1 recommend it, then approve.
"The request is ... - no approval action applies."
- Why
- It has already been decided or cancelled.
- What to do
- Refresh the list.
"An approval voucher already exists for this request."
- Why
- It was approved once; approving again would post the attendance twice.
- What to do
- Nothing to do.
"The approval needs a branch - the request carries none and the session has no login branch."
- Why
- The posting has to belong to a branch.
- What to do
- An administrator sets your login's branch, or the request is raised with one.
"Approved - attendance posting and balance utilization written." / "Approved. No leave policy tracks this type for the employee, so no balance was consumed."
- Why
- Both are successes. The second says the leave was allowed but no balance was touched, because no policy covers that type for them.
- What to do
- Assign a policy if the balance should have been consumed.
"Cancelled - the approval voucher and its balance utilization were reversed."
- Why
- Not an error - the cancellation unwound what the approval wrote.
- What to do
- Nothing to do.
"The changed values now match approval rule ..., so level 2 follows that rule."
- Why
- Editing the days or the type can move the request to a different rule.
- What to do
- Check who the new level-2 approver is.
"No notification was sent - nobody on this request has a usable address." / "Automatic notification is switched off - no channel is ticked in payroll setting 193."
- Why
- The decision WAS recorded; only the telling failed.
- What to do
- Add an e-mail or mobile to the employee, or tick a channel in Payroll Settings.
This is the help InvoiceNET® ERP shows beside the Leave Approvals screen. Whether you have the screen depends on the modules of your licence and the rights your administrator has given you.
See this screen for yourself
The demo is the real product, with a company of your own.