Four-Eyes Approval
Four-Eyes Approval is the primary, header-level approval workflow. It ensures that purchase documents are reviewed by one or two independent approvers before they can be released for posting. The name refers to the “four-eyes principle” — the practice of requiring a second person to verify a financial transaction.
How it works
When a purchase document enters the approval workflow, the system determines how many approvers are required based on the document amount and the configured threshold.
- The document is evaluated against the Four Eyes Approval Threshold.
- If the amount is below the threshold, only the first approver is notified.
- If the amount is at or above the threshold, both the first and second approver must approve.
- The document cannot be released until all required approvals are complete.
Standard mode vs Group mode
The Four-Eyes workflow operates differently depending on which approval mode is active.
| Aspect | Standard (User-based) | User Group |
|---|---|---|
| First approval | Original Approval User | Workflow User Group (any member) |
| Second approval | Second Approver | 4Eyes Workflow User Group (any member) |
| BC Workflow code | FOUREYESAPPROVALS | FOUREYESAPPRGROUPS |
| Assignment | Named individuals | Group membership |
Standard mode
In Standard mode, each document is assigned to a specific Approval User (first approver) and an optional Second Approver. These are resolved from the approver assignment priority chain (see Approver Assignment).
Group mode
In Group mode, approval requests go to a Workflow User Group. Any member of the group can act on the request. The second approval goes to the 4Eyes Workflow User Group. This mode provides natural absence coverage since any group member can approve.
Four-Eyes Threshold
The threshold determines when the second approver is required.
| Setting | Location | Purpose |
|---|---|---|
| Four Eyes Approval Threshold | Purchases & Payables Setup | Global amount threshold (LCY) |
| Default Four Eyes Approver | Purchases & Payables Setup | Global fallback second approver (Standard mode) |
| Default Four Eyes Approval User Group | Purchases & Payables Setup | Global fallback second group (Group mode) |
The default second approver can be overridden per vendor in Vendor Posting Setup. This allows you to assign different second approvers for different suppliers.
Threshold examples
| Document Amount | Threshold Setting | Approvers Required |
|---|---|---|
| 4,000 EUR | 5,000 EUR | First approver only |
| 5,000 EUR | 5,000 EUR | First + Second approver |
| 12,000 EUR | 5,000 EUR | First + Second approver |
| Any amount | 0 (disabled) | First approver only (threshold not applied) |
Document status flow
Purchase documents move through the following statuses during the approval process:
flowchart LR
Open --> Pending[Pending Approval]
Pending --> Released[Released ✓]
Pending --> Rejected[Rejected ✗]
Rejected -.->|reopen| Open
Status definitions
| Status | Meaning |
|---|---|
| Open | Document is editable. Not yet submitted to approval. |
| Pending Approval | Document has been submitted and is waiting for one or more approvers. |
| Released / Ready for Posting | All required approvals have been granted. Document can be posted. |
| RSMSTA Rejected | One or more approvers have rejected the document. |
Status transitions
| From | To | Trigger |
|---|---|---|
| Open | Pending Approval | Document is submitted to approval (automatic or manual) |
| Pending Approval | Released | All required approvals are granted |
| Pending Approval | RSMSTA Rejected | Any approver rejects the document |
| RSMSTA Rejected | Open | Document is reopened for correction |
Rejection cascade
When a header-level rejection occurs, the system applies a cascade:
- Rejecting the header automatically sets all lines with Pending Approval status to Rejected.
- This prevents partially approved lines from proceeding while the header is rejected.
Reopening a rejected document
When a rejected document is reopened:
- All line approval requests are cancelled.
- All line statuses are reset to Open.
- The document returns to Open status and can be edited.
- The document must be resubmitted to approval after corrections.
Rejection codes
When rejecting a document, the approver must select a reason from the configurable Approval Rejection Codes table. Each code consists of a Code and a Description.
Rejection codes are mandatory for both header and line rejections. They are cleared automatically when the document transitions to a new status (for example, when a rejected document is reopened).
See Approval Setup Reference for how to configure rejection codes.
Related pages
- Approval Workflows Overview — module overview and modes
- Line-Level Approval — per-line approval workflow
- Approver Assignment — how approvers are resolved