Sales CRM-lite¶
The salesperson role is the underserved persona today. These items make the rep self-sufficient and the manager actually managing.
Related code: app/graphql/quotes/, app/graphql/orders/, app/graphql/salespersons/, app/graphql/clients/.
Items¶
- Pipeline view — open quotes by stage, won/lost, no-touch in N days.
- Acceptance: kanban + list view, per-rep filter, weighted-amount totals.
- Quote follow-up automation — "no response in N days → reminder via configured channel".
- Acceptance: cadence per-tenant; respects per-client default channel; rep can pause.
- Visit planning — nearest clients on a map (uses
addresses/). - Acceptance: map screen, route by proximity, "check-in" log per visit.
- Commission preview mid-month so reps don't wait for close.
- Acceptance: extend
getCommissionPerSalespersonReportwith as-of-today projection. - Mobile-first rep app.
- Acceptance: PWA optimised for one-thumb: search client, draft quote, signature on screen, send by WhatsApp + email immediately.
- Lead inbox (incoming inquiries that aren't yet clients).
- Acceptance: lightweight
Leadmodel; convert-to-client mutation; tracks source. - Quote acceptance link for clients (no login).
- Acceptance: tokenised public URL; client can view, sign on screen, accept; backend creates the order.
- Per-client price book — surface the client-specific discounts you already have.
- Acceptance: client detail tab shows all
items_client_discount_*rows with edit affordance. - Salesperson leaderboards & targets.
- Acceptance: monthly target per rep, vs-actual chart, configurable scope (revenue, gross margin, units).
Shipped¶
None yet.