CRM — Resumen
El módulo de CRM (Customer Relationship Management) de Zentto centraliza toda la gestión comercial: desde la captación de leads hasta el cierre de ventas, con seguimiento de actividades y métricas de rendimiento del equipo.
Rediseño 2026-Q2: el CRM está en proceso de rediseño (fase 1 del milestone CRM Redesign). El modelo de entidades evolucionó a Company → Contact → Lead / Deal (ver Modelo de entidades) y la interfaz adopta los patrones
RightDetailDrawer,CommandPaletteyZenttoRecordTabledel nuevo design system (shared-uiv2). Las capturas de pantalla se actualizarán cuando el nuevo UI llegue a producción (tracking: CRM-111 #385).
Características principales
Sección titulada «Características principales»- Pipeline visual: tablero Kanban con etapas configurables y drag-drop.
- Gestión de leads: captación, calificación y conversión a Deals.
- Contactos y empresas (nuevo): entidades de primera clase, una empresa agrupa N contactos y N deals.
- Deals (nuevo): oportunidades comerciales independientes del lead, con pipeline, probabilidad, valor y cierre.
- Actividades: registro de llamadas, emails, reuniones y seguimientos.
- Métricas: probabilidad de cierre, valor estimado, tasa de conversión, velocity por stage.
- Integración ERP: al ganar un Deal, se puede promocionar el Contact a Cliente contable y generar cotización/factura.
- Command Palette (
Cmd-K): búsqueda cross-entity instantánea. - Saved Views: vistas guardadas por usuario con filtros, columnas y densidad.
Modelo de entidades
Sección titulada «Modelo de entidades»┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐│ Company │ 1 N │ Contact │ 1 N │ Lead ││ (empresa B2B) │───────│ (persona) │───────│ (prospect frío) │└──────────────────┘ └────────┬─────────┘ └────────┬─────────┘ │ 1 │ │ │ convierte │ N ▼ ┌────────┴─────────┐ ┌──────────────────┐ │ Deal │◄──────│ ConvertedToDeal │ │ (oportunidad) │ └──────────────────┘ └────────┬─────────┘ │ │ al ganar (opcional) ▼ ┌──────────────────┐ │ Cliente contable │ (master.Customer) │ + factura │ └──────────────────┘- Company agrupa N Contacts. Un mismo contacto puede trabajar en una empresa o ser individual (B2C).
- Contact es la persona. Un contacto puede tener N Leads (si vuelve a interesarse) y N Deals (ciclos recurrentes de venta).
- Lead representa un prospect frío con estado
NEW / CONTACTED / QUALIFIED / DISQUALIFIED / CONVERTED. Solo losQUALIFIEDse convierten a Deal. - Deal es la oportunidad en el pipeline con stage, valor, probabilidad y
cierre. Estado
OPEN / WON / LOST. - Promoción a cliente: el Contact se convierte en
Clientecontable solo cuando un Deal gana y se requiere facturar. Esto evita contaminar la tabla contable con leads fríos sin datos fiscales.
Detalle técnico: Esquema de base de datos y ADR-CRM-001 en el repositorio zentto-web.
Flujo comercial
Sección titulada «Flujo comercial»Lead capturado (NEW) ↓ primer contactoLead CONTACTED ↓ evaluaciónLead QUALIFIED ──→ Crear Deal (OPEN) ↓ pipeline (stages configurables) Deal WON ──→ Promocionar Contact a Cliente ──→ Factura Deal LOST ──→ (Contact queda disponible para otro ciclo)
Roles del equipo comercial
Sección titulada «Roles del equipo comercial»| Rol | Permisos |
|---|---|
| SDR (Sales Development) | Ver y gestionar leads, calificarlos, convertir a Deal |
| Vendedor / AE (Account Executive) | Ver y gestionar sus propios Deals y Contacts |
| Supervisor | Ver Deals de su equipo, reasignar, aprobar descuentos |
| Gerente comercial | Acceso total, reportes funnel, configuración de pipeline y fuentes |
Integración con otros módulos
Sección titulada «Integración con otros módulos»El CRM se conecta con:
- Facturación: generar cotizaciones y facturas desde Deals ganados (promoción Contact → Cliente).
- Inventario: consultar disponibilidad de productos en líneas de Deal (
DealLine). - Cuentas por Cobrar: ver saldos pendientes del cliente promovido.
- Ecommerce: leads desde formularios de la tienda online (landing leads vía X-Tenant-Key).
- Event Bus: eventos
lead.created,deal.stage.changed,deal.won,deal.lostdisponibles para automations.
Secciones del módulo
Sección titulada «Secciones del módulo»| Sección | Descripción |
|---|---|
| Pipeline | Tablero Kanban de Deals (oportunidades) |
| Leads | Gestión y calificación de prospects |
| Actividades | Seguimiento de interacciones comerciales |
| Call center | Colas de llamadas, scripts, log de llamadas |
Atajos de teclado
Sección titulada «Atajos de teclado»El CRM adopta los atajos globales del nuevo design system. Los más usados:
| Atajo | Acción |
|---|---|
Cmd/Ctrl-K | Abrir command palette (búsqueda cross-entity) |
C | Quick-create del registro primario de la página |
G + L / D / C / O / P | Ir a Leads / Deals / Contacts / Companies / Pipeline |
J / K | Navegar filas arriba / abajo |
Enter | Abrir drawer lateral del registro |
Esc | Cerrar drawer / dialog / palette |
W / X | Marcar Deal como Won / Lost |
[ / ] | Mover Deal al stage anterior / siguiente (Kanban) |
? | Mostrar cheat sheet de atajos |
Lista completa: ver apps/crm/DESIGN.md en el repositorio zentto-web.
Flujo del usuario
Sección titulada «Flujo del usuario»Vista no técnica del módulo. Pensada para responsables de ventas y atención al cliente que necesitan entender el ciclo CRM de un vistazo, sin terminología técnica.
Editable en draw.io: descarga el SVG → en draw.io abre File → Import from → Device y selecciona el archivo. Cada caja, texto y flecha queda editable.
Flujo técnico
Sección titulada «Flujo técnico»Vista de arquitectura del módulo: capas Cliente → API → Stored Procedures → Persistencia. Audiencia: desarrolladores e integradores.
| Componente | Tipo | Ubicación |
|---|---|---|
module-crm | Micro-frontend Next.js | web/modular-frontend/packages/module-crm |
ZenttoRecordTable · RightDetailDrawer · CommandPalette | Componentes UI | @zentto/shared-ui v2 |
/v1/crm/companies · /contacts · /leads · /deals · /activities | Routes Express | web/api/src/routes/crm/ |
usp_crm_Company_* · usp_crm_Lead_* · usp_crm_Deal_* · usp_crm_Activity_* | Stored procedures (PG + MSSQL) | web/api/sqlweb-pg/includes/sp/ y web/api/sqlweb/includes/sp/ |
crm.* schemas | Tablas operativas | web/api/migrations/postgres/ |
master.Customer | Tabla cross-schema (al ganar Deal) | ERP — master.* |
Eventos lead.created, deal.stage.changed, deal.won, deal.lost | Bus async hacia zentto-notify | recordatorios + audit |
Editable en draw.io: descarga el SVG → File → Import from → Device.