flowchart TD
%% Actors
Firm[Investment Firm]
PoC[Point of Contact at PortCo]
PortCo[Portfolio Company]
Analyst[PI-HQ Analyst - Carta Staff]
%% Step 1: RFI Submission
Firm -->|1. Submits RFI Request| PortCo
%% Step 2: Email notification
PortCo -->|2. Email notification| PoC
%% Step 2a: Login Decision
PoC -->|2a. Is Carta Company?| LoginDecision{Carta Company?}
LoginDecision -->|Yes| LoggedIn[Logged-in Experience]
LoginDecision -->|No| LoggedOut[Logged-out Experience]
%% Step 3: Upload Portal
LoggedIn --> UploadPortal[3. Upload Portal]
LoggedOut --> UploadPortal
%% Step 3a: Financial Integration Decision
UploadPortal --> FinancialDecision{3a. Has Financial Integration?}
FinancialDecision -->|Yes| FinancialIntegration[Use Financial Integration]
FinancialDecision -->|No| ManualUpload[Manual Upload of Documents]
%% Step 3b: Upload documents and KPIs
FinancialIntegration --> UploadComplete[Documents & KPIs Uploaded]
ManualUpload --> UploadComplete
%% Step 4: RFI Response triggers PI-HQ Task
UploadComplete -->|PoC Responds to RFI| RFIResponse[4. PI-HQ Task Created]
%% Step 4a: Documents available
RFIResponse --> DocsAvailable[4a. Documents Available]
DocsAvailable --> RFIDashboard[Available in RFI Dashboard]
DocsAvailable --> PortCoDocsPage[Available in PortCo Documents Page]
%% Step 4b: Financials tab updated
RFIResponse --> FinancialsUpdated[4b. Financials Tab Updated with KPIs]
%% Step 5: Firm views data
RFIDashboard --> FirmView1[5. Firm Views Documents & Financials]
PortCoDocsPage --> FirmView1
FinancialsUpdated --> FirmView1
FirmView1 --> LimitedData[Limited data if no financial integration]
%% Step 6: Analyst processes source files
RFIResponse --> AnalystWork[6. PI-HQ Analyst Processes Source Files]
AnalystWork --> Templates[6b. Uses Templates & Checkers]
Templates --> NormalizedData[6a. Creates Normalized/Importable Format]
%% Step 7: Data ingestion
NormalizedData -->|7. Upload via Financials Upload| FinancialsService[Shared with Financials Service]
FinancialsService --> CartaEcosystem[Part of Carta Ecosystem]
%% Step 8: Firm sees complete data
CartaEcosystem -->|8. Data Available| FirmView2[Firm Sees Complete PortCo Financials]
%% Step 9: Investor Reports
CartaEcosystem --> Reports[9. Carta Staff Generates Investor Reports]
%% Styling
classDef actor fill:#e1f5ff,stroke:#01579b,stroke-width:2px
classDef process fill:#fff9c4,stroke:#f57f17,stroke-width:2px
classDef decision fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef data fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
class Firm,PoC,PortCo,Analyst actor
class UploadPortal,AnalystWork,Templates,NormalizedData,FinancialsService process
class LoginDecision,FinancialDecision decision
class DocsAvailable,FinancialsUpdated,CartaEcosystem,FirmView2 data