Approvals
Approval workflows per document type, multi-step rules by amount, days or hours, the My Approvals inbox, and what happens when a document is approved.
Which documents can require approval
| Document key | Value used for step thresholds | On approve |
|---|---|---|
purchase_request | Total amount | Status → approved; can be converted to RFQ/PO |
purchase_order | Total amount | Status → confirmed; budget commitment reserved |
purchase_invoice | Total amount | Status → approved; can be posted |
sales_order | Total amount | Status → confirmed |
quotation | Total amount | Status → sent/accepted path |
leave_request | Days | Balance deducted, status → approved |
timesheet | Total hours | Status → approved |
promotion | Planned spend | Promotion activated |
accounting_period_unlock | — | Locked period reopened |
project_budget | Planned cost | Budget status → approved / locked |
Approval Workflows (/approval-workflows)
- Pick the document type.
- Give the workflow a name; one active workflow per document type.
- Add steps in order. Each step has an approver role (or specific members) and optional min / max value. Only steps whose range matches the document's value are required — so a PO under 1,000 might need one approver, above 10,000 two.
- Toggle active.
Deleting or editing a workflow does not affect documents already in progress; they keep their current approval request.
My Approvals (/approvals)
Your inbox of approval requests waiting for a role you hold. Approve or reject inline (with a comment), or open the document. Each approval step is recorded in the audit log with the approver and timestamp.
Submit behaviour
When a user submits a document:
- If no active workflow exists for its type → the document is approved immediately.
- If a workflow exists → an approval request is created with the matching steps; the document shows "Waiting for approval — step 1 of N".
- When every step is approved → the registry's
on_approvedhook runs (e.g. leave balance deduction) and the status advances. - A rejection sets the document to rejected; the owner can edit and re-submit as a new request.
Related gates that are not workflows
- Credit management blocks sales orders over the customer's credit limit until released.
- Period lock blocks posting into locked periods; unlocking itself is an approval (
accounting_period_unlock). - Supplier onboarding approves bank-detail changes submitted through the supplier portal.