550 lines
4.9 KiB
Markdown
550 lines
4.9 KiB
Markdown
# 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
|
|
```
|