Tax Practice AI - Process Flows and State Machines¶
Version 1.0 | December 2024
Overview¶
This document defines the state machines and process flows for the Tax Practice AI system. It provides visual documentation of entity lifecycles and business processes using Mermaid diagram syntax.
Related Documentation: - DATA_MODEL.md - Entity definitions and relationships - ARCHITECTURE.md - System architecture - tax_practice_ai_requirements.md - Full requirements
Table of Contents¶
State Machines: 1. Tax Return Lifecycle 2. Document Lifecycle 3. E-Filing Transmission Lifecycle 4. Identity Verification Lifecycle
Process Flows: 5. End-to-End Tax Return Workflow 6. Document Processing Flow 7. E-Filing and Rejection Handling 8. Client Onboarding Flow
1. Tax Return Lifecycle State Machine¶
The tax return workflow state machine defines all possible states a return can be in and the valid transitions between states.
1.1 State Diagram¶
stateDiagram-v2
[*] --> Intake: Return Created
Intake --> DocumentsPending: First Document Uploaded
DocumentsPending --> DocumentsPending: Additional Documents
DocumentsPending --> ReadyForPrep: All Docs Received
DocumentsPending --> PendingClientResponse: Missing Docs Requested
PendingClientResponse --> DocumentsPending: Client Uploads Docs
PendingClientResponse --> InPrep: Response Received (during prep)
ReadyForPrep --> AIAnalysis: Queued for AI
AIAnalysis --> InPrep: Analysis Complete
AIAnalysis --> NeedsReview: Exception Detected
NeedsReview --> InPrep: Exception Resolved
NeedsReview --> InPrep: Staff Review Complete
InPrep --> PendingClientResponse: Questions Sent to Client
InPrep --> ReadyForReview: Prep Complete
InPrep --> NeedsReview: Issue Found
ReadyForReview --> InReview: Reviewer Assigned
InReview --> Approved: Review Passed
InReview --> RevisionsNeeded: Issues Found
RevisionsNeeded --> InPrep: Preparer Notified
Approved --> PendingFinalQA: Queued for AI QA
PendingFinalQA --> PendingSignature: QA Passed
PendingFinalQA --> RevisionsNeeded: QA Found Issues
PendingSignature --> PendingSignature: Reminder Sent
PendingSignature --> ReadyToFile: 8879 Signed
ReadyToFile --> Filed: Transmitted to IRS
Filed --> Accepted: IRS Accepted
Filed --> Rejected: IRS Rejected
Rejected --> InPrep: Correction Needed
Accepted --> Complete: Deliverables Sent
Complete --> [*]
1.2 State Definitions¶
| State | Progress % | Owner | Description |
|---|---|---|---|
| Intake | 5% | System | Return created, awaiting first document |
| DocumentsPending | 10-30% | Client | Documents being collected |
| PendingClientResponse | Variable | Client | Waiting for client input |
| ReadyForPrep | 35% | System | All docs received, queued for AI |
| AIAnalysis | 40% | System | AI extracting and analyzing |
| InPrep | 50% | Preparer | Active preparation |
| NeedsReview | 50% | Staff | Exception requiring human decision |
| ReadyForReview | 70% | System | Prep complete, awaiting reviewer |
| InReview | 75% | Reviewer | EA/CPA reviewing return |
| RevisionsNeeded | 60% | Preparer | Reviewer requested changes |
| Approved | 82% | System | Review passed, awaiting final QA |
| PendingFinalQA | 85% | System | Overnight Opus batch QA (FUT-002) |
| PendingSignature | 90% | Client | Awaiting Form 8879 signature |
| ReadyToFile | 95% | System | Signed, ready to transmit |
| Filed | 97% | System | Transmitted, awaiting IRS |
| Accepted | 100% | System | IRS accepted |
| Rejected | 50% | Preparer | IRS rejected, needs correction |
| Complete | 100% | System | All deliverables provided |
1.3 Valid Transitions¶
| From State | To State | Trigger | Actor |
|---|---|---|---|
| Intake | DocumentsPending | First document uploaded | System |
| DocumentsPending | ReadyForPrep | Checklist complete | System |
| DocumentsPending | PendingClientResponse | Missing doc request sent | System |
| PendingClientResponse | DocumentsPending | Document received | Client |
| PendingClientResponse | InPrep | Response received (during prep) | Client |
| ReadyForPrep | AIAnalysis | Batch processing starts | System |
| AIAnalysis | InPrep | Analysis complete | System |
| AIAnalysis | NeedsReview | Exception detected | System |
| NeedsReview | InPrep | Issue resolved | Staff |
| InPrep | PendingClientResponse | Question sent | Preparer |
| InPrep | ReadyForReview | Prep marked complete | Preparer |
| InPrep | NeedsReview | Issue found | Preparer |
| ReadyForReview | InReview | Reviewer starts review | Reviewer |
| InReview | Approved | Review passed | Reviewer |
| InReview | RevisionsNeeded | Issues found | Reviewer |
| RevisionsNeeded | InPrep | Preparer notified | System |
| Approved | PendingFinalQA | Queued for overnight QA | System |
| PendingFinalQA | PendingSignature | QA passed (no issues) | System |
| PendingFinalQA | RevisionsNeeded | QA found issues | System |
| PendingSignature | ReadyToFile | 8879 signed | Client |
| ReadyToFile | Filed | Transmission complete | System |
| Filed | Accepted | IRS acknowledgement | IRS |
| Filed | Rejected | IRS rejection | IRS |
| Rejected | InPrep | Correction assigned | System |
| Accepted | Complete | All deliverables sent | System |
2. Document Lifecycle State Machine¶
Documents progress through upload, security scanning, classification, extraction, and verification.
2.1 State Diagram¶
stateDiagram-v2
[*] --> Uploaded: Document Received
Uploaded --> Scanning: Malware Scan Started
Scanning --> Quarantined: Malware Detected
Scanning --> Classifying: Scan Clean
Quarantined --> [*]: Rejected
Classifying --> Classified: Type Determined
Classifying --> UnknownType: Cannot Classify
UnknownType --> Classified: Manual Classification
Classified --> Extracting: Extraction Started
Extracting --> Extracted: Extraction Complete
Extracting --> ExtractionFailed: Cannot Extract
ExtractionFailed --> ManualEntry: Queue for Manual
Extracted --> HighConfidence: Score >= 0.95
Extracted --> MediumConfidence: Score 0.70-0.94
Extracted --> LowConfidence: Score < 0.70
HighConfidence --> AutoVerified: Native PDF Match
HighConfidence --> Verified: Spot Check Passed
MediumConfidence --> PendingReview: Staff Review Queue
LowConfidence --> ManualEntry: Requires Manual Entry
PendingReview --> Verified: Staff Approved
PendingReview --> ManualEntry: Corrections Needed
ManualEntry --> Verified: Data Entered
AutoVerified --> Verified: Mark Complete
Verified --> [*]: Processing Complete
2.2 State Definitions¶
| State | Description | Next Actions |
|---|---|---|
| Uploaded | Document received, pending security | Malware scan |
| Scanning | Malware scan in progress | Wait for result |
| Quarantined | Malware detected | Alert staff, reject |
| Classifying | AI determining document type | Assign type |
| UnknownType | Cannot auto-classify | Manual classification |
| Classified | Type assigned | Begin extraction |
| Extracting | AI/SurePrep extracting data | Wait for result |
| ExtractionFailed | Extraction unsuccessful | Manual entry |
| Extracted | Raw extraction complete | Confidence check |
| HighConfidence | Score >= 0.95 | Auto-verify or spot check |
| MediumConfidence | Score 0.70-0.94 | Staff review |
| LowConfidence | Score < 0.70 | Manual entry |
| AutoVerified | Native PDF auto-verified | Mark complete |
| PendingReview | In staff review queue | Staff action |
| ManualEntry | Requires manual data entry | Staff action |
| Verified | All data verified | Ready for use |
2.3 Confidence Thresholds¶
| Confidence Level | Score Range | Action |
|---|---|---|
| HIGH | >= 0.95 | Auto-verify if native PDF, otherwise spot check |
| GOOD | 0.85 - 0.94 | Spot check recommended |
| MODERATE | 0.70 - 0.84 | Staff review required |
| LOW | 0.50 - 0.69 | Manual entry required |
| VERY_LOW | < 0.50 | Manual entry required |
3. E-Filing Transmission State Machine¶
The e-filing process from queue through IRS acceptance or rejection handling.
3.1 State Diagram¶
stateDiagram-v2
[*] --> Queued: Return Approved & Signed
Queued --> Transmitting: Batch Started
Transmitting --> Transmitted: Submission Sent
Transmitting --> TransmissionError: Network/API Failure
TransmissionError --> Queued: Retry Scheduled
TransmissionError --> ManualIntervention: Max Retries Exceeded
Transmitted --> AwaitingAck: Polling Started
AwaitingAck --> Accepted: IRS Accepted
AwaitingAck --> Rejected: IRS Rejected
AwaitingAck --> Pending: IRS Processing
AwaitingAck --> Stuck: 48hr No Response
Pending --> AwaitingAck: Continue Polling
Stuck --> AwaitingAck: Manual Check
Stuck --> ManualIntervention: Cannot Resolve
ManualIntervention --> Queued: Issue Resolved
Accepted --> [*]: Filing Complete
Rejected --> AnalyzingRejection: Parse Error Codes
AnalyzingRejection --> AutoCorrect: Technical Error
AnalyzingRejection --> PrepReview: Data Error
AnalyzingRejection --> FraudReview: Duplicate/Fraud
AutoCorrect --> Queued: Correction Applied
PrepReview --> ClientContact: Need Client Info
PrepReview --> Queued: Preparer Corrected
ClientContact --> PrepReview: Info Received
FraudReview --> EACPAReview: Escalate
EACPAReview --> Queued: Legitimate Return
EACPAReview --> Closed: Fraud Confirmed
Closed --> [*]: Case Closed
3.2 State Definitions¶
| State | Description | Auto-Transition |
|---|---|---|
| Queued | Ready for transmission | Yes, batch processing |
| Transmitting | API call in progress | Yes, on completion |
| TransmissionError | Network/API failure | Yes, retry after delay |
| Transmitted | Successfully sent to IRS | Yes, begin polling |
| AwaitingAck | Polling for IRS response | Yes, every 6 hours |
| Pending | IRS still processing | Yes, continue polling |
| Stuck | No response after 48 hours | No, alert staff |
| ManualIntervention | Requires human action | No |
| Accepted | IRS accepted return | Yes, notify client |
| Rejected | IRS rejected return | Yes, analyze |
| AnalyzingRejection | Parsing error codes | Yes |
| AutoCorrect | Auto-correctable error | Yes |
| PrepReview | Preparer must review | No |
| ClientContact | Need client information | No |
| FraudReview | Potential fraud indicator | No |
| EACPAReview | EA/CPA escalation | No |
| Closed | Case closed (fraud) | Terminal |
3.3 Rejection Categories¶
| Category | Description | Resolution Path |
|---|---|---|
| data_mismatch | SSN/name/DOB mismatch | Preparer review, client contact |
| missing_info | Required field missing | Auto-correct if possible |
| duplicate | Return already filed | Fraud review |
| technical | Format/schema error | Auto-correct |
| fraud_indicator | IRS fraud flag | EA/CPA escalation |
4. Identity Verification State Machine¶
Tiered identity verification for returning and new clients.
4.1 State Diagram¶
stateDiagram-v2
[*] --> Initiated: Verification Started
Initiated --> Tier1: Returning Client
Initiated --> Tier2: New Client
state Tier1 {
[*] --> CheckPriorYearAGI
CheckPriorYearAGI --> AGIMatch: Match
CheckPriorYearAGI --> AGIFail: No Match
AGIMatch --> SecurityQuestion
SecurityQuestion --> Tier1Pass: Correct
SecurityQuestion --> MagicLink: Incorrect
AGIFail --> MagicLink
MagicLink --> MagicLinkVerified: Link Clicked
MagicLink --> MagicLinkExpired: 24hr Timeout
MagicLinkVerified --> Tier1Pass
MagicLinkExpired --> [*]
Tier1Pass --> [*]
}
Tier1 --> Verified: Tier1Pass
Tier1 --> Tier2: Tier1 Failed
state Tier2 {
[*] --> EmailVerify
EmailVerify --> PhoneVerify: Email Confirmed
PhoneVerify --> IDUpload: Phone Confirmed
IDUpload --> PersonaAnalysis: ID Uploaded
PersonaAnalysis --> Tier2Pass: Score >= 90%
PersonaAnalysis --> StaffReview: Score 70-89%
PersonaAnalysis --> Tier2Fail: Score < 70%
StaffReview --> Tier2Pass: Approved
StaffReview --> Tier2Fail: Denied
Tier2Pass --> [*]
Tier2Fail --> [*]
}
Tier2 --> Verified: Tier2Pass
Tier2 --> Tier3Options: Tier2 Failed
state Tier3 {
[*] --> ChooseMethod
ChooseMethod --> VideoCall: Client Choice
ChooseMethod --> InPerson: Client Choice
ChooseMethod --> Notarized: Client Choice
VideoCall --> MeetScheduled
MeetScheduled --> MeetCompleted: Call Done
MeetScheduled --> MeetNoShow: No Show
MeetCompleted --> VideoVerified: Confirmed
MeetCompleted --> VideoFailed: Not Confirmed
MeetNoShow --> ChooseMethod: Reschedule
InPerson --> InPersonScheduled
InPersonScheduled --> InPersonVerified: Confirmed
InPersonScheduled --> InPersonFailed: Not Confirmed
Notarized --> AwaitingDocument
AwaitingDocument --> NotarizedVerified: Valid Document
AwaitingDocument --> NotarizedFailed: Invalid
VideoVerified --> [*]
VideoFailed --> [*]
InPersonVerified --> [*]
InPersonFailed --> [*]
NotarizedVerified --> [*]
NotarizedFailed --> [*]
}
Tier3Options --> Tier3
Tier3 --> Verified: Tier3 Passed
Tier3 --> Denied: Tier3 Failed
Verified --> [*]: Success
Denied --> [*]: Failure
4.2 Tier Definitions¶
| Tier | Target | Methods | Friction Level |
|---|---|---|---|
| Tier 1 | Returning clients | Prior year AGI + Security Q + Magic link | Low (< 30 sec) |
| Tier 2 | New clients | Email + Phone + Government ID | Medium (2-3 min) |
| Tier 3 | High risk | Video call, In-person, Notarized | High (varies) |
4.3 Tier 3 Triggers¶
| Trigger | Description |
|---|---|
| Refund > $5,000 to new bank | Large refund to unknown account |
| Persona score 70-89% | Moderate identity confidence |
| Fraud indicators | Flags from Persona analysis |
| Tier 2 failure | Failed standard verification |
| Client request | Client prefers higher assurance |
5. End-to-End Tax Return Workflow¶
Complete process flow from client intake through return completion.
5.1 Process Flow Diagram¶
flowchart TB
subgraph INTAKE["1. Client Intake"]
A[Client Contacts Firm] --> B{New or Returning?}
B -->|New| C[Create Client Record]
B -->|Returning| D[Retrieve Client Record]
C --> E[Conflict Check]
D --> E
E --> F{Conflict?}
F -->|Yes| G[Human Review]
G -->|Waived| H[Document Waiver]
G -->|Declined| Z1[End - Decline]
F -->|No| H
H --> I[Generate Engagement Letter]
I --> J[Send for Signature]
J --> K{Signed?}
K -->|No| L[Send Reminder]
L --> K
K -->|Yes| M[Store Signed Engagement]
end
subgraph VERIFY["2. Identity Verification"]
M --> N[Identity Verification]
N --> O{Verified?}
O -->|Yes| P[Form 7216 if Needed]
O -->|No| Q[Escalate to Tier 3]
Q --> O
P --> R[Client Onboarded]
end
subgraph DOCS["3. Document Collection"]
R --> S[Generate Doc Checklist]
S --> T[Create SmartVault Folder]
T --> U[Send Checklist to Client]
U --> V[Client Uploads Documents]
V --> W[Retrieve from SmartVault]
W --> X[Process Each Document]
X --> Y{All Docs Received?}
Y -->|No| AA[Send Missing Doc Request]
AA --> V
Y -->|Yes| AB[Mark Ready for Prep]
end
subgraph AIANALYSIS["4. AI Analysis"]
AB --> AC[Queue for AI Analysis]
AC --> AD[Extract All Documents]
AD --> AE[Compare to Prior Year]
AE --> AF[Flag Anomalies]
AF --> AG[Generate Client Questions]
AG --> AH[Create Preparer Summary]
AH --> AIA[Mark AI Complete]
end
subgraph PREP["5. Tax Preparation"]
AIA --> AJ[Assign to Preparer]
AJ --> AK[Preparer Reviews AI Output]
AK --> AL{Questions for Client?}
AL -->|Yes| AM[Send Questions via Portal]
AM --> AN[Client Responds]
AN --> AK
AL -->|No| AO{Ready for Review?}
AO -->|No| AK
AO -->|Yes| AP[Submit for Review]
end
subgraph REVIEW["6. Review & Approval"]
AP --> AQ[Assign to Reviewer]
AQ --> AR[EA/CPA Reviews Return]
AR --> AS{Approved?}
AS -->|No| AT[Return for Revisions]
AT --> AK
AS -->|Yes| AU[Final Approval]
end
subgraph DELIVERY["7. Client Delivery"]
AU --> AV[Generate Return Package]
AV --> AW[Generate Form 8879]
AW --> AX[Generate Invoice]
AX --> AY[Generate Est Tax Vouchers]
AY --> AZ[Send via Google Workspace]
AZ --> BA{All Signed?}
BA -->|No| BB[Send Signature Reminder]
BB --> BA
BA -->|Yes| BC[Retrieve Signed Documents]
BC --> BD[Process Payment]
end
subgraph FILING["8. E-Filing"]
BD --> BE[Queue for E-Filing]
BE --> BF[Transmit to IRS/State]
BF --> BG{Status?}
BG -->|Accepted| BH[Store Confirmation]
BG -->|Rejected| BI[Handle Rejection]
BI --> BJ{Auto-Fix?}
BJ -->|Yes| BE
BJ -->|No| AK
BH --> BK[Notify Client of Acceptance]
end
subgraph COMPLETE["9. Completion"]
BK --> BL[Generate Calendar Events]
BL --> BM[Schedule Est Tax Reminders]
BM --> BN[Archive to Cold Storage]
BN --> BO[Mark Complete]
BO --> Z2[End - Success]
end
5.2 Swim Lane Summary¶
| Phase | Key Activities | Primary Actor |
|---|---|---|
| 1. Client Intake | Conflict check, engagement letter | System/Staff |
| 2. Identity Verification | Tiered verification | Client/System |
| 3. Document Collection | Upload, classify, track | Client/System |
| 4. AI Analysis | Extract, compare, flag | System (AI) |
| 5. Tax Preparation | Prepare, questions, resolve | Preparer |
| 6. Review & Approval | EA/CPA review, approve | Reviewer |
| 7. Client Delivery | Package, signatures, payment | Client/System |
| 8. E-Filing | Transmit, monitor, handle | System |
| 9. Completion | Notify, archive, reminders | System |
6. Document Processing Flow¶
Detailed flow for processing uploaded tax documents.
6.1 Process Flow Diagram¶
flowchart TB
subgraph UPLOAD["1. Upload Phase"]
A[Document Received] --> B{Source?}
B -->|SmartVault| C[SmartVault Webhook]
B -->|Portal| D[Direct Upload API]
B -->|Email| E[Secure Email Parser]
C --> F[Retrieve from SmartVault API]
D --> F
E --> F
F --> G[Store in S3]
end
subgraph SECURITY["2. Security Phase"]
G --> H[Queue for Malware Scan]
H --> I[Scan Document]
I --> J{Clean?}
J -->|No| K[Quarantine Document]
K --> L[Alert Staff]
L --> Z1[End - Quarantined]
J -->|Yes| M[Update Status: Clean]
end
subgraph CLASSIFY["3. Classification Phase"]
M --> N[AI Classification]
N --> O{Type Identified?}
O -->|No| P[Add to Manual Queue]
P --> Q[Staff Classifies]
Q --> R[Update Document Type]
O -->|Yes| R
R --> S[Link to Tax Return]
end
subgraph EXTRACT["4. Extraction Phase"]
S --> T{Document Type?}
T -->|Standard Tax Form| U[Send to SurePrep]
T -->|Other| V[Internal AI Extraction]
U --> W[Create SurePrep Binder]
W --> X[Upload to SurePrep]
X --> Y[Wait for Processing]
Y --> AA[Retrieve Extracted Data]
V --> AB[Claude Bedrock Extraction]
AA --> AC[Map to Internal Schema]
AB --> AC
end
subgraph VALIDATE["5. Validation Phase"]
AC --> AD[Calculate Confidence Score]
AD --> AE{Confidence Level?}
AE -->|High >= 0.95| AF{Native PDF?}
AF -->|Yes| AG[Auto-Verify]
AF -->|No| AH[Spot Check Queue]
AE -->|Medium 0.70-0.94| AI[Staff Review Queue]
AE -->|Low < 0.70| AJ[Manual Entry Queue]
AH --> AK[Staff Spot Check]
AK --> AL{Approved?}
AL -->|Yes| AM[Mark Verified]
AL -->|No| AJ
AI --> AN[Staff Full Review]
AN --> AO{Approved?}
AO -->|Yes| AM
AO -->|No| AJ
AJ --> AP[Staff Manual Entry]
AP --> AM
AG --> AM
end
subgraph COMPLETE["6. Completion Phase"]
AM --> AQ[Link Extraction to Return]
AQ --> AR[Update Return Progress]
AR --> AS[Update Document Checklist]
AS --> AT{All Docs Complete?}
AT -->|Yes| AU[Transition: Ready for Prep]
AT -->|No| AV[Wait for More Docs]
AU --> Z2[End - Ready]
AV --> Z3[End - Waiting]
end
6.2 Document Type Routing¶
| Document Type | Extraction Method | Typical Confidence |
|---|---|---|
| W-2 | SurePrep | 90-99% |
| 1099 series | SurePrep | 85-99% |
| K-1 | SurePrep | 70-95% |
| 1098 series | SurePrep | 90-99% |
| Bank statements | Internal AI | 60-85% |
| Brokerage statements | SurePrep + AI | 70-90% |
| ID documents | Persona | 80-99% |
| Other | Internal AI | 50-80% |
7. E-Filing and Rejection Handling Flow¶
Detailed process for e-file transmission and rejection resolution.
7.1 Process Flow Diagram¶
flowchart TB
subgraph PREFLIGHT["1. Pre-Filing Checks"]
A[Return Approved] --> B[Verify 8879 Signed]
B --> C{Signed?}
C -->|No| D[Send Signature Reminder]
D --> C
C -->|Yes| E[Validate Return Data]
E --> F[Check Required Fields]
F --> G{Valid?}
G -->|No| H[Fix Validation Errors]
H --> E
G -->|Yes| I[Queue for Transmission]
end
subgraph TRANSMIT["2. Transmission"]
I --> J[Select Transmitter]
J --> K[Format for MeF]
K --> L[Transmit Federal]
L --> M{Success?}
M -->|No| N{Retry Count < 3?}
N -->|Yes| O[Wait and Retry]
O --> L
N -->|No| P[Alert Staff]
M -->|Yes| Q{State Returns?}
Q -->|Yes| R[Transmit Each State]
R --> S[Store All Submission IDs]
Q -->|No| S
end
subgraph MONITOR["3. Status Monitoring"]
S --> T[Start Polling Job]
T --> U[Query IRS Status]
U --> V{Status?}
V -->|Pending| W[Wait 6 Hours]
W --> U
V -->|Accepted| X[Process Acceptance]
V -->|Rejected| Y[Process Rejection]
V -->|No Response 48hr| Z[Alert Staff - Stuck]
Z --> AA[Manual Investigation]
AA --> U
end
subgraph ACCEPT["4. Acceptance Flow"]
X --> AB[Store Confirmation Number]
AB --> AC[Update Return Status]
AC --> AD[Create Audit Record]
AD --> AE[Send Client Email]
AE --> AF[Upload to SmartVault]
AF --> AG[End - Accepted]
end
subgraph REJECT["5. Rejection Flow"]
Y --> AH[Parse Error Codes]
AH --> AI[Categorize Rejection]
AI --> AJ{Category?}
AJ -->|Technical| AK[Identify Fix]
AK --> AL{Auto-Fixable?}
AL -->|Yes| AM[Apply Fix]
AM --> I
AL -->|No| AN[Assign to Preparer]
AJ -->|Data Mismatch| AN
AN --> AO[Preparer Reviews]
AO --> AP{Need Client Info?}
AP -->|Yes| AQ[Send Question to Client]
AQ --> AR[Client Responds]
AR --> AS[Apply Correction]
AP -->|No| AS
AS --> I
AJ -->|Duplicate| AT[Flag for Fraud Review]
AT --> AU[EA/CPA Reviews]
AU --> AV{Legitimate?}
AV -->|Yes| AO
AV -->|No| AW[Document Fraud Case]
AW --> AX[Contact Client]
AX --> AY[Close Case]
AY --> AZ[End - Fraud]
end
7.2 Rejection Categories and Handling¶
| Category | Example Codes | Auto-Fix? | Resolution Path |
|---|---|---|---|
| Technical | SEIC-F1040-535 | Often | Fix format, resubmit |
| Data Mismatch | IND-031 (SSN) | No | Verify with client |
| Missing Info | FPYMT-F1040-905 | Sometimes | Add missing data |
| Duplicate | R0000-902 | No | Fraud investigation |
| Fraud Indicator | Various | No | EA/CPA escalation |
7.3 Polling Schedule¶
| Period | Frequency | Rationale |
|---|---|---|
| First 24 hours | Every 2 hours | Quick initial response |
| 24-48 hours | Every 6 hours | Standard monitoring |
| 48+ hours | Alert staff | Unusual delay |
| Tax season peak | Every 4 hours | Higher volume |
8. Client Onboarding Flow¶
New client registration through first document upload.
8.1 Process Flow Diagram¶
flowchart TB
subgraph INITIAL["1. Initial Contact"]
A[New Client Inquiry] --> B[Collect Basic Info]
B --> C[Create Prospect Record]
C --> D[Run Conflict Check]
D --> E{Conflict?}
E -->|Yes| F[Review Conflict]
F --> G{Proceed?}
G -->|No| H[Decline Engagement]
H --> Z1[End - Declined]
G -->|Yes| I[Document Conflict Waiver]
E -->|No| J[No Conflict Found]
I --> J
end
subgraph ENGAGE["2. Engagement"]
J --> K[Select Engagement Template]
K --> L[Generate Engagement Letter]
L --> M[Generate Form 7216 if Needed]
M --> N[Create Signature Package]
N --> O[Send via Google Workspace]
O --> P{Signed?}
P -->|No| Q[Send Reminder - Day 3]
Q --> R{Signed?}
R -->|No| S[Send Reminder - Day 7]
S --> T{Signed?}
T -->|No| U[Call Client]
U --> P
R -->|Yes| V[Store Signed Documents]
T -->|Yes| V
P -->|Yes| V
end
subgraph VERIFY["3. Identity Verification"]
V --> W[Initiate Verification]
W --> X{New Client?}
X -->|Yes| Y[Tier 2 Verification]
X -->|No| Z[Tier 1 Verification]
Z --> AA{Passed?}
AA -->|Yes| AB[Verification Complete]
AA -->|No| Y
Y --> AC{Passed?}
AC -->|Yes| AB
AC -->|No| AD[Offer Tier 3 Options]
AD --> AE[Client Chooses Method]
AE --> AF[Complete Tier 3]
AF --> AG{Passed?}
AG -->|Yes| AB
AG -->|No| AH[Decline - Cannot Verify]
AH --> Z2[End - Verification Failed]
end
subgraph SETUP["4. Account Setup"]
AB --> AI[Convert Prospect to Client]
AI --> AJ[Assign Account Number]
AJ --> AK[Create SmartVault Structure]
AK --> AL[Create Tax Return Record]
AL --> AM[Generate Document Checklist]
AM --> AN[Send Welcome Package]
end
subgraph COLLECT["5. Initial Collection"]
AN --> AO[Client Receives Instructions]
AO --> AP[Client Uploads First Document]
AP --> AQ[Process Document]
AQ --> AR[Update Progress]
AR --> AS[Send Confirmation]
AS --> AT[End - Onboarding Complete]
end
8.2 Onboarding Timeline¶
| Step | Target Time | Escalation |
|---|---|---|
| Initial contact | Day 0 | - |
| Engagement sent | Day 0 | - |
| First signature reminder | Day 3 | - |
| Second signature reminder | Day 7 | - |
| Phone follow-up | Day 10 | - |
| Engagement timeout | Day 14 | Close prospect |
| Identity verification | Same day | Tier escalation |
| Welcome package | After verification | - |
| First document | Day 1-7 | Missing doc reminder |
8.3 SmartVault Folder Structure¶
/Clients/{ClientName}/
├── Tax Year {year}/
│ ├── Source Documents/
│ │ ├── W-2/
│ │ ├── 1099/
│ │ ├── K-1/
│ │ ├── Other Income/
│ │ ├── Deductions/
│ │ └── Other/
│ ├── Final Returns/
│ │ ├── Federal/
│ │ └── State/
│ ├── Engagement/
│ └── Correspondence/
└── Permanent/
├── ID Documents/
└── Prior Returns/
Appendix: Progress Percentage by State¶
| Workflow State | Progress % | Criteria |
|---|---|---|
| Intake | 5% | Return created |
| DocumentsPending | 10% + (docs_received/docs_expected × 20%) | Based on checklist |
| PendingClientResponse | Previous + 5% | Waiting for client |
| ReadyForPrep | 35% | All docs received |
| AIAnalysis | 40% | AI processing |
| InPrep | 50% | Active preparation |
| NeedsReview | 50% | Exception handling |
| ReadyForReview | 70% | Prep complete |
| InReview | 75% | Under review |
| RevisionsNeeded | 60% | Revisions requested |
| Approved | 82% | Review passed |
| PendingFinalQA | 85% | Overnight AI QA |
| PendingSignature | 90% | Awaiting signature |
| ReadyToFile | 95% | Ready to transmit |
| Filed | 97% | Transmitted |
| Accepted | 100% | IRS accepted |
| Rejected | 50% | Needs correction |
| Complete | 100% | All done |
Last updated: December 2025
Document History: | Version | Date | Changes | |---------|------|---------| | 1.1 | 2025-12-25 | Added PendingFinalQA state for FUT-002 tiered validation. Cross-referenced with AI_DELEGATION_STRATEGY.md. | | 1.0 | 2024-12 | Initial version |