Uktupus Docs
Core

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 keyValue used for step thresholdsOn approve
purchase_requestTotal amountStatus → approved; can be converted to RFQ/PO
purchase_orderTotal amountStatus → confirmed; budget commitment reserved
purchase_invoiceTotal amountStatus → approved; can be posted
sales_orderTotal amountStatus → confirmed
quotationTotal amountStatus → sent/accepted path
leave_requestDaysBalance deducted, status → approved
timesheetTotal hoursStatus → approved
promotionPlanned spendPromotion activated
accounting_period_unlock—Locked period reopened
project_budgetPlanned costBudget status → approved / locked

Approval Workflows (/approval-workflows)

  1. Pick the document type.
  2. Give the workflow a name; one active workflow per document type.
  3. 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.
  4. 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_approved hook 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.
  • 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.