Approvals
A configurable, multi-step approval workflow that can attach to any document type - purchase orders, journal entries, discounts, and more - rather than a fixed single-approver rule.
My Approvals
My Approvals (/app/my-approvals) is a personal inbox of pending approval requests assigned to the current
user, gated by the approvals.decide permission. Each request is decided via /api/approval-requests/{id}/decide
(permission approval_request.decide); the underlying list comes from /api/approval-requests/my-approvals.
How a workflow is configured
Under Settings, three linked pieces define how approvals actually route:
- Approval Templates - which document type this template applies to, and under what conditions (e.g. above a certain amount)
- Approval Stages - the ordered steps a document must pass through, each with its own approver
- Approval Field Exclusions - fields that a document can still be edited on even while pending approval, without invalidating the approval already given
Grade/position-based routing
Approval stages can route by Employee Grade or Position (configured under Settings) rather than naming a specific person - so an approval automatically goes to “whoever holds this grade” instead of needing to be re-pointed every time staff change.
Where this shows up elsewhere
Many module pages in this catalog mention a document “requiring authorization” or having a post/cancel step – that’s this engine. See each module’s own page for which of its documents can be routed through an approval template.