figma guide

Designing breach settlement unclaimed funds and escheatment UI in Figma: dormancy tracking, reissue workflows, and state reporting

Design breach settlement unclaimed funds and escheatment UI in Figma with dormancy countdowns, reissue wizards, state escheat reporting, and administrator reconciliation dashboards.

Published
Updated
Aug 24, 2026
Read time
7 min
Level
Intermediate

Quick answer

Breach settlement unclaimed funds UI handles money that was issued but never received—checks returned, ACH failures, or claimants who never selected a payment method. Design dormancy countdown trackers tied to PAY-* records, multi-channel outreach campaigns, reissue and void workflows, and state escheatment reporting dashboards that reconcile before funds transfer to unclaimed property offices. Connect to payment disbursement, saved addresses, claims status, and compliance exports. Start from the Figma guides hub and pair with inline alerts, forms, and Dev Mode handoff.


Who this is for

  • Product designers building post-disbursement recovery flows—not generic ecommerce refund UI.
  • Settlement administrators and finance teams tracking dormancy periods and state escheat filing deadlines.
  • Support teams handling “I never got my check” calls with PAY-* and UCF-* lookup parity.

Unclaimed fund lifecycle overview

UnclaimedFundLifecycle — PAY-992-88421 · $47.82 · Status: Dormant · Days until escheat: 94
├── Trigger events:
│   ├── Check undeliverable · ACH returned · Account closed
│   ├── No payment method selected by cutoff
│   ├── Issued but unclaimed past statutory dormancy period
│   └── Claimant deceased · Estate pending
├── Status progression:
│   ├── Failed delivery → Outreach active → Reissue window → Dormant → Escheat queued → Escheated
│   └── Exception: Legal hold blocks escheat from [compliance exports](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
├── ID namespace:
│   ├── PAY-* (original disbursement) · UCF-* (unclaimed fund case) · ESC-* (escheat batch)
│   └── One UCF-* per PAY-* unless split by jurisdiction
└── Victim portal + admin console share status enum
StageVictim seesAdmin sees
Failed deliveryRetry payment method CTAException queue from disbursement console
Outreach activeBanner + email remindersCampaign batch status
DormantCountdown to escheatmentJurisdiction rules engine output
Escheat queuedFinal claim windowState filing prep checklist
Escheated”Funds remitted to state” + lookup linkESC-* batch confirmation

Verdict: Create UCF- as a first-class case* when PAY-* enters failed or unclaimed state—do not overload PAY-* status alone.


Victim-facing dormancy tracker

DormancyTracker — UCF-992-1204 · PAY-992-88421 · $47.82 · Action required
├── Alert banner: "Your settlement payment could not be delivered"
├── Failure detail:
│   ├── Reason: Check returned undeliverable · Date: 2027-05-14
│   ├── Original amount: $47.82 · Reissue deadline: 2027-08-12
│   └── Escheatment date if no action: 2027-11-10 (per [state rules])
├── Reissue wizard:
│   ├── Update [mailing address](/designing-saved-addresses-and-address-book-ui-in-figma/) or ACH details
│   ├── Attestation: "Address is current and deliverable"
│   ├── Void-and-reissue confirmation · New PAY-* ref on success
│   └── Cannot change amount · Pro-rata locked from original CLM-*
├── Outreach history (transparency):
│   ├── Email sent 2027-05-16, 2027-06-01, 2027-07-15
│   └── Physical mail notice 2027-06-20 (if court requires)
├── Escheatment warning (30 days before):
│   ├── "Funds may be sent to state unclaimed property office"
│   ├── State name · Claimant lookup URL for post-escheat recovery
│   └── Final CTA: [ Update payment information ]
└── Contact support · Pre-fill UCF-* and PAY-* for [call center](/designing-breach-call-center-and-agent-script-ui-in-figma/)

Use progress indicators for dormancy timeline—not ambiguous “pending” badges.


Reissue and void workflow (administrator)

ReissueConsole — UCF-992-1204 · PAY-992-88421 · CLM-992-88421 · $47.82
├── Case summary: Failure code · Outreach count · Jurisdiction · Dormancy start date
├── Actions:
│   ├── [ Approve reissue ] → Void original PAY-* · Create PAY-992-91204 · Export to next batch
│   ├── [ Extend dormancy ] → Legal approval required · Audit comment · New deadline
│   ├── [ Mark deceased / estate ] → Hold escheat · Route to estate rep flow
│   └── [ Queue for escheatment ] → Move to ESC-* prep when statutory period met
├── Void checklist (before reissue):
│   ├── Original check stop-payment confirmed or ACH reversal complete
│   ├── No duplicate PAY-* for same CLM-* in active batch
│   ├── Address or ACH validated · Fraud flag cleared
│   └── Finance sign-off for amounts over threshold
├── Bulk operations: Select UCF-* rows · Batch reissue · Batch escheat queue
└── Audit log: ucf_id · pay_id · action · operator_id · void_ref · new_pay_id

Reissue creates new PAY- ID* linked to original via supersedes_pay_id—never mutate settled transaction records.


State escheatment reporting dashboard

EscheatDashboard — Settlement SET-992 · ESC batch ESC-992-Q3 · 892 rows · $41,204 total
├── Jurisdiction breakdown: CA · NY · TX · Unknown (manual assign)
├── Filing checklist per state:
│   ├── Dormancy period met · Last outreach date documented
│   ├── Owner name and last known address · SSN last-four if required
│   ├── Amount · Property type code · Report year
│   └── Export format: NAUPA · State-specific CSV · Due date countdown
├── Pre-filing validation:
│   ├── UCF-* without active legal hold
│   ├── PAY-* void confirmed · No pending reissue
│   ├── Duplicate owner merge across UCF-* rows
│   └── Amount sum matches finance ledger
├── Post-filing:
│   ├── State confirmation number · ESC-* batch closed
│   ├── Victim portal status → Escheated · State lookup instructions
│   └── Archive to [compliance exports](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
└── Reconciliation: Escheat total vs disbursed-minus-reissued ledger variance

Design jurisdiction rules as configuration display—designers show rule source and effective date; legal owns the values.


Outreach campaign UI (administrator)

OutreachCampaign — Settlement SET-992 · Campaign UCF-REMIND-04 · 12,441 UCF-* targets
├── Channel mix: Email · SMS (if consented) · Physical mail batch
├── Template variants by dormancy stage:
│   ├── Stage 1: Payment failed · Update info
│   ├── Stage 2: 60 days dormant · Escheatment warning
│   └── Stage 3: Final notice · 30-day deadline
├── Exclusion rules: Active reissue in progress · Legal hold · Deceased hold · OPT-* excluded
├── Send schedule: Stagger to avoid support spike · Respect quiet hours
├── Metrics: Open rate · Portal click-through · Reissue conversion · Escheat rate
└── Link to [notification preferences](/designing-notification-preferences-and-communication-settings-ui-in-figma/) for non-settlement comms separation

Settlement outreach is transactional/legal—do not merge with marketing preference centers without legal review.


Comparison: unclaimed funds vs adjacent surfaces

SurfaceFocusThis UI adds
Payment disbursementActive payout deliveryPost-failure dormancy and escheat
Claims disputeDenial or amount contestSeparate from delivery failure
Saved addressesProfile managementReissue-specific address attestation
Compliance exportsLegal hold and auditEscheat filing archive
Call centerAgent lookupUCF-* and dormancy status parity

Handoff checklist (Dev Mode)

  • DormancyTracker — ucf_id (UCF-), pay_id (PAY-), claim_id (CLM-*), amount, failure_reason_code, dormancy_start, escheat_date, jurisdiction_code, outreach_history[].
  • ReissueWizard — ucf_id, pay_id, new_address_id, new_ach_token_ref, attestation_id, submitted_at.
  • ReissueConsole — ucf_id, pay_id, void_status, new_pay_id, approval_operator_id, finance_signoff_ref.
  • EscheatDashboard — esc_batch_id (ESC-*), settlement_id, jurisdiction, row_count, total_amount, filing_due_date, export_format, state_confirmation_ref.
  • OutreachCampaign — campaign_id, ucf_id_list[], template_id, channel_enum, scheduled_at, exclusion_reasons[].
  • EscheatVictimStatus — ucf_id, status_enum (escheated), state_name, state_claimant_portal_url, escheat_date.

Common mistakes

MistakeWhy it hurtsFix
Treat escheat as payment retry onlyMiss statutory filing deadlinesUCF-* case with jurisdiction rules
Reissue without voiding originalDouble payment liabilityVoid-then-create PAY-* workflow
Same dormancy period for all statesNon-compliant filingsJurisdiction config in admin UI
Hide escheatment until last dayNo time for claimant action30/60/90-day staged outreach
Merge UCF outreach with marketing emailCAN-SPAM and consent issuesTransactional template namespace
No UCF-* on call center lookupAgents see “delivered” incorrectlyShared status with agent scripts
Escheat despite active legal holdCompliance violationHold blocks ESC-* queue
Show exact escheat date without legal lockDates change with rule updates”Estimated” until jurisdiction confirmed

  1. Finance and legal define dormancy rules per jurisdiction before wireframes.
  2. Extend PAY- failed state* into UCF-* case creation—do not build separate silo.
  3. Design victim dormancy tracker and admin reissue console as linked variants.
  4. Build outreach campaign UI before first undeliverable batch—not reactive email blasts.
  5. Sync UCF- lookup* with call center scripts before dormancy outreach wave.
  6. Archive ESC- filings* to compliance exports with state confirmation numbers.

FAQ

When does a PAY-* become a UCF-*?

On delivery failure, missed payment method cutoff, or start of statutory dormancy—exact trigger is settlement-specific. Document in handoff enum.

Can claimants recover funds after escheatment?

Through state unclaimed property offices—portal shows state lookup URL, not in-product reissue. Copy must not promise guaranteed recovery.

How do monitoring-only remedies interact with unclaimed funds?

No UCF- for cash*—service remedies use MON-* expiry flows from remediation enrollment instead.

What about international claimants?

Escheat rules vary or may not apply—flag jurisdiction “non-US” and route to manual review queue. Do not auto-queue for US state filing.

Mobile dormancy alerts?

Mobile-first banners on account dashboard—users open failure emails on phones. One-tap reissue wizard entry.


Next steps

Share on X

§ Keep reading

Related guides.