A payment approval process defines who may initiate, approve, and release payments, under what conditions, with what verification. Most processes are designed for error prevention and audit optics; fewer are designed against an adversary who has studied them. This guide covers both.
The core flow
A fraud-resistant approval flow has five stages, each owned by a different role where headcount allows:
- Initiation — AP creates the payment from a matched invoice or approved request.
- Verification — any payment triggered or modified by an external request (email, call) gets out-of-band callback verification. This stage is where vishing and invoice fraud die — or don't.
- Approval — threshold-based sign-off, with dual authorization above the limit.
- Release — a separate releaser executes the batch; no self-release of payments you created or approved (segregation of duties).
- Evidence — every stage writes to an audit log: who, when, which callback, which approvals.
Where standard processes fail
- Verification is optional in practice. The policy says "call back"; the system doesn't check. Under deadline pressure, optional steps get skipped — which attackers engineer for with urgency.
- Thresholds are static and known. A fixed $50k dual-approval limit invites $45k requests. Blend in randomized spot-verification below the threshold.
- Vendor changes bypass the flow. Bank-detail updates often route through a different, weaker process than payments themselves. Pull them into the same verification stage.
- No compliance metric. If you can't report "% of qualifying payments with completed verification," you can't manage the control.
Making it enforced, not aspirational
The design principle: the payment system should be unable to release a qualifying payment until verification is logged. That converts your flowchart from documentation into a control — and produces, as a by-product, exactly the evidence internal audit asks for. This is the architecture VerifyTheCall implements on top of your existing AP stack.