Skip to main content

Understand amount-based approval tiers

The current ExpenseApprovalPolicy compares the total amount against fixed numeric thresholds. It returns NOT_REQUIRED, MANAGER_APPROVAL_REQUIRED or DIRECTOR_APPROVAL_REQUIRED. These are implemented code values, not tenant-configurable policy presets.

Total amountInitial requirement
5000 or lessNOT_REQUIRED
Greater than 5000 and 50000 or lessMANAGER_APPROVAL_REQUIRED
Greater than 50000DIRECTOR_APPROVAL_REQUIRED

Boundary examples​

AmountRequirement
4999.99Not required
5000.00Not required
5000.01Manager
50000.00Manager
50000.01Director

The policy compares the recorded amount directly. It does not convert to a threshold base currency or use a tenant-entered manager/director limit. Do not assume the same real-world value across currencies or infer a jurisdiction-specific approval policy from these numbers.

When recalculated​

The requirement is assigned at creation. During a DRAFT update, it is recalculated when the total changes numerically; previous approval/rejection details are then cleared. Other changes do not automatically recalculate it.

NOT_REQUIRED does not move the expense to lifecycle APPROVED automatically. The authorised user still uses the normal DRAFT → APPROVED action. A successful tier decision also leaves that separate lifecycle action to be performed.

For high-value expenses, the current code chooses the director tier rather than a sequential manager-then-director chain. A Manager selection on the draft does not change the threshold or restrict the decision to that person.

Recovery​

If a banner seems inconsistent, reload and inspect actual saved total and Approval Status. A formatting-only change does not reset a rejection. If the organisation needs configurable limits, base-currency tiering or mandatory independent review, treat those as requirements outside the present implementation rather than implying the guide can configure them.