figma guide
Designing breach settlement claims fund escrow and interest allocation UI in Figma: ESC-* escrow accounts, INT-* interest runs, and ALLOC-* waterfall rules
Design breach settlement claims fund escrow and interest allocation UI in Figma with ESC-* escrow accounts, INT-* interest runs, ALLOC-* waterfall rules, and LINK-DISB-* disbursement gates.
- Published
- Updated
- Sep 13, 2026
- Read time
- 9 min
- Level
- Intermediate
Quick answer
Escrow UI holds settlement funds with court-visible math—not a single bank balance field that finance updates manually. Design ESC- escrow accounts* per defendant contribution or settlement tranche, INT- interest runs* that accrue and allocate per plan or statute, and ALLOC- waterfall rules* that pay claims, fees, costs, and cy pres in court-ordered sequence before any DISB- batch* releases. Every ESC-* release must pass REC- reconciliation* against fund reconciliation UI and respect STY- stays* from appeal workflows. Without this UI, interest goes to the wrong party, claims pay from fee escrow, and final accounting cannot tie to bank statements. Start from the Figma guides hub and pair with payment disbursement, attorney fee allocation, residual fund, and unclaimed funds.
Who this is for
- Product designers building treasury and escrow modules inside breach settlement administration platforms.
- Settlement administrators and finance teams who need ALLOC-* waterfalls—not ad hoc journal entries per payout wave.
- Class counsel and court monitors reviewing ESC-* balances and INT-* allocation before certifying disbursement.
Escrow fund lifecycle overview
EscrowProgram — ESC-SET992 · gross: $48,200,000 · Status: Active accrual
├── Triggers:
│ ├── Defendant funding per settlement agreement schedule
│ ├── Court-ordered escrow for appeal holdback
│ ├── Insurance carrier funding tranches · deductible true-up
│ ├── Replenishment after [clawback](/designing-breach-settlement-clawback-and-overpayment-recovery-ui-in-figma/) or returned wire
│ └── Cy pres or admin cost reserve carve-out at funding
├── ID namespace:
│ ├── ESC-* (escrow account) · TRN-* (funding transaction)
│ ├── INT-* (interest period) · ALLOC-* (waterfall rule)
│ ├── REL-* (release authorization) · RES-* (reserve hold)
│ ├── LINK-DISB · LINK-FEE · LINK-CY · LINK-ADM
│ ├── REC-ESC-* (reconciliation snapshot) · LOG-ESC-* (treasury audit)
│ └── BAL-* (balance by purpose: claims · fees · cy pres · reserve)
├── Account structure:
│ ├── Single escrow · multi-defendant sub-accounts · MDL master escrow
│ ├── IOLTA or dedicated settlement account (jurisdiction rules)
│ ├── Separate ESC-FEE-* · ESC-CLM-* · ESC-CY-* logical buckets
│ └── Appeal holdback ESC-STY-* linked to STY-* records
├── Workflow:
│ ├── Record TRN-* inbound · match bank · lock ESC-* ledger
│ ├── Run INT-* monthly · allocate per plan · post to BAL-*
│ ├── Apply ALLOC-* on each DISB-* request · check RES-* holds
│ ├── REL-* counsel + administrator dual approval
│ ├── Execute DISB-* · decrement BAL-* · LOG-ESC-* entry
│ ├── Reconcile REC-ESC-* to bank · feed [QA sampling](/designing-breach-settlement-post-disbursement-qa-and-audit-sampling-ui-in-figma/)
│ └── Close ESC-* at [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
└── Outcomes:
├── Every dollar traceable: TRN-* → BAL-* → DISB-*
├── Interest allocated fairly to class or per order
└── No release during STY-* without court override
| ESC-* state | Claims pool BAL-CLM-* | Fee pool BAL-FEE-* | Release allowed |
|---|---|---|---|
| Unfunded | $0 | $0 | None |
| Partially funded | Pro-rata cap on DISB-* | Hold until APR-FEE-* | Limited batches |
| Fully funded | Full award liability covered | APR-FEE-* pending | Claims DISB-* only |
| STY- hold* | Accruing INT-* | Frozen | None without order |
| Wind-down | UCF reserve locked | Final fee true-up | UCF only |
| Closed | $0 · archived | $0 · archived | None |
Verdict: DISB- must debit a specific BAL- bucket—never a generic ESC-* total that hides fee vs claims commingling.**
ESC-* account setup and TRN-* funding UI
EscrowAccount — ESC-992-CLM · bank: ****4821 · Status: Active
├── Setup fields:
│ ├── escrow_id (ESC-*) · settlement_id · defendant_id
│ ├── Bank routing · account mask · signatory list
│ ├── Purpose enum: claims · fees · cy pres · appeal hold · admin
│ ├── Court order reference · APR-SET-* funding schedule
│ ├── Minimum balance RES-* · replenishment alert threshold
│ └── LINK to [payment methods](/designing-payment-methods-ui-in-figma/) for outbound wires
├── TRN-* inbound:
│ ├── Wire reference · amount · value date · source defendant
│ ├── Match to expected tranche from settlement agreement
│ ├── Split TRN-* across ESC-CLM-* · ESC-FEE-* · ESC-CY-* if single wire
│ ├── Unmatched TRN-* queue · finance research · LOG-ESC-*
│ └── Auto-notify when BAL-CLM-* covers projected claim liability
├── Controls:
│ ├── Dual approval for TRN-* manual entry
│ ├── Block TRN-* if settlement not APR-SET-* approved
│ ├── OFAC · fraud check on source (large defendant wires)
│ └── Export for [compliance exports](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
└── Claimant visibility:
├── Aggregate "fund status" on [status portal](/designing-breach-settlement-claim-status-portal-and-claimant-dashboard-ui-in-figma/)— no bank details
└── "Funding received" milestone · not individual TRN-* amounts
Use tables for TRN-* ledgers, badges for match status, and alerts for unfunded liability gaps.
INT-* interest accrual and allocation UI
InterestRun — INT-992-2026-Q3 · ESC-992-CLM · Status: Allocated
├── Accrual:
│ ├── Period start/end · average daily balance · rate source
│ ├── Bank INT-* statement import · variance tolerance
│ ├── Negative interest rare · show adjustment note
│ └── Prorate if partial period before ESC-* close
├── Allocation rules (plan-driven):
│ ├── To class pro-rata by paid claims · to unpaid claim reserve
│ ├── To cy pres per [residual fund UI](/designing-breach-settlement-residual-fund-and-cy-pres-allocation-ui-in-figma/)
│ ├── To counsel as cost recovery · to administrator pass-through
│ ├── Net to defendant if plan requires · tax reporting flag
│ └── Court-ordered fixed split percentages
├── Posting:
│ ├── Credit BAL-CLM-* · BAL-CY-* · BAL-FEE-* sub-ledgers
│ ├── Generate INT-* statement for [court monitor](/designing-breach-settlement-court-monitor-and-special-master-reporting-ui-in-figma/)
│ ├── OBJ-FEE-* may challenge interest-to-fee allocation
│ └── Include in [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/) exhibit
├── Edge cases:
│ ├── INT-* during STY-* · accrue but do not release
│ ├── Multi-ESC-* consolidation · eliminate inter-account interest
│ └── Escheat of INT-* on [UCF](/designing-breach-settlement-unclaimed-funds-and-escheatment-ui-in-figma/) per state law
└── Outputs:
├── PDF INT-* certificate · CSV for auditor
└── Feed [tax reporting](/designing-breach-settlement-tax-reporting-and-1099-ui-in-figma/) if interest taxable to claimants
Pair with sliders for allocation preview (simulation mode) and cards for period summary tiles.
ALLOC-* waterfall and REL-* release authorization UI
WaterfallRule — ALLOC-992-001 · version: 3 · Status: Active
├── Priority sequence (example):
│ 1. Administrator pass-through costs · ADM-FEE-*
│ 2. Notice campaign costs · NOT-* vendor invoices
│ 3. Approved [attorney fees](/designing-breach-settlement-attorney-fee-allocation-and-incentive-award-ui-in-figma/) · DISB-FEE-*
│ 4. Claim awards by tier · DISB-CLM-*
│ 5. [Incentive awards](/designing-breach-settlement-attorney-fee-allocation-and-incentive-award-ui-in-figma/) · DISB-INC-*
│ 6. Cy pres · [residual allocation](/designing-breach-settlement-residual-fund-and-cy-pres-allocation-ui-in-figma/)
│ 7. UCF reserve · [escheatment](/designing-breach-settlement-unclaimed-funds-and-escheatment-ui-in-figma/)
├── REL-* release gate:
│ ├── Requested DISB-* amount · target BAL-* bucket
│ ├── Waterfall check: higher priority pools satisfied
│ ├── RES-* hold: appeal · QA finding · court order
│ ├── STY-* block from [appeal UI](/designing-breach-settlement-appeal-and-mandamus-review-ui-in-figma/)
│ ├── Dual approval: administrator + counsel · LOG-ESC-*
│ └── Generate wire file · link DISB-* batch id
├── Simulation mode:
│ ├── Project BAL-* after pending DISB-* queue
│ ├── "Insufficient ESC-CLM-*" before batch creation
│ └── What-if: delay fee wire · claims first scenario
└── Audit:
├── Every REL-* ties to DISB-* and bank confirmation
├── Override requires reason code · manager approval
└── [External auditor](/designing-breach-settlement-external-auditor-access-and-read-only-review-portal-ui-in-figma/) read-only waterfall log
Use progress steppers for waterfall stages and modals for REL-* approval with insufficient balance warnings.
RES-* reserves, STY-* holdback, and appeal escrow UI
ReserveHold — RES-992-STY · ESC-STY-992 · amount: $12,400,000 · Status: Active
├── Hold types:
│ ├── Appeal STY-* · full or partial settlement fund
│ ├── QA FIND-* corrective reserve · [post-disbursement QA](/designing-breach-settlement-post-disbursement-qa-and-audit-sampling-ui-in-figma/)
│ ├── Fee holdback pending [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
│ ├── UCF statutory reserve · minimum BAL-UCF-*
│ └── Court-ordered cy pres hold until recipient confirmed
├── Mechanics:
│ ├── RES-* reduces available BAL-* for ALLOC-* · not separate bank account required
│ ├── Or physical transfer to ESC-STY-* sub-account
│ ├── Auto-create RES-* when STY-* granted in [appeal UI](/designing-breach-settlement-appeal-and-mandamus-review-ui-in-figma/)
│ ├── Release RES-* on STY-* lift · RUL-APL-* · court order upload
│ └── Interest INT-* on RES-* follows same allocation rules
├── Dashboard:
│ ├── Total escrow · available · reserved · pending DISB-*
│ ├── Timeline: expected STY-* resolution · RES-* expiry
│ └── Alert if DISB-* queue exceeds available after RES-*
└── Claimant messaging:
├── Status portal: "Disbursement paused — appellate review"
└── No internal RES-* amounts · avoid speculation
REC-ESC-* reconciliation and court reporting UI
ReconciliationSnapshot — REC-ESC-992-2026-09 · Status: Matched
├── Match layers:
│ ├── Bank statement balance = sum ESC-* ledger
│ ├── Sum BAL-* buckets = ESC-* total · no negative buckets
│ ├── Sum DISB-* posted = sum REL-* authorized
│ ├── TRN-* inbound − DISB-* outbound ± INT-* = expected balance
│ └── Tie to [fund reconciliation](/designing-breach-settlement-fund-reconciliation-and-bank-matching-ui-in-figma/) BANK-* records
├── Variance handling:
│ ├── Timing: wire in transit · pending DISB-*
│ ├── Unidentified TRN-* · suspense account · 30-day SLA
│ ├── Bank fees · adjust LOG-ESC-* with approval
│ └── Break REC-ESC-* → block new REL-* until resolved
├── Court package:
│ ├── Monthly ESC-* statement for [special master](/designing-breach-settlement-court-monitor-and-special-master-reporting-ui-in-figma/)
│ ├── Chart: funding vs disbursement cumulative
│ ├── INT-* allocation summary · cy pres accrual
│ └── SCRUB-ESC-* redact bank account numbers on public exhibits
└── Integration:
├── [Counsel payout approval](/designing-breach-settlement-counsel-review-and-payout-approval-ui-in-figma/) reads available BAL-CLM-*
└── [Clawback](/designing-breach-settlement-clawback-and-overpayment-recovery-ui-in-figma/) credits TRN-* or reduces next DISB-*
Comparison: single escrow vs multi-bucket vs per-defendant accounts
| Dimension | Single commingled ESC-* | Multi-bucket BAL-* | Per-defendant ESC-* |
|---|---|---|---|
| Setup complexity | Low | Medium | High |
| Court preference | Rare for large cases | Common | MDL multi-defendant |
| Fee vs claims separation | Risky | Logical BAL-* walls | Physical separation |
| INT- allocation* | Simple | Plan-driven split | Per-defendant first |
| Reconciliation | One bank account | One bank · many buckets | Many REC-ESC-* |
| Best for | Small admin settlements | Standard breach class | Multi-D defendant deals |
Common mistakes
- DISB-FEE- debits ESC-CLM- because total balance was sufficient**— commingling violation; fee objection sustained.
- INT- allocated to counsel without plan language*— reversals required; court sanctions risk.
- REL- approved during STY- without court override**— disbursement during stay; appeal issues.
- TRN- posted without bank match*— REC-ESC-* false positive; auditor finding.
- UCF reserve released before escheatment period ends— state compliance failure.
Recommended workflow
- Create ESC- accounts and BAL- buckets** per settlement agreement · link bank feeds.
- Post TRN- inbound* · verify funding schedule · set RES-* if STY-* pending.
- Run INT- periods* · allocate per plan · publish monitor statement.
- Configure ALLOC- waterfall* · simulate pending DISB-* queue.
- REL- authorize batches* · execute DISB-* · reconcile REC-ESC-* monthly.
- Close ESC-* at final accounting · transfer UCF · archive LOG-ESC-*.
FAQ
Defendant funds late— partial claims payment?
ALLOC- may allow pro-rata DISB-** if plan permits · show “partial funding” on status portal · hold lower tiers until TRN-* catches up.
Interest taxable to claimants?
Jurisdiction and plan · flag taxable INT-* · link 1099 UI · FAQ disclosure.
Multiple insurers contributing?
Separate TRN- per carrier* · sub-ledger by defendant · consolidated REC-ESC-* for court.
Escrow closes with surplus?
Waterfall remainder · cy pres · UCF · or return to defendant per order · residual fund UI.
QA finding freezes escrow?
RES- from FIND-** · block REL-* for affected batch · release after ACT-* complete · QA UI.
MDL escrow across districts?
Master ESC-MDL-* · allocate shares to settling cases · INT-* split per transfer agreement.
Next steps
- Design breach settlement fund reconciliation and bank matching UI in Figma — BANK-* match to REC-ESC-*
- Design breach settlement payment disbursement and payout tracking UI in Figma — DISB-* execution from REL-*
- Design breach settlement attorney fee allocation and incentive award UI in Figma — DISB-FEE-* from BAL-FEE-*
- Design breach settlement appeal and mandamus review UI in Figma — ESC-STY-* and RES-* holds
- Design breach settlement final accounting and court closure UI in Figma — ESC-* closeout exhibit
§ Keep reading