Recovery playbook

From finding to resolved: the discrepancy lifecycle

Detection produces a list. A list without a lifecycle becomes wallpaper within a month — hundreds of open items nobody believes, filtered by nobody, aging toward irrelevance. The difference between teams that recover money and teams that merely detect it is a state machine with teeth: defined states, transitions that mean something, dismissal rules that require reasons, and ownership clear enough that no finding ever belongs to everyone.

The states, and what each asserts

Open — detected, unreviewed; asserts only that arithmetic flagged something. Investigating — a human confirmed it against live state and policy; asserts the money is genuinely owed. Resolved — the balance moved: reversal id, netting ledger line, or fee refund id attached; asserts completion, not intention. Dismissed — with a mandatory reason code; asserts the flag was wrong, whole already, or below floor. Automated paths add clawback pending / failed, failed returning to humans carrying Stripe’s verbatim error.

The two-minute triage script

Open → investigating in two minutes flat: confirm live state matches the finding, confirm policy says this class is recoverable, attach any seller context that exists. Anything failing confirmation dismisses immediately with its reason — speed on the negatives is what keeps capacity for the positives.

Resolution and dismissal discipline

"We emailed them" is not resolved; the balance did not move. Dismissal without a reason code fills the queue with unexplained greys nobody will ever trust. Both rules sound bureaucratic until the first month-end where someone asks why $14k of findings show resolved with no reversals behind them — the question answers itself.

Ownership, SLAs, and the product version

Findings belong to whoever owns the recovery floor — usually finance ops, never "engineering when free". SLAs tie to payout windows, not politeness. FeeGuard ships this lifecycle natively: states, reason codes, reversal ids, audit trail on every transition, CSV export for finance — so adopting the workflow is configuration, not construction.

Common questions

Who should own the discrepancy queue?

Whoever owns the recovery floor and the seller relationship economics — typically finance ops. Engineering owns causes, not individual findings.

How fast should findings triage?

Inside the relevant payout window wherever possible — that is the entire commercial argument for real-time detection over quarterly rituals.

Can resolved findings reopen?

Yes — new volume against a dormant account revives written-off items automatically, at exactly the moment recovery becomes possible again.