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
| Stage | Finance sees | Claimant / beneficiary sees |
|---|---|---|
| TIN gate | Missing TIN queue | W-9 or W-8BEN wizard before payout |
| Year-end aggregation | Threshold report by payee | — |
| F1099 draft | Preview forms before e-file | — |
| Filed | IRS confirmation numbers | Download PDF in portal |
| Correction | COR-* 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
| Surface | Focus | This UI adds |
|---|---|---|
| Payment disbursement | Deliver PAY-* | TIN gate before release |
| Residual fund | BEN-* payouts | W-9 for nonprofits |
| Final accounting | Court closure | BWH remittance in ledger |
| Eligibility portal | Identity proof | TIN name must match CLM-* |
| Compliance exports | Legal hold | Hold 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
| Mistake | Why it hurts | Fix |
|---|---|---|
| Collect TIN on claim form only | Name/TIN drift at payout | Re-verify at PAY-* gate |
| Show full SSN in admin tables | PCI-adjacent exposure | Mask TIN everywhere |
| Single 1099 for split PAY-* | IRS mismatch | Aggregate by TAX-* per calendar year |
| Ignore cy pres BEN-* tax forms | Nonprofit filing gaps | Separate PAY-RES-* tax track |
| No COR-* versioning | Claimant uses void form | Superseded doc list in portal |
| BWH conflated with UCF-* | Wrong legal disposition | Separate BWH-* namespace |
| Tax FAQ only in admin docs | Support spike Jan–Apr | Inline FAQ on download page |
| E-file before final PAY-* voids | Incorrect amounts | Lock aggregation after disbursement close |
Recommended workflow
- Counsel defines taxable remedy types and thresholds per settlement order before wireframes.
- Add TIN gate to PAY- state machine*—hold status visible in disbursement UI.
- Design W-9 wizard with file upload for paper form alternative.
- Build F1099 dashboard after year-end disbursement freeze from final accounting.
- Ship claimant download same day as e-file confirmation—avoid “coming soon” gap.
- 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
- Design breach settlement payment disbursement and payout tracking UI in Figma — PAY-* holds until TAX-* complete
- Design breach settlement final accounting and court closure UI in Figma — BWH remittance in FIN-* ledger
- Design breach settlement residual fund and cy pres allocation UI in Figma — BEN-* W-9 before PAY-RES-*
- Design account dashboard and my account UI in Figma — tax document widget placement
- Design compliance exports and legal hold UI in Figma — hold blocks F1099 e-file batch
§ Keep reading