figma guide

Designing breach settlement tax reporting and 1099 UI in Figma: TIN collection, threshold tracking, and IRS filing dashboards

Design breach settlement tax reporting and 1099 UI in Figma with TIN collection wizards, IRS threshold tracking, corrected form workflows, and administrator filing dashboards.

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

Quick answer

Breach settlement tax reporting UI collects TINs, tracks IRS reporting thresholds, and produces 1099 filings for class payments and cy pres disbursements—without turning the victim portal into a generic payroll product. Design a TIN collection wizard gated before PAY-* delivery above thresholds, a 1099 filing dashboard for administrators with batch status and correction workflows, and claimant-facing tax document download after filing season. Connect to payment disbursement, residual fund payouts, final accounting, and saved addresses. Start from the Figma guides hub and pair with forms, tables, and Dev Mode handoff.


Who this is for

  • Product designers building settlement tax flows—not generic HR payroll 1099 modules.
  • Settlement administrators and finance teams preparing IRS filings after disbursement season.
  • Legal counsel who need auditable TIN collection before court-ordered distributions.

Settlement tax lifecycle overview

TaxReportingLifecycle — SET-992 · Tax year: 2027 · Status: TIN collection in progress
├── Taxable payment types (settlement-specific config):
│   ├── Class cash remedies (PAY-*) above IRS threshold
│   ├── Cy pres beneficiary disbursements (PAY-RES-*)
│   ├── Credit monitoring cash equivalents (if taxable per counsel)
│   └── Administrator fees (1099 to vendor—separate admin console)
├── ID namespace:
│   ├── TAX-* (tax profile per payee) · F1099-* (generated form batch)
│   └── COR-* (correction case) · BWH-* (backup withholding hold)
├── Status progression:
│   ├── Pre-disbursement TIN gate → Payment delivered → Year-end aggregation → F1099 draft → IRS e-file → Claimant download
│   └── Corrections: COR-* → void/reissue F1099-* → amended filing
└── Links CLM-* / PAY-* / BEN-* to TAX-* record—not duplicate payee identity
StageFinance seesClaimant / beneficiary sees
TIN gateMissing TIN queueW-9 or W-8BEN wizard before payout
Year-end aggregationThreshold report by payee
F1099 draftPreview forms before e-file
FiledIRS confirmation numbersDownload PDF in portal
CorrectionCOR-* workflow”Amended tax document available” notice

Verdict: Block PAY- above configurable threshold until TAX- is complete**—do not rely on post-payment TIN chase unless court order explicitly allows.


TIN collection wizard (claimant and beneficiary)

TINCollection — CLM-992-88421 · PAY-992-88421 pending · Threshold: $600 · Amount: $47.82
├── Gate logic:
│   ├── Below threshold: Optional TIN · Payment proceeds
│   ├── At/above threshold: Required TIN · Payment held in BWH-* queue if missing
│   └── Cy pres BEN-*: Always required before PAY-RES-*
├── Wizard steps (use [progress stepper](/designing-progress-indicators-and-steppers-in-figma/)):
│   ├── 1. Tax status attestation (US person vs foreign)
│   ├── 2. W-9 or W-8BEN form fields · Match IRS field labels
│   ├── 3. TIN entry with masking · SSN format validation
│   ├── 4. Certification checkbox · Electronic signature capture
│   └── 5. Confirmation · TAX-* created · Release PAY-* hold
├── Error states:
│   ├── TIN mismatch (IRS TIN matching if integrated)
│   ├── Name line mismatch with CLM-* identity
│   └── Duplicate TIN across multiple CLM-* (fraud flag → [disputes](/designing-breach-settlement-claims-dispute-and-appeals-ui-in-figma/))
└── Re-auth: [Session timeout](/designing-session-timeout-and-re-authentication-ui-in-figma/) before TIN display

Use forms patterns with clear IRS disclaimers—not marketing copy. Never show full TIN after submission; mask as ***-**-1234.


Backup withholding console (administrator)

BackupWithholding — BWH-992-0041 · CLM-992-88421 · 24% hold · Reason: Missing TIN after 60-day notice
├── Hold queue table:
│   ├── pay_id · claim_id · amount · hold_rate · notice_sent_at · days_remaining
│   ├── Actions: Resend TIN request · Release after TIN · Process BWH remittance
│   └── Sort by amount descending for finance review
├── Notice trail:
│   ├── Email + portal banner · Link to TIN wizard
│   ├── Certified mail ref (if required by settlement order)
│   └── Audit log: notice_id · channel · delivery_status
├── Release path:
│   ├── TIN received → Remove hold → Original PAY-* amount adjusted or split
│   └── BWH remitted → Separate ledger line in [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
└── Victim portal: "Payment pending tax information" with single CTA to wizard

Backup withholding is legally distinct from unclaimed funds—do not route BWH-* to UCF-* escheatment without counsel approval.


1099 filing dashboard (administrator)

F1099Dashboard — SET-992 · Tax year 2027 · Forms: 14,204 · Status: Draft review
├── Summary tiles:
│   ├── Payees above threshold: 14,204
│   ├── Missing TIN (blocked from filing): 23
│   ├── Total reportable amount: $11,204,882
│   ├── Cy pres BEN-* forms: 3
│   └── Corrections pending (COR-*): 7
├── Batch workflow:
│   ├── Generate draft F1099-* from PAY-* aggregation
│   ├── Preview PDF per payee · Bulk approve
│   ├── E-file to IRS · Store confirmation · Mail Copy B if required
│   └── Mark F1099-* filed_at · Unlock claimant download
├── Correction workflow (COR-*):
│   ├── Trigger: TIN fix · Amount adjustment · Name correction
│   ├── Void original F1099-* · Issue corrected form
│   ├── Reason code required · Counsel review if > materiality threshold
│   └── Claimant notification via [notification prefs](/designing-notification-preferences-and-communication-settings-ui-in-figma/)
└── Export: IRS fire format · Audit CSV · [Compliance export](/designing-compliance-exports-and-legal-hold-ui-in-figma/) package

Design side-by-side draft vs prior year only if multi-year settlements—most breach funds are single tax year focused.


Claimant tax document portal

After filing, class members download forms from account dashboard settlement widget:

TaxDocuments — CLM-992-88421 · Tax year 2027
├── Available documents:
│   ├── 1099-NEC (or applicable form) · F1099-992-88421 · Filed 2028-01-31
│   ├── Download PDF · Print-friendly layout
│   └── Superseded: F1099-992-88421-v1 (if COR-* issued)
├── FAQ inline:
│   ├── "Is my settlement payment taxable?" → Link to [notice FAQ](/designing-breach-faq-and-notice-landing-page-ui-in-figma/) tax section
│   ├── "I lost my form" → Re-download · No re-request to admin
│   └── "My name or TIN is wrong" → Open COR-* request form
├── Correction request form:
│   ├── Fields: error_type · corrected_name · corrected_tin (re-verify)
│   ├── Upload supporting ID if name change
│   └── Creates COR-* · SLA badge from [privacy queue](/designing-privacy-request-queue-and-case-management-ui-in-figma/) patterns
└── Post-[closure](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/): Tax docs remain available per retention policy

Comparison: tax UI vs adjacent settlement surfaces

SurfaceFocusThis UI adds
Payment disbursementDeliver PAY-*TIN gate before release
Residual fundBEN-* payoutsW-9 for nonprofits
Final accountingCourt closureBWH remittance in ledger
Eligibility portalIdentity proofTIN name must match CLM-*
Compliance exportsLegal holdHold blocks F1099 e-file

Handoff checklist (Dev Mode)

  • TINCollection — claim_id (CLM-), pay_id (PAY-), threshold_amount, tax_form_type (W-9/W-8BEN), tin_masked, certification_signed_at, bwh_hold_bool.
  • BackupWithholding — bwh_id (BWH-*), pay_id, hold_rate_pct, notice_sent_at[], release_reason_code, remittance_ledger_ref.
  • F1099Dashboard — settlement_id (SET-*), tax_year, form_count, missing_tin_count, total_reportable, batch_status_enum, efile_confirmation_id.
  • F1099Form — f1099_id (F1099-), payee_tax_id (TAX-), amount, form_type, filed_at, superseded_by_id, pdf_url.
  • TaxDocuments — claim_id, tax_year, available_forms[], correction_request_status, retention_expires_at.

Common mistakes

MistakeWhy it hurtsFix
Collect TIN on claim form onlyName/TIN drift at payoutRe-verify at PAY-* gate
Show full SSN in admin tablesPCI-adjacent exposureMask TIN everywhere
Single 1099 for split PAY-*IRS mismatchAggregate by TAX-* per calendar year
Ignore cy pres BEN-* tax formsNonprofit filing gapsSeparate PAY-RES-* tax track
No COR-* versioningClaimant uses void formSuperseded doc list in portal
BWH conflated with UCF-*Wrong legal dispositionSeparate BWH-* namespace
Tax FAQ only in admin docsSupport spike Jan–AprInline FAQ on download page
E-file before final PAY-* voidsIncorrect amountsLock aggregation after disbursement close

  1. Counsel defines taxable remedy types and thresholds per settlement order before wireframes.
  2. Add TIN gate to PAY- state machine*—hold status visible in disbursement UI.
  3. Design W-9 wizard with file upload for paper form alternative.
  4. Build F1099 dashboard after year-end disbursement freeze from final accounting.
  5. Ship claimant download same day as e-file confirmation—avoid “coming soon” gap.
  6. Archive F1099- batches* to regulatory archive with FIN-* cross-reference.

FAQ

Are all settlement payments taxable?

Depends on settlement order and remedy type—UI shows counsel-approved disclaimer; do not provide tax advice in product copy.

What form type for class action cash?

Often 1099-NEC or 1099-MISC per year rules—configure form_type at SET-* level; do not hardcode in components.

Foreign class members?

W-8BEN flow with treaty country field · May exempt from 1099 · Still store TAX-* for audit.

When to start TIN collection?

At payout method selection or first threshold-crossing approval—earlier optional collection reduces BWH-* volume.

Mobile W-9 submission?

Mobile-friendly wizard—TIN entry with numeric keyboard; PDF download of submitted form on confirmation.


Next steps

Share on X

§ Keep reading

Related guides.