figma guide

Designing breach settlement disbursement hold release and payment gate UI in Figma: HOLD-DISB-* orchestration, GATE-PAY-* rules, and WAVE-* batch safety

Design breach settlement disbursement hold UI in Figma with HOLD-DISB-* reasons, GATE-PAY-* release rules, WAVE-* batch guards, and counsel locks before payout files export.

Published
Updated
Sep 19, 2026
Read time
5 min
Level
Intermediate

Quick answer

Disbursement hold UI prevents WAVE- batches from paying claims that fail policy, law, or data integrity checks—not a single “fraud flag” checkbox.* Design HOLD-DISB- records* with structured reason codes, GATE-PAY- release rules* (all-of vs any-of predicates), and BATCH-GUARD- preflight* panels that scan a tranche before payment file export. Holds should originate from tier objections, fraud detection, ID re-verification, restatement ack, contested escrow, lien offsets, and appeal stays—each with LOG-HOLD-* and optional APP-REL-* counsel approval. Without orchestration UI, one team clears a fraud hold while another exports WAVE-*, returned payments spike, and call center agents cannot explain “paid but pending.” Start from the Figma guides hub and pair with counsel payout approval, distribution schedule, and fund reconciliation.


Who this is for

  • Product designers unifying hold reasons across admin, treasury, and claimant surfaces.
  • Operations leads running BATCH-GUARD-* before every tranche release.
  • Developers implementing deterministic GATE-PAY-* evaluation order.

HOLD-DISB-* lifecycle overview

DisbursementHold — HOLD-DISB-9921 · CLM-4412 · Status: Active
├── Reason codes (non-exhaustive):
│   ├── OBJ-TIER-* open · [tier objection](/designing-breach-settlement-tier-objection-and-award-challenge-ui-in-figma/)
│   ├── FRAUD-* · [duplicate claim](/designing-breach-settlement-duplicate-claim-detection-and-fraud-prevention-ui-in-figma/)
│   ├── IDV-* · [step-up verification](/designing-breach-settlement-claimant-identity-reverification-and-step-up-ui-in-figma/)
│   ├── REST-ACK-* · [award restatement](/designing-breach-settlement-award-restatement-and-fin-awd-version-history-ui-in-figma/)
│   ├── DISP-* · [appeals](/designing-breach-settlement-claims-dispute-and-appeals-ui-in-figma/)
│   ├── LIEN-PEND-* · [creditor offset](/designing-breach-settlement-lien-and-third-party-creditor-offset-ui-in-figma/)
│   ├── DEF-NOT-* · [deficiency](/designing-breach-settlement-deficiency-notice-and-claim-cure-ui-in-figma/)
│   ├── STY-APP-* · [appeal stay](/designing-breach-settlement-appeal-and-mandamus-review-ui-in-figma/)
│   └── MANUAL-* · dual-control admin hold
├── ID namespace:
│   ├── HOLD-DISB-* (hold instance)
│   ├── REASON-HOLD-* (taxonomy)
│   ├── GATE-PAY-* (computed pay/no-pay)
│   ├── APP-REL-* (release approval)
│   ├── LOG-HOLD-* · LOG-REL-*
│   ├── BATCH-GUARD-* (tranche scan job)
│   └── EXCL-WAVE-* (claim skipped in batch)
├── Stacking rules:
│   ├── Multiple holds OK · release only when all clear
│   ├── Severity · hard block vs soft warning
│   ├── Auto-release on source close · e.g. OBJ-TIER resolved
│   ├── Manual release requires APP-REL-* for MANUAL-*
│   └── Expiry · rare · log if used
└── Surfaces:
    ├── Treasury WAVE-* planner · red/yellow counts
    ├── [Status portal](/designing-breach-settlement-claim-status-portal-and-claimant-dashboard-ui-in-figma/) · plain language
    └── [Counsel review](/designing-breach-settlement-counsel-review-and-payout-approval-ui-in-figma/) · hold summary tab
HOLD stateGATE-PAY-*WAVE-* export
Active (hard)BlockClaim excluded
Active (soft)WarnRequires override + LOG
Pending APP-RELBlockBatch blocked if any
ReleasedAllowEligible if other gates pass
SupersededRecalcAudit only

Verdict: GATE-PAY- must be computed server-side at export time— UI toggles alone do not release payment.*


GATE-PAY-* rule builder UI

PaymentGate — GATE-PAY-SETTLEMENT-2026 · policy version 14
├── Predicate groups:
│   ├── Identity · IDV pass · not expired
│   ├── Award · active VER-AWD-* · no REST-ACK pending
│   ├── Disputes · no open OBJ-TIER / DISP hard holds
│   ├── Treasury · FIN-AWD ≤ escrow ALLOC available
│   ├── Legal · not on STY-APP-* list
│   └── Payment rail · valid [payment method](/designing-payment-methods-ui-in-figma/)
├── Evaluation order (document for eng):
│   ├── 1. Hard holds · any → block
│   ├── 2. Award version lock
│   ├── 3. Lien net amount > 0
│   ├── 4. Counsel APP-PAY-* on claim or batch
│   └── 5. BATCH-GUARD-* sample QA pass
├── Override path:
│   ├── Role · counsel + admin dual
│   ├── Reason text · min length
│   ├── LOG-OVERRIDE-* immutable
│   └── Optional monitor notify
└── Test harness:
    ├── Paste CLM id · show GATE-PAY trace
    ├── Simulate WAVE-* · list EXCL-WAVE-*
    └── Export policy JSON for CI fixtures

Use forms for override reasons and modals for destructive batch overrides.


BATCH-GUARD-* preflight UI

CheckFailure actionOwner
Hold countBlock exportTreasury
VER-AWD driftBlock · rerun plannerAdmin
Escrow ALLOCBlock · reconciliationTreasury
Duplicate bank tokensBlock · fraud queueRisk
Sample QA failBlock · post-disbursement QACompliance
Counsel lock missingBlockCounsel

Show a single tranche dashboard: eligible count, excluded with top REASON-HOLD-* breakdown, and estimated release after auto-clear events.


Comparison: hold vs escrow vs provisional pay

MechanismCash movementClaimant message
HOLD-DISB-*None“Payment on hold”
Contested escrowReserve moved“Under review”
Provisional payPartial pay“Interim payment”
STY-APP-*Pool-level freezeProgram-wide notice

Recommended: do not use provisional pay to bypass HOLD-DISB-* without explicit plan language and LOG.


Common mistakes

  1. Releasing HOLD-DISB- locally while OBJ-TIER- still open**— double source of truth.
  2. No BATCH-GUARD- on partial WAVE- reruns**— stale exclusions after VER-AWD-* change.
  3. Claimant portal shows “approved” while GATE-PAY- blocks*— align copy with status portal states.
  4. Manual overrides without APP-REL-*— auditor findings in external review.
  5. Ignoring returned payment auto-hold— reissue loops pay twice.

  1. Define GATE-PAY- policy* with counsel · version in admin UI.
  2. Auto-create HOLD-DISB-* from source systems · never orphan holds.
  3. Run BATCH-GUARD-* on WAVE-* draft · fix exclusions · counsel batch APP-PAY-*.
  4. Export payment file · stamp GATE-PAY trace id on batch.
  5. Post-export · auto-hold on return/NOC events · link LOG-HOLD-*.

FAQ

Soft vs hard hold?

Hard blocks GATE-PAY-*— soft requires explicit treasury acknowledgment to export.

Hold on zero-dollar claims?

Still log— prevents erroneous future credits when VER-AWD-* updates.

Provisional payment with active hold?

Only if GATE-PAY- policy includes PROV- exception**— show separate timeline either way.

Developer handoff?

Ship GATE-PAY- as pure functions* with ordered trace array for support tools— Dev Mode checklist.

Monitor reporting?

Include hold aging histogram in court monitor reports— not only paid dollars.


Next steps

Share on X

§ Keep reading

Related guides.