Open1031
Exchange Team
Exchange #EX-2024-0847 · 456 Sunset Blvd, Los Angeles CA
Live
participant-invite-notify · live
Your Exchange Team
8 parties · Exchange #EX-2024-0847
6 of 8 active
MB
Matt Belcher (You) Exchanger

matt.belcher@gmail.com · (310) 555-0142

Active
TB
Priya Anand QI Officer Open1031

tom@open1031.ai · (800) 555-1031

Active
FC
First Coast Title Title / Escrow

closings@firstcoasttitle.com · (323) 555-7800

Active
SR
Sandra Rivera, CPA CPA / Accountant

s.rivera@riveratax.com · (310) 555-4422

Invited
JK
James Kim, Esq. Attorney

Not yet invited

Pending
PL
Pacific Lending Group Lender

Not yet invited

Missing
DH
Diana Huang Seller

d.huang@oceansiderealty.com

Invited
CV
Carlos Vega Buyer

Not yet invited — optional

Optional
Role Access Summary
Each role sees exactly what they need — nothing more.
Exchanger Full read + write access to their own exchange. Signs all documents. No access to QI escrow account details.
QI Officer Full QI dashboard. Exchange + escrow read. Document counter-signature. Cannot edit exchanger profile.
Title / Escrow Settlement statement upload. Wire instruction read-only. Closing docs. No tax or identification data.
CPA IRS Form 8824 read. Exchange summary export. Tax basis data. No financial account numbers.
Attorney Exchange agreement read. Document review + comment. No financial data or account details.
Lender Property identification read. Purchase contract summary. No escrow wire or tax data.
Seller / Buyer Notification only. Receives status emails at key milestones. No platform access by default.

Access is tenant-isolated by Supabase RLS. Parties can only read data explicitly scoped to their role and this exchange. Cross-tenant reads are impossible by design.

Automated invite lifecycle

Every invite you send goes through a durable workflow: send → 3-day reminder → 7-day expiry. Once accepted, the party gets a role-scoped welcome email and portal access. I track every step so nothing falls through the cracks.

participant-invite-notify
SR
Sandra Rivera, CPA
Invited · Jun 1, 2026
Invited
Invite email sent
Jun 1, 2026 · 10:14 AM
Branded invite with scoped access preview and one-click accept link. Valid for 7 days.
3-day reminder sent
Jun 4, 2026 · 10:14 AM · automated
Neela sends a friendly nudge: invite expires in 4 days. Subject: "Your invite to Matt's exchange expires soon."
participant-invite-notify · 3-day alarm
Awaiting acceptance Pending
Expires Jun 8, 2026 · 4 days remaining
Sandra has not yet accepted. Expiry in 4 days — a final reminder fires on day 6.
Accepted → welcome email + portal access
Pending acceptance
On accept: role-scoped portal account created; welcome email with scoped tour sent; audit log entry written.
JK
James Kim, Esq.
Not yet invited
Pending

James hasn't been invited yet

Send an invite and the full lifecycle (send → 3-day reminder → expiry → accepted → welcome) runs automatically via participant-invite-notify

Full Invite Lifecycle — All States
Every state the participant-invite-notify workflow handles
live · Vectr durable
1. Sent

Branded email dispatched. Portal pending. 7-day expiry timer starts.

2. 3-Day Reminder

Auto-nudge: "Your invite expires in 4 days." Soft tone.

3. Day-6 Final

Final reminder: "Last chance — invite expires tomorrow."

4. Expired

Link invalidated after day 7. Status flips to Expired. Exchanger can resend.

5. Accepted

Role-scoped portal created. Welcome email + onboarding tour. Audit log entry.

Touchpoint Map — Exchange Lifecycle
When every party gets invited and notified — and where the current system misses them.
Covered Gap

Gaps cost exchanges

Every time a party isn't notified at the right moment, they create friction at closing. Red badges below are live gaps in the current notification system.

Phase 1 · Intake & Setup

Exchanger onboarded

Matt completes ID Hub, uploads IDs, e-signs exchange agreement.

Exchanger — automated onboarding email

QI Officer assigned

Open1031 auto-assigns Priya Anand. Exchange agreement counter-signed.

QI Officer — auto-assigned, dashboard access granted
Phase 2 · Relinquished Sale & Escrow

Title company connected to Escrow Hub

Title / Escrow — invited when Escrow Hub opened

Seller notified of escrow funding

Seller — email notification at escrow funding

Buyer of relinquished property

Carlos Vega — no notification at any exchange milestone.

Buyer — no notification at any point
Phase 3 · 45-Day Identification

Exchanger identifies replacement properties

Day 30 / 40 / 44 reminders are specified against forty-five-day-id-watcher — a Vectr workflow that has not been built, so no reminder is sent today.

Exchanger — no day 30 / 40 / 44 deadline reminder is sent

CPA not notified during ID period

Sandra should advise on which properties satisfy basis requirements — but we never ask her.

CPA — not notified when ID window opens or closes

Attorney not involved in ID period

Attorney — no invitation or notification trigger during ID period
Phase 4 · Purchase & 180-Day Close

Attorney invited for document review

Attorney — invited when Purchase Hub opened

Lender invited for purchase financing

Lender — invited when Purchase Hub opened

Lender — no 180-day urgency alert

If closing is at risk, the lender may be causing the delay. No outbound alert today.

Lender — no alert when 180-day clock below 30 days
Phase 5 · IRS Filing (Form 8824)

CPA invited to review Form 8824

CPA — invited when IRS Hub opened; 8824 + exchange summary shared

CPA invited too late

Optimal advisory moment is during the 45-day window — by IRS filing, decisions are locked.

CPA — should have read access from day 1 of ID window

Attorney — no IRS filing notification

Attorney — no notification at IRS filing or completion
Phase 6 · Disbursement & Close

Exchanger confirms disbursement

All parties receive exchange-complete notification.

All parties — exchange-complete notification

No post-close summary to CPA or Lender

CPA + Lender — no post-close package or referral touchpoint
GapExchanger — no day 30 / 40 / 44 reminder before the 45-day deadline (forty-five-day-id-watcher not built)
GapBuyer — no notification at any exchange milestone
GapCPA not notified when 45-day ID window opens
GapAttorney — no hook during the 45-day ID period
GapLender — no urgency alert when 180-day clock below 30 days
GapAttorney not notified at IRS filing or completion
GapCPA + Lender — no post-close summary or referral package

Multiple exchangers are fully supported

An exchange can have more than one exchanger — an individual, married couple, TIC members, an LLC, trust, or partnership. The "same taxpayer" rule requires the entity that sells the relinquished property to be the same one that acquires the replacement. I'll track that for you.

Exchangers (2)
Same-taxpayer continuity required — both must sell & acquire
MB
Matt Belcher Primary Exchanger (You)

Individual · SSN ···-··-6789 · KYC verified

KYC Done
JB
Jennifer Belcher Co-Exchanger Spouse / Joint

j.belcher@gmail.com · Invite sent Jun 1

KYC Pending

Same-Taxpayer Rule — IRS §1031(a)

The entity that sells the relinquished property must be the same entity that acquires the replacement. Both Matt and Jennifer must appear on both deeds. Open1031 tracks this automatically.

Exchanger Type
Drives conditional fields + KYC/KYB routing
Individual
Legal name · SSN · DOB · Address · Marital status / vesting
Married Couple / Joint
Both spouses · Vesting: community property / JTWROS · Each KYC
Tenants-in-Common (TIC)
Each TIC member + ownership % · Each may run their own exchange
LLC (single / multi-member)
Entity legal name · EIN · Formation state · Authorized signatory · UBO → KYB
Trust (revocable / irrevocable / land)
Trust name · Trustee(s) · Tax ID (EIN or grantor SSN) · Trust agreement doc
Partnership / LP / S-Corp / C-Corp
Entity name · EIN · GP/officer signatory · UBOs → KYB (Middesk)
Build contract — participants
1 · Colour carries two different jobs and they never merge. Hub hue (--hub-id, --hub-sales, --hub-escrow, --hub-purchase, --hub-disbursement, --hub-irs, --hub-reverse) says which leg of the exchange a party belongs to. Status is a separate scale (--good / --warn / --bad) and always ships with a label and an icon, so nothing on this surface is legible by colour alone.
2 · Role scope is the access-control contract, not a caption. The Role Access Summary must be generated from the same policy the API enforces — Supabase RLS scoped by auth.uid() and exchange membership. If a role's row says "no financial account numbers", the query for that role must be unable to return them. A copy-only promise is a compliance defect.
3 · An invite grants read scope; it never grants signing authority. A CPA, attorney, lender, seller or buyer invited here can view what their role scopes and nothing else. No participant may sign, countersign, or approve on the exchanger's behalf — e-signature requires the signer's own authenticated intent (eSign Act / UETA), so no "sign for them" affordance may be built on this surface.
4 · KYC is the first gate and it is per-person. The co-exchanger's KYC Pending pill is real state, not decoration: a co-exchanger completes their own identity verification. Nobody — not the primary exchanger, not a coordinator — can mark another party verified. The pill only clears on a returned verification result.
5 · Gap badges are an honest audit, not a roadmap. Every red Gap on the Touchpoint Map states a notification the platform does not send today. They stay red until the corresponding Vectr workflow exists. Never render a gap as covered.
6 · Every invite state change writes an audit entry. Sent, reminded, expired, accepted and revoked are each an audit-log row plus a durable participant-invite-notify workflow step — the lifecycle shown here is the workflow's real state machine, not a UI animation.
7 · Tokens only. No raw hex in the implementation. Every colour on this surface resolves through tokens.css; text on any filled control uses that control's -on token (--hub-on, --admin-on) because white fails AA on the dark-theme fills. --ink-4 is icons, rules and disabled glyphs only — never body text.
Light and dark are both designed here. All parties, addresses, emails and phone numbers are synthetic demo data.