task-k.2
This commit is contained in:
549
plans/task-k.2.md
Normal file
549
plans/task-k.2.md
Normal file
@@ -0,0 +1,549 @@
|
||||
# Task K.2: Pipeline Reports
|
||||
|
||||
## Objective
|
||||
|
||||
Deliver the first production report suite for CRM by providing operational visibility into:
|
||||
|
||||
* Leads
|
||||
* Enquiries
|
||||
* Quotation Conversion
|
||||
* Pipeline Aging
|
||||
|
||||
using the Report Foundation built in Task K.1.
|
||||
|
||||
---
|
||||
|
||||
# Background
|
||||
|
||||
Completed:
|
||||
|
||||
* Lead / Enquiry Ownership Model (D.3)
|
||||
* Lead / Enquiry Navigation Separation (D.3.1)
|
||||
* Won / Lost Governance (D.4)
|
||||
* Dashboard KPI (J)
|
||||
* Report Foundation (K.1)
|
||||
|
||||
Pipeline lifecycle is frozen as:
|
||||
|
||||
```txt
|
||||
Lead
|
||||
→ Enquiry
|
||||
→ Quotation
|
||||
→ Closed Won
|
||||
→ Closed Lost
|
||||
```
|
||||
|
||||
Task K.2 builds reporting on top of this lifecycle.
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.1 Lead Pipeline Report
|
||||
|
||||
Add:
|
||||
|
||||
```txt
|
||||
Lead Pipeline Report
|
||||
```
|
||||
|
||||
Purpose:
|
||||
|
||||
Marketing visibility.
|
||||
|
||||
Metrics:
|
||||
|
||||
```txt
|
||||
Total Leads
|
||||
New Leads
|
||||
Assigned Leads
|
||||
Unassigned Leads
|
||||
Converted Leads
|
||||
```
|
||||
|
||||
Dimensions:
|
||||
|
||||
```txt
|
||||
Lead Source
|
||||
Customer Owner
|
||||
Created By
|
||||
Branch
|
||||
Product Type
|
||||
```
|
||||
|
||||
Filters:
|
||||
|
||||
```txt
|
||||
Date Range
|
||||
Lead Source
|
||||
Branch
|
||||
Product Type
|
||||
Customer Owner
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.2 Lead Aging Report
|
||||
|
||||
Purpose:
|
||||
|
||||
Identify stagnant leads.
|
||||
|
||||
Metrics:
|
||||
|
||||
```txt
|
||||
Lead Count
|
||||
Average Aging Days
|
||||
Maximum Aging Days
|
||||
```
|
||||
|
||||
Buckets:
|
||||
|
||||
```txt
|
||||
0-7 Days
|
||||
8-14 Days
|
||||
15-30 Days
|
||||
31-60 Days
|
||||
60+ Days
|
||||
```
|
||||
|
||||
Drill-down:
|
||||
|
||||
```txt
|
||||
Lead Number
|
||||
Customer
|
||||
Assigned User
|
||||
Created Date
|
||||
Aging Days
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.3 Enquiry Pipeline Report
|
||||
|
||||
Purpose:
|
||||
|
||||
Sales pipeline visibility.
|
||||
|
||||
Metrics:
|
||||
|
||||
```txt
|
||||
Open Enquiries
|
||||
Converted To Quotation
|
||||
Won
|
||||
Lost
|
||||
```
|
||||
|
||||
Dimensions:
|
||||
|
||||
```txt
|
||||
Salesman
|
||||
Branch
|
||||
Product Type
|
||||
Customer Owner
|
||||
```
|
||||
|
||||
Filters:
|
||||
|
||||
```txt
|
||||
Date Range
|
||||
Salesman
|
||||
Branch
|
||||
Product Type
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.4 Enquiry Aging Report
|
||||
|
||||
Purpose:
|
||||
|
||||
Identify stalled opportunities.
|
||||
|
||||
Metrics:
|
||||
|
||||
```txt
|
||||
Open Enquiries
|
||||
Average Aging
|
||||
Maximum Aging
|
||||
```
|
||||
|
||||
Buckets:
|
||||
|
||||
```txt
|
||||
0-14 Days
|
||||
15-30 Days
|
||||
31-60 Days
|
||||
60+ Days
|
||||
```
|
||||
|
||||
Drill-down:
|
||||
|
||||
```txt
|
||||
Enquiry No
|
||||
Customer
|
||||
Salesman
|
||||
Last Follow-Up
|
||||
Aging Days
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.5 Lead → Enquiry Conversion Report
|
||||
|
||||
Purpose:
|
||||
|
||||
Marketing effectiveness.
|
||||
|
||||
Formula:
|
||||
|
||||
```txt
|
||||
Converted Enquiries
|
||||
/
|
||||
Total Leads
|
||||
```
|
||||
|
||||
Show:
|
||||
|
||||
```txt
|
||||
Conversion Rate %
|
||||
```
|
||||
|
||||
Dimensions:
|
||||
|
||||
```txt
|
||||
Lead Source
|
||||
Branch
|
||||
Product Type
|
||||
Marketing User
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.6 Enquiry → Quotation Conversion Report
|
||||
|
||||
Purpose:
|
||||
|
||||
Sales effectiveness.
|
||||
|
||||
Formula:
|
||||
|
||||
```txt
|
||||
Enquiries With Quotation
|
||||
/
|
||||
Total Enquiries
|
||||
```
|
||||
|
||||
Dimensions:
|
||||
|
||||
```txt
|
||||
Salesman
|
||||
Branch
|
||||
Product Type
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.7 Pipeline Funnel Report
|
||||
|
||||
Add dedicated report.
|
||||
|
||||
Stages:
|
||||
|
||||
```txt
|
||||
Lead
|
||||
Enquiry
|
||||
Quotation
|
||||
Closed Won
|
||||
Closed Lost
|
||||
```
|
||||
|
||||
Show:
|
||||
|
||||
```txt
|
||||
Count
|
||||
Value
|
||||
Conversion %
|
||||
```
|
||||
|
||||
Support:
|
||||
|
||||
```txt
|
||||
Date Range
|
||||
Branch
|
||||
Product Type
|
||||
Salesman
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.8 Pipeline Detail Dataset
|
||||
|
||||
Create reusable dataset:
|
||||
|
||||
```txt
|
||||
pipeline-report.dataset.ts
|
||||
```
|
||||
|
||||
Shared by:
|
||||
|
||||
```txt
|
||||
Lead Report
|
||||
Enquiry Report
|
||||
Funnel Report
|
||||
```
|
||||
|
||||
No duplicate SQL.
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.9 Report Pages
|
||||
|
||||
Add:
|
||||
|
||||
```txt
|
||||
/dashboard/crm/reports/pipeline
|
||||
/dashboard/crm/reports/lead-aging
|
||||
/dashboard/crm/reports/enquiry-aging
|
||||
```
|
||||
|
||||
Use:
|
||||
|
||||
```txt
|
||||
Report Foundation
|
||||
Shared Filters
|
||||
Export Foundation
|
||||
```
|
||||
|
||||
from K.1
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.10 Export Support
|
||||
|
||||
All Pipeline Reports support:
|
||||
|
||||
```txt
|
||||
CSV
|
||||
Excel
|
||||
```
|
||||
|
||||
Exports must respect:
|
||||
|
||||
```txt
|
||||
ResolvedReportContext
|
||||
CRM Authorization
|
||||
Branch Scope
|
||||
Product Scope
|
||||
Ownership Scope
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.11 Security
|
||||
|
||||
Marketing:
|
||||
|
||||
Can see:
|
||||
|
||||
```txt
|
||||
Lead Reports
|
||||
Pipeline Reports
|
||||
Outcome Summary
|
||||
```
|
||||
|
||||
Cannot see:
|
||||
|
||||
```txt
|
||||
Quotation Pricing
|
||||
Revenue Values
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Sales:
|
||||
|
||||
Can see:
|
||||
|
||||
```txt
|
||||
Own / Scoped Pipeline
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Managers:
|
||||
|
||||
Can see:
|
||||
|
||||
```txt
|
||||
Team Pipeline
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
CRM Admin:
|
||||
|
||||
Can see:
|
||||
|
||||
```txt
|
||||
Organization-wide Pipeline
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.12 Audit Logging
|
||||
|
||||
Entity:
|
||||
|
||||
```txt
|
||||
crm_report
|
||||
```
|
||||
|
||||
Actions:
|
||||
|
||||
```txt
|
||||
view_pipeline_report
|
||||
export_pipeline_report_csv
|
||||
export_pipeline_report_excel
|
||||
```
|
||||
|
||||
Payload:
|
||||
|
||||
```txt
|
||||
reportCode
|
||||
filters
|
||||
recordCount
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Scope K2.13 Report Definitions
|
||||
|
||||
Register:
|
||||
|
||||
```txt
|
||||
lead_pipeline
|
||||
lead_aging
|
||||
enquiry_pipeline
|
||||
enquiry_aging
|
||||
pipeline_funnel
|
||||
lead_conversion
|
||||
enquiry_conversion
|
||||
```
|
||||
|
||||
in:
|
||||
|
||||
```txt
|
||||
crm_report_definitions
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Verification
|
||||
|
||||
Scenario 1
|
||||
|
||||
```txt
|
||||
Lead
|
||||
→ Assign
|
||||
→ Enquiry
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
```txt
|
||||
Lead Conversion Report updates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Scenario 2
|
||||
|
||||
```txt
|
||||
Enquiry
|
||||
→ Create Quotation
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
```txt
|
||||
Quotation Conversion updates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Scenario 3
|
||||
|
||||
```txt
|
||||
Won
|
||||
Lost
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
```txt
|
||||
Pipeline Funnel updates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Scenario 4
|
||||
|
||||
Marketing User
|
||||
|
||||
Expected:
|
||||
|
||||
```txt
|
||||
No Revenue Values
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Scenario 5
|
||||
|
||||
Sales User
|
||||
|
||||
Expected:
|
||||
|
||||
```txt
|
||||
Scoped Pipeline Only
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Deliverables
|
||||
|
||||
1. Lead Pipeline Report
|
||||
2. Lead Aging Report
|
||||
3. Enquiry Pipeline Report
|
||||
4. Enquiry Aging Report
|
||||
5. Conversion Reports
|
||||
6. Pipeline Funnel Report
|
||||
7. Shared Dataset Layer
|
||||
8. Export Support
|
||||
9. Security Enforcement
|
||||
10. Report Registration
|
||||
|
||||
---
|
||||
|
||||
# Definition of Done
|
||||
|
||||
Task K.2 is complete when:
|
||||
|
||||
* Lead reports work
|
||||
* Enquiry reports work
|
||||
* Funnel report works
|
||||
* Conversion reports work
|
||||
* Aging reports work
|
||||
* Export works
|
||||
* Security works
|
||||
* Audit logging works
|
||||
|
||||
Result:
|
||||
|
||||
```txt
|
||||
Marketing Pipeline Analytics = READY
|
||||
Sales Pipeline Analytics = READY
|
||||
|
||||
Ready for:
|
||||
|
||||
K.3 Outcome Analytics
|
||||
```
|
||||
Reference in New Issue
Block a user