Skip to content
ES

CRM — Overview

The CRM (Customer Relationship Management) module centralizes commercial management: lead capture, qualification, deal pipeline, activities tracking and sales team performance.

2026-Q2 Redesign: the CRM is in the middle of a redesign (phase 1 of the CRM Redesign milestone). The entity model evolved to Company → Contact → Lead / Deal and the UI adopts RightDetailDrawer, CommandPalette and ZenttoRecordTable from the new design system (shared-ui v2). Screenshots will be updated once the new UI ships (tracking: CRM-111 #385).

  • Visual pipeline: Kanban board with configurable stages and drag-drop.
  • Lead management: capture, qualification and conversion to Deals.
  • Contacts and companies (new): first-class entities; one company groups N contacts and N deals.
  • Deals (new): sales opportunities independent from leads, with pipeline, probability, value and close date.
  • Activities: track calls, emails, meetings and follow-ups.
  • Metrics: close probability, estimated value, conversion rate, stage velocity.
  • ERP integration: winning a Deal can promote the Contact to an accounting Customer and generate quote/invoice.
  • Command Palette (Cmd-K): instant cross-entity search.
  • Saved Views: per-user views with filters, columns and density.
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Company │ 1 N │ Contact │ 1 N │ Lead │
│ (B2B company) │───────│ (person) │───────│ (cold prospect) │
└──────────────────┘ └────────┬─────────┘ └────────┬─────────┘
│ 1 │
│ │ convert
│ N ▼
┌────────┴─────────┐ ┌──────────────────┐
│ Deal │◄──────│ ConvertedToDeal │
│ (opportunity) │ └──────────────────┘
└────────┬─────────┘
│ on win (optional)
┌──────────────────┐
│ Accounting │ (master.Customer)
│ Customer + invoice│
└──────────────────┘
  • Company groups N Contacts (B2B). Contact can be individual (B2C) with no Company.
  • Contact is the person. May hold N Leads and N Deals over time.
  • Lead = cold prospect with status NEW / CONTACTED / QUALIFIED / DISQUALIFIED / CONVERTED. Only QUALIFIED leads become Deals.
  • Deal = opportunity in the pipeline with stage, value, probability, close date. Status OPEN / WON / LOST.
  • Customer promotion: the Contact is promoted to an accounting Customer only when a Deal is WON and invoicing is required.

Technical detail: Database schema and ADR-CRM-001 in the zentto-web repository.

Lead captured (NEW)
↓ first contact
Lead CONTACTED
↓ evaluation
Lead QUALIFIED ──→ Create Deal (OPEN)
↓ pipeline (configurable stages)
Deal WON ──→ Promote Contact to Customer ──→ Invoice
Deal LOST ──→ (Contact free for new cycle)
📸 [pending] CRM overview with monthly metrics — added after CRM-111 (#385)
RolePermissions
SDRManage leads, qualify, convert to Deal
AE (Account Executive)Manage own Deals and Contacts
SupervisorSee team Deals, reassign, approve discounts
Sales ManagerFull access, funnel reports, pipeline and source config
  • Invoicing: create quotes/invoices from won Deals (Contact → Customer).
  • Inventory: product availability on DealLine.
  • Accounts Receivable: pending balances of promoted customers.
  • Ecommerce: leads from store forms and landings.
  • Event Bus: lead.created, deal.stage.changed, deal.won, deal.lost.
SectionDescription
PipelineKanban board of Deals
LeadsProspect capture and qualification
ActivitiesCommercial interactions log
Call centerCall queues, scripts, call log
ShortcutAction
Cmd/Ctrl-KOpen command palette (cross-entity search)
CQuick-create primary record
G + L / D / C / O / PGo to Leads / Deals / Contacts / Companies / Pipeline
J / KNavigate rows up / down
EnterOpen record drawer
EscClose drawer / dialog / palette
W / XMark Deal as Won / Lost
[ / ]Move Deal to previous / next stage (Kanban)
?Show keyboard cheat sheet

Full list: see apps/crm/DESIGN.md in the zentto-web repository.