feat(crm): pipeline view, activity timeline, lead flow, and reporting #51

Open
opened 2026-05-12 08:51:04 +00:00 by casper-stevens · 0 comments
Member

Summary

Four CRM features currently missing from hero_biz that are clearly in scope based on existing models and routes.


1. Pipeline / Kanban view for deals

Deals have a list view only. A kanban board grouped by stage is the primary way sales teams manage their pipeline.

  • Add a stage field to the deal model (Prospecting → Qualified → Proposal → Negotiation → Closed Won / Closed Lost)
  • New route /c/{context}/deals/pipeline renders one column per stage
  • Each card: deal name, company, value, owner — links to existing detail page
  • Dragging a card to a new column persists the stage change via POST
  • Keep existing list view; pipeline is an additional route

2. Activity timeline per record

The interactions route exists but is thin. There is no per-record timeline of calls, meetings, and notes.

  • Add an activity log to contact and deal detail pages: chronological feed of interactions linked to that record
  • Support at minimum: Note, Call, Meeting activity types with a timestamp and free-text body
  • New interaction form accessible directly from the contact/deal detail page
  • The comment.rs and interaction models are the foundation — wire them to the detail views

3. Lead → Opportunity conversion flow

opportunity.rs model exists but has no route. Leads are contacts that have not yet been qualified — tracking them separately prevents noise in the main contacts list.

  • New routes /c/{context}/leads (list + new/edit/detail)
  • A "Convert" action on a lead that promotes it to a Contact + creates a linked Opportunity/Deal
  • opportunity.rs should get its own routes and detail page
  • Link opportunities to companies, contacts, and deals

4. Sales reporting

All the data exists in OSIS but there is no reporting surface.

  • Deal pipeline summary: total value and count by stage
  • Won/lost deals by period (month, quarter)
  • Activity summary: number of interactions per rep per week
  • Expose as a /c/{context}/reports page with simple tables/charts
  • No external charting library required — plain HTML tables with totals are sufficient for v1

5. Bulk import / export

  • CSV export for contacts and companies (all fields, UTF-8)
  • CSV import for contacts: map columns, validate, preview before committing
  • Export button on list pages; import via a dedicated /c/{context}/contacts/import route
## Summary Four CRM features currently missing from hero_biz that are clearly in scope based on existing models and routes. --- ## 1. Pipeline / Kanban view for deals Deals have a list view only. A kanban board grouped by stage is the primary way sales teams manage their pipeline. - Add a `stage` field to the deal model (Prospecting → Qualified → Proposal → Negotiation → Closed Won / Closed Lost) - New route `/c/{context}/deals/pipeline` renders one column per stage - Each card: deal name, company, value, owner — links to existing detail page - Dragging a card to a new column persists the stage change via POST - Keep existing list view; pipeline is an additional route --- ## 2. Activity timeline per record The `interactions` route exists but is thin. There is no per-record timeline of calls, meetings, and notes. - Add an activity log to contact and deal detail pages: chronological feed of interactions linked to that record - Support at minimum: Note, Call, Meeting activity types with a timestamp and free-text body - New interaction form accessible directly from the contact/deal detail page - The `comment.rs` and `interaction` models are the foundation — wire them to the detail views --- ## 3. Lead → Opportunity conversion flow `opportunity.rs` model exists but has no route. Leads are contacts that have not yet been qualified — tracking them separately prevents noise in the main contacts list. - New routes `/c/{context}/leads` (list + new/edit/detail) - A "Convert" action on a lead that promotes it to a Contact + creates a linked Opportunity/Deal - `opportunity.rs` should get its own routes and detail page - Link opportunities to companies, contacts, and deals --- ## 4. Sales reporting All the data exists in OSIS but there is no reporting surface. - Deal pipeline summary: total value and count by stage - Won/lost deals by period (month, quarter) - Activity summary: number of interactions per rep per week - Expose as a `/c/{context}/reports` page with simple tables/charts - No external charting library required — plain HTML tables with totals are sufficient for v1 --- ## 5. Bulk import / export - CSV export for contacts and companies (all fields, UTF-8) - CSV import for contacts: map columns, validate, preview before committing - Export button on list pages; import via a dedicated `/c/{context}/contacts/import` route
casper-stevens changed title from feat(deals): pipeline/kanban view for deal stages to feat(crm): pipeline view, activity timeline, lead flow, and reporting 2026-05-12 08:51:51 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_biz#51
No description provided.