Skip to content
Documentation

9bx user guide

HR (HRM)

Approvals

Decide every HR request in one inbox, follow your own requests step by step, reopen a rejection when it deserves a second look, hand your approvals to a colleague while you are away, and design who approves what. Approvals work the same way on every plan.

Contents: Who can use it · Menu · What goes through it · How a flow runs · Inbox · Requests · Reopen · Email links · Delegations · Approval flows · Example · FAQ

Who can use it

  • Approval inbox and Approval requests: staff with the approval request permissions (List, Show, Approve). Approve, Reject and Reopen show only to staff with Approve. Withdrawing a request needs Withdraw, and then works on your own requests (or anyone's with Reassign); seeing everyone's requests needs Reassign.
  • Delegations: the delegation permissions (List, Create, Delete).
  • Approval flows: the flow permissions (List, Create, Update, Delete).

Only the permissions above decide who sees what.

Where: HR → Leaves → Approval inbox (also Approval requests, Delegations and Approval flows in the same group).

The Approvals menu

Menu item Purpose
Approval inbox Everything waiting for your decision
Approval requests Requests routed through an approval flow, with their progress
Delegations Let a colleague decide your approvals for a period
Approval flows Choose who approves each type of request, in which order

Which requests go through approvals

Leave requests go through approval flows like every other request (flows of the type Leave request; see Leave). Leave adjustment and Shift change approvals also show in the inbox and keep their own approval rules.

You can build approval flows for these request types: Leave request, Expense claim, Travel request, Cash advance, Timesheet, Leave encashment, Overtime request, Attendance regularization, Work from home, Shift swap, Open shift claim, Shift availability, Profile change, Job change, Probation confirmation, Resignation, Final settlement, Letter request, Document verification, Tax declaration, HR form request, Goal, Improvement plan, Disciplinary action, Job requisition, Job offer, Hiring decision and HR automation request.

If no active flow matches a request, it follows that feature's own default approval. Probation confirmation is the exception: it has no default, so without an active flow for it an employee cannot be confirmed.

How a flow runs

Every flow follows the same rules:

  1. Any number of steps. A flow can have as many steps as you need, each with its own approvers.
  2. One step at a time. A step opens only when the step before it is approved. Only the approvers of the open step can decide; a later approver cannot jump ahead, and one approval never finishes a flow that has more steps.
  3. The last approval finishes it. The request is approved when its last step is approved, and only then does the request take effect (for example, the claim becomes payable or the employee is confirmed).
  4. Any rejection rejects it. If an approver rejects at any step, the whole request is rejected at once and the person who asked is told.
  5. A later approver can reopen. An approver of any step after the one that rejected can reopen the request with a reason (see Reopen a rejected request).

Deciding on the record's own page (for example Approve on an expense claim) counts as your decision on the current step. It never skips the other steps.

Decide in the approval inbox

  1. Open Approval inbox. The Waiting for me tab lists your decisions; Covering for others lists those of colleagues who delegated to you.
  2. Filter with Any type or search. The Step column shows the step name, Overdue or Due and, for cover, Covering with the person's name.
  3. Click Approve or Reject on a row. Add an optional Note (the requester can read it) and confirm.
  4. Click a flow request's title to open its details first.

The inbox lists only requests whose open step is waiting for you. Any rejection ends the request. Steps you skip or that do not apply are shown as Skipped.

Follow a request

Approval requests has three tabs: Sent by me, My team and, for HR, Everyone. Filter by status (Pending, Processing, Approved, Rejected, Withdrawn). A request shows Processing once at least one step has approved it but it is not finished; Pending means no step has approved it yet. The Progress bar has one segment per step and shows who it is Waiting on.

The same rule applies on every list of an approved record: expense claims, travel requests, cash advances, timesheets, goals, improvement plans, benefit enrollments, raise worksheets, contractor invoices, resignations, HR letters, job changes and probation reviews. A record shows Processing once at least one step has approved it and it is not final, and each list has a Processing filter. The record itself is still waiting for the last decision.

Open a request to see its Steps (the open one is marked Current step, with "Step 2 of 4" next to the status) and its History: when it was sent, every approval, rejection, hand-over and reopen, who did it, at which step, when, and the note or reason. Steps also show whether a decision was decided automatically or decided by a delegate. While it is pending, the requester can click Withdraw; an approver whose turn it is sees Approve and Reject.

Status Meaning
Pending The request is still moving through its steps
Approved / Rejected Final decision
Withdrawn Pulled back by the requester or HR
Waiting The step is open now (on a step)
Not started A later step that has not opened yet
Skipped Did not apply, or nobody to ask
Passed on Handed to someone else

Reopen a rejected request

Sometimes a rejection deserves a second look (a receipt turned up, a budget was found). An approver of a later step can then reopen it.

  1. Open the rejected request from Approval requests or from the notification. If you approve a step after the one that rejected it, a note says "Rejected at “step name”. You approve a later step, so you can reopen it." and a Reopen button shows.
  2. Click Reopen, write Why reopen it? (required) and confirm with Reopen and send to the next step.
  3. Reopening counts as approving the step that rejected, so the request is Pending again and moves on to the next step; that step's approvers decide. If the rejecting step was right before yours, the request waits at your own step. Steps approved before stay approved, and the steps after run in order. The History shows "Reopened and passed on by" your name.
  4. The person who asked and the person who rejected are told, with your reason. The rejection stays in the History next to your reopen.

Someone you delegated your approvals to (see Delegations) can also reopen for you while the delegation is active, for the request types it covers. Reopen works the same from the mobile app.

Who cannot reopen: an approver of the step that rejected, an approver of an earlier step, and the person who asked. A rejection at the last step cannot be reopened (there is no later step). A request cannot be reopened when it was sent again after the rejection, when the record was changed since (for example a goal or offer edited after it came back as a draft), or when nobody could be found to decide the step. Profile changes and HR automation requests cannot be reopened: ask for them again instead.

Deciding from an email

Approvers get an in-app notification and an email. For most request types the email button opens a page where you can Approve or Reject with a note, without signing in. The link works once and expires after 72 hours. If it was already used, has expired or the request was decided another way, the page says "This link no longer works".

Sensitive types (profile changes, resignations, letter requests, HR form requests, document verification, tax declarations and job offers) cannot be decided from the email. The page shows Sign in to decide.

Delegations

  1. Open Delegations and click Add delegation.
  2. Choose the Delegate (who covers for you), From and To dates.
  3. Under Covers, pick request types, or leave it empty for Every request type. Add an optional Reason.
  4. Click Save. The list shows each delegation as Upcoming, Active or Ended. Use the trash icon to remove one.

Between those dates your delegate sees your pending approvals under Covering for others and is notified too. You can still decide them yourself.

Approval flows

  1. Open Approval flows and click New flow.
  2. Under Flow, enter the name and choose what it Applies to.
  3. Optionally fill Use this flow when, for example total_hours > 50. The names you can use appear under You can use:. Leave it empty for every request of that type.
  4. Set Priority (lowest number is tried first when several flows match) and Active.
  5. For each step enter a Step name and choose:
    • Starts: After the step before (sequential) or Together with the step before (parallel).
    • Needs: Any one approver or Every approver.
    • Approvers (Add approver for more): Manager (1 to 5 levels up), A specific person, Anyone with a role, Dotted-line manager or Branch manager.
  6. Under Rules, set optional Step applies when, Due after (hours) and If it is late (Remind the approvers, Pass to their manager, Pass to a person, Approve automatically, Reject automatically). Holidays do not count towards the due time.
  7. Choose If the approver is the requester (Skip them, Ask their manager, Let them approve) and If nobody can be found (Skip the step, Reject the request, Ask a fixed person).
  8. Click Add step for more steps (there is no fixed limit). Between two steps, + adds a step at that place; on each step the arrows move it, the copy icon duplicates it and the trash icon removes it. The line between steps reads Then (it starts after the one before) or At the same time. Then click Save.

The How a flow runs box next to the steps repeats the rules above.

Check before saving. In Who would approve?, choose the Person asking, type sample values and click Check. Each step shows Asks, Skipped or Skipped: nobody found with the names. Nothing is created.

On the list, switch a flow on or off (this needs the flow Update permission). Deleting a flow asks you to confirm; a flow that has been used is switched off instead. Changing a flow only affects new requests.

Example scenario

Padma Net Support wants overtime above 10 hours checked by finance. HR creates the flow "Overtime" for Overtime request: step 1 "Team lead" (Manager), step 2 "Finance" (Anyone with a role: Finance) that applies only above the limit, due after 24 hours, Pass to their manager if late, and step 3 "Operations head" (A specific person: Rakib Hasan). Who would approve? for Tanvir Ahmed shows all three steps. Finance rejects one of Tanvir's requests for a missing sign-off sheet; the next day Rakib Hasan sees the sheet, opens the request and clicks Reopen with "Sign-off sheet attached". Finance decides again and approves, then Rakib approves. Before her leave, team lead Farzana Akter adds a delegation to Imran Hossain for the week.

Tips

  • Add a delegation before you go on leave so nothing waits for you.
  • Keep a catch-all flow with no condition and a high priority number as a fallback.
  • Requester values such as department are numbers (IDs); check them with Who would approve?.

Troubleshooting and FAQ

I do not see Reopen on a rejected request. Only an approver of a step after the rejecting one sees it, and only with the Approve permission. It also hides when the request was sent again, or when the rejection was at the last step.

"This request changed after it was rejected, so it cannot be reopened." The record moved on after the rejection (it was edited, withdrawn or sent again). Ask for it again instead.

Approve gives an error. You need the Approve permission for approval requests.

My leave does not appear in Approval requests. A leave request appears there only when an approval flow decides it. With no flow, HR or your reporting manager decides it directly; follow it on the leave page. Shift changes use their own rules; follow them on the shift page.

"This flow would not be used for these values." The flow condition is false for the sample. Change the values or the condition.

There is no Covers list when I add a delegation. The request types come from the approval flows, so the list shows only with the flow List permission. Without it, the delegation covers every request type.

Leave · Shift change requests · Forms · Offboarding · Employee self-service · Automations