Skip to main content
The editor and approval policies are the setup. This page is the runtime — what actually happens when someone submits a document, from the submitter’s and the approver’s side. It applies to every document type that has an approval step.
📷 Screenshots to be added.

The journey of one document

Take an expense claim as the example; every gated document type follows the same shape.
  1. Draft. The creator fills it in. It’s fully editable and nothing has happened yet.
  2. Submit. The creator submits it. Two things happen at once:
    • its workflow state moves to PendingApproval, and
    • an approval request is created and the first approver is notified.
  3. Sign-off, step by step. The approval request walks down the rule’s steps. Step 1 must approve before step 2 is asked, and so on. Each approver gets notified when it’s their turn.
  4. Approved. When the last step signs off, the document is automatically moved to Approved — the accrual is posted, the payable exists, and it’s ready for the next stage (payment, disbursement, conversion, …).
  5. Or Rejected. A single rejection at any step stops the whole thing. Where the document lands depends on its type (see below).
If there’s no approval rule for the document’s business, step 3 is skipped entirely: submitting takes it straight to Approved. (See Approval Policies.)

For the person submitting

  • You can’t submit twice. While a document has an open approval request you can’t start a second one — finish, cancel, or get the current one rejected first.
  • You can’t approve your own document. Even if you also hold the approver role, the system skips you for your own submissions (see segregation of duties in Approval Policies).
  • If an approver has a question, they can send it back to you as a query without rejecting. The document pauses, you get notified, and you respond — which returns it to the approver to continue. Only you (the submitter) can answer your own query.
  • Rejected? You’ll typically get the document back as an editable Draft to fix and resubmit (expenses, invoices, bills, budgets, purchase orders), or it lands in a dedicated Rejected state (requisitions, advances, leave, reimbursements) — see the Document Types Reference for which is which.

For the person approving

  • You’re notified when it’s your turn — not before. In a multi-step chain you only see a request once the earlier steps have signed off.
  • You act with Approve or Reject on the document (or from your approvals list). You can also query it back to the submitter for clarification instead of rejecting.
  • Approve advances to the next step, or finishes the request if you’re the last step. Reject ends the request immediately.
  • Who counts as “you” for a step depends on how the step was configured — a role, a named person, or an org-resolved manager / department head (see the approver types in Approval Policies).
  • Payment steps. If a step is a Payment step, approving it also marks the document paid — used at the end of expense, reimbursement and advance chains so the final sign-off and the pay-out are one action.
  • Emergency override. A tenant administrator or super-admin can approve any step to unblock a stuck document — but even they can’t approve something they submitted themselves.

Amount-based routing

If your rules use amount bands, the document’s amount decides which rule (and therefore which chain) runs. A small expense might need only a manager; a large one might match a stricter rule that also requires Finance. You build this by creating one rule per band — see How several rules are chosen in Approval Policies.

Why is my document “stuck in Pending”?

A quick checklist when something won’t move:
  • It’s waiting on a specific person. Check whose step it’s on. If the step is Submitter’s Manager or Department Head, confirm that person is set in the org chart.
  • The only approver is the submitter. Segregation of duties blocks self-approval — the step needs someone else. Add another approver to the rule or have a different person act.
  • A binding is too tight. If you added a role binding that points at the wrong or an inactive user, the transition can’t find anyone. Loosen or fix the binding.
  • A query is open. If an approver queried it, it’s waiting on the submitter’s reply, not on the approver.