figma guide
Designing breach settlement escrow replenishment and disbursement reserve UI in Figma: RES-*, TOP-*, and post-REV fund recovery
Design breach settlement escrow replenishment UI in Figma with RES-* reserve buckets, TOP-* funding approvals, post-reversal shortfall math, and wave-safe disbursement gates.
- Published
- Updated
- Sep 27, 2026
- Read time
- 6 min
- Level
- Intermediate
Quick answer
Escrow replenishment UI keeps disbursement waves honest when money leaves faster than the plan assumed—after REV-*, clawbacks, chargebacks, or court-ordered holds. Design RES- reserve buckets* (operating float, dispute holdback, appeal stayback), TOP- top-up requests* with counsel and court-monitor visibility, and shortfall dashboards that block WAVE-* export until available_to_pay ≥ scheduled_outflow. Treasury should connect RES-* to fund reconciliation, escrow interest allocation, and supplemental fund injection without duplicating the same approval in three screens. Claimants never see raw escrow ledgers—use status portal copy only when a wave delay is program-wide. Pair replenishment gates with GATE-PAY-*, distribution schedule, and payment reversal events that decrement RES-*. Start from the Figma guides hub and use tables, progress indicators, and Dev Mode handoff.
Who this is for
- Product designers on treasury consoles where “escrow balance” is one number but five buckets fight over it.
- Claims administrators explaining why a tranche slipped after chargebacks—not because individual claims failed validation.
- Counsel and court monitors who need TOP-* and RES-* audit trails in final accounting and special master reporting.
RES-* reserve bucket model
DisbursementReserve — RES-992-040 · escrow_id: ESC-992-001
├── Buckets (never merge in UI without explicit transfer):
│ ├── RES-OP-* operating float (returns, fees, rounding)
│ ├── RES-DISP-* dispute holdback ([contested escrow](/designing-breach-settlement-contested-claim-escrow-and-dispute-reserve-ui-in-figma/))
│ ├── RES-STY-* appeal / mandamus stayback ([appeal review](/designing-breach-settlement-appeal-and-mandamus-review-ui-in-figma/))
│ ├── RES-REV-* expected recovery from REV-* / CB-* (optimistic—label clearly)
│ └── RES-CLAW-* program recovery pipeline ([clawback](/designing-breach-settlement-clawback-and-overpayment-recovery-ui-in-figma/))
├── Computed fields (read-only in admin UI):
│ ├── available_to_pay = escrow_cash − sum(RES-* committed) − pending_SUB-*
│ ├── scheduled_wave_outflow from [distribution schedule](/designing-breach-settlement-distribution-schedule-and-tranche-disbursement-planning-ui-in-figma/)
│ └── shortfall_flag when scheduled > available
├── Events that decrement RES-OP-* or trigger TOP-*:
│ ├── REV-* · CB-* · [returned payment](/designing-breach-settlement-returned-payment-and-reissue-ui-in-figma/) fees
│ ├── [Pro rata reduction](/designing-breach-settlement-fund-shortfall-and-pro-rata-reduction-ui-in-figma/) (does not fix cash—only awards)
│ └── [Attorney fee](/designing-breach-settlement-attorney-fee-allocation-and-incentive-award-ui-in-figma/) and [administrator fee](/designing-breach-settlement-claims-administrator-fee-and-expense-recovery-ui-in-figma/) draws
└── Audit:
├── LOG-RES-* every bucket transfer
└── Link REC-* period in [reconciliation](/designing-breach-settlement-fund-reconciliation-and-bank-matching-ui-in-figma/)
| Bucket | Best for | Common mistake |
|---|---|---|
| RES-OP-* | ACH returns, wire fees, processor charges | Treating as “free to pay claimants” |
| RES-DISP-* | Frozen awards pending disputes | Double-counting with contested escrow |
| RES-STY-* | Appeal holdback | Confusing with GATE-PAY-* per claim |
| RES-REV-* | Expected chargeback win | Booking recovery before representment won |
Verdict: Show bucket transfers as ledger rows, not silent spreadsheet edits—auditors and external reviewers need RES-* history.
TOP-* top-up and replenishment workflow
TopUpRequest — TOP-992-112 · requested_by: treasury · state: draft
├── Trigger sources:
│ ├── Shortfall dashboard · WAVE-* blocked
│ ├── Post [REV-*](/designing-breach-settlement-payment-reversal-chargeback-and-unauthorized-debit-dispute-ui-in-figma/) cluster
│ ├── [Supplemental fund injection](/designing-breach-settlement-supplemental-fund-injection-and-top-up-approval-ui-in-figma/) court-approved
│ └── Defendant funding cure (link DEF-FUND-* if used elsewhere)
├── Form ([forms patterns](/designing-forms-in-figma-inputs-states-and-handoff/)):
│ ├── Amount · target_bucket · justification narrative
│ ├── Attachments: bank statement · court order · [reconciliation](/designing-breach-settlement-fund-reconciliation-and-bank-matching-ui-in-figma/) snapshot
│ └── Impact preview: which WAVE-* / GATE-PAY-* rows unblock
├── Approval chain:
│ ├── Counsel · compliance · optional court monitor read-only
│ ├── OVR-TOP-* emergency (break-glass style—dual control)
│ └── Cannot approve if duplicate open TOP-* for same bucket
├── Execution:
│ ├── FUND-IN-* bank credit matched in REC-*
│ ├── RES-* bucket credit · LOG-TOP-*
│ └── Notify [distribution planning](/designing-breach-settlement-distribution-schedule-and-tranche-disbursement-planning-ui-in-figma/) owners
└── Claimant comms:
├── Only if wave date shifts—use [timeline notifications](/designing-breach-settlement-hold-release-notifications-and-claimant-payment-timeline-ui-in-figma/)
└── No dollar amounts of escrow in portal
Replenishment differs from interest allocation: interest is earned on balance; TOP- is new defendant or reserve cash*.
Shortfall dashboard and wave gate
EscrowShortfallView — program_id · as_of_date
├── Header KPIs:
│ ├── Escrow cash (bank confirmed)
│ ├── Committed RES-* total
│ ├── Pending SUB-* / FILE-NACHA-* ([NACHA preview](/designing-breach-settlement-payment-file-generation-and-nacha-preview-ui-in-figma/))
│ └── available_to_pay (highlight red if < 0)
├── Wave table ([data UI](/figma-tables-and-data-ui-rows-columns-and-handoff/)):
│ ├── WAVE-* · scheduled_date · outflow · gate_status
│ ├── Block reason: RES-SHORT-* | RES-STY-* | SAN-HOLD-* ([sanctions](/designing-breach-settlement-sanctions-screening-and-ofac-payment-hold-ui-in-figma/))
│ └── Actions: open TOP-* · defer wave · run [pro rata](/designing-breach-settlement-fund-shortfall-and-pro-rata-reduction-ui-in-figma/) sim (award-only)
├── Drill-down:
│ ├── Last 30d REV-* / CB-* impact on RES-OP-*
│ └── Link [post-disbursement QA](/designing-breach-settlement-post-disbursement-qa-and-audit-sampling-ui-in-figma/) findings that drove holds
└── Export:
└── FIN-ACCT-* snapshot for [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
When shortfall is award-only (not cash), do not show TOP- as the fix*—route to award restatement and pro rata tools instead.
Comparison: replenishment vs other “fund” screens
| Screen | Question it answers | Primary id |
|---|---|---|
| Escrow ALLOC | Who gets interest? | Interest allocation |
| DEF-FUND / supplemental | Court-ordered new money? | Supplemental injection |
| RES- / TOP-** | Can we pay this wave today? | RES-* · TOP-* |
| REC-* | Does bank match ledger? | Reconciliation |
| RED-PR-* | Cut award amounts? | Pro rata reduction |
Best for: Training treasury—TOP- adds cash; RED-PR- reduces obligations; never swap them in copy.**
Handoff checklist (Dev Mode)
- DisbursementReserve — res_id (RES-*), escrow_id, bucket_enum, amount_committed, amount_available, last_transfer_at.
- ReserveTransfer — xfr_id (XFR-RES-*), from_bucket, to_bucket, amount, reason_enum, actor, linked_rev_id optional.
- TopUpRequest — top_id (TOP-*), amount, target_bucket, state_enum, approver_ids, linked_wave_ids_json.
- EscrowShortfallSnapshot — snap_id (SNAP-ESC-*), as_of, available_to_pay, scheduled_outflow, shortfall_amount.
- WaveGateBlock — block_id (BLK-WAVE-*), wave_id, block_reason_enum, res_bucket_optional, clear_condition_text.
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| Single “escrow balance” KPI | Waves overpay | RES-* buckets + available_to_pay |
| TOP-* without REC-* match | Phantom cash | Block until FUND-IN-* confirmed |
| Hide shortfall until export fails | Last-minute panic | Shortfall dashboard on WAVE planning |
| Use TOP-* for pro rata gaps | Wrong remedy | RED-PR-* simulation path |
| RES-REV-* booked as cash | Over-disburse | Label non-cash · separate column |
| No LOG-RES-* on bucket moves | Audit failure | Append-only transfer log |
| Claimant-facing escrow amounts | Speculation / fear | Admin-only views |
| Ignore RES-STY-* on appeal | Contempt risk | Link appeal stay |
Recommended workflow
- Model RES- buckets* on the escrow detail page—not only on accounting exports.
- Add shortfall dashboard ahead of NACHA export and GATE-PAY-*.
- Design TOP- with impact preview* showing which waves unblock.
- Wire REV- / CB-** to RES-OP-* decrement events automatically.
- Document claimant-visible delays separately from internal TOP-* states.
FAQ
TOP-* vs supplemental fund injection?
Supplemental injection is often court-driven plan change; TOP-* can be operational replenishment after REV-*—link both when the same wire is court-ordered.
Chargeback won—does RES-REV-* auto-clear?
On representment_won, transfer RES-REV-* → RES-OP-* with LOG-RES-*; do not auto-release WAVE without treasury review.
Idempotency on TOP-* execution?
One FUND-IN- match per TOP-**—duplicate bank credits need manual REC-* exception, not double RES credit.
Escrow interest cover shortfall?
Interest may top RES-OP- slightly*—do not promise claimants interest covers delayed waves; see interest allocation.
Wind-down with positive RES-*?
Sweep rules in FIN-ACCT-*—show residual bucket plan before portal closure.
Next steps
- Design breach settlement supplemental fund injection and top-up approval UI in Figma — court-ordered funding
- Design breach settlement fund shortfall and pro rata reduction UI in Figma — award-side shortfall
- Design breach settlement payment reversal, chargeback, and unauthorized debit dispute UI in Figma — events that drain RES-OP-*
- Design breach settlement distribution schedule and tranche disbursement planning UI in Figma — wave planning against available_to_pay
- Design breach settlement fund reconciliation and bank matching UI in Figma — confirm TOP-* credits
§ Keep reading