Approving a Beleg and how approval locks the record
Approving a Beleg (receipt/expense document) is the sign-off step that clears it for payment. This article explains the checks the platform runs at the approval gate, the segregation-of-duties rule, and how approval captures immutable financial snapshots and locks the record. Approving requires the belege:transition permission.
Where approval sits in the workflow
A Beleg is approved by moving it from In Review to Approved. Approval is only reachable from In Review — you cannot approve a Draft or a Submitted Beleg directly. Once approved, the only remaining transition is to Paid.
Checks run at the approval gate
When you approve, the rules engine re-evaluates the Beleg and enforces two gates:
- Blocking outcomes must be clear. If any Blocking rule outcome is unresolved and not overridden, approval is refused with a "blocked by rule" error. Blockers cannot be overridden — you must fix the underlying data.
- Warnings must be overridden. If any Warning outcome is still open, approval is refused until each warning is overridden with a reason. Warnings are the "review and justify" tier; blockers are the "must fix" tier.
Tip: Clear blockers while the Beleg is still In Review, then override remaining warnings, so the approval action itself succeeds on the first attempt.
Segregation of duties (maker-checker)
By default you cannot approve a Beleg you submitted or created — the person who approves must be different from the person who prepared it. Attempting to self-approve is refused as a maker-checker violation and recorded in the audit trail. A company setting can permit self-approval; when it is enabled, the self-approval is allowed but flagged as such in the audit event so it remains visible to auditors.
Financial snapshots captured on approval
Approval is the moment the platform freezes the financial classification of each line item. For every line item it records:
| Snapshot | What it captures |
|---|---|
| Cost center snapshot | The active cost center's display name (or its code) at approval time. |
| Tax rate snapshot | The line item's VAT rate (Umsatzsteuersatz) percentage. |
| GL mapping snapshot | The active GL account (Sachkonto) display name (or its code). |
Each snapshot is written only if it is not already set, so the values captured at approval are preserved even if the underlying reference data (cost centers, GL codes) is later renamed or deactivated. A financial snapshots taken event is written to the audit trail alongside the approval, and the approving user is stored on the Beleg.
Why the record locks after approval
Approved is an immutable state: it rejects header, financial, and line-item edits. This protects the approved figures and their captured snapshots from silent change. If you discover a mistake after approval, you cannot edit the Beleg — corrections must be made earlier in the review stage. The same snapshot and lock behavior applies again when the Beleg is later marked as Paid.
Related
- Understanding the Beleg approval workflow and states
- Rule warnings, blockers, and override governance
- Making a financial correction during review
- Marking a Beleg as paid