Ir al contenido
EN

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, CommandPalette y ZenttoRecordTable del nuevo design system (shared-ui v2). Las capturas de pantalla se actualizarán cuando el nuevo UI llegue a producción (tracking: CRM-111 #385).

  • 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.
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 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 los QUALIFIED se 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 Cliente contable 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.

Lead capturado (NEW)
↓ primer contacto
Lead CONTACTED
↓ evaluación
Lead QUALIFIED ──→ Crear Deal (OPEN)
↓ pipeline (stages configurables)
Deal WON ──→ Promocionar Contact a Cliente ──→ Factura
Deal LOST ──→ (Contact queda disponible para otro ciclo)

Dashboard principal del módulo CRM con métricas de ventas del mes

RolPermisos
SDR (Sales Development)Ver y gestionar leads, calificarlos, convertir a Deal
Vendedor / AE (Account Executive)Ver y gestionar sus propios Deals y Contacts
SupervisorVer Deals de su equipo, reasignar, aprobar descuentos
Gerente comercialAcceso total, reportes funnel, configuración de pipeline y fuentes

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.lost disponibles para automations.
SecciónDescripción
PipelineTablero Kanban de Deals (oportunidades)
LeadsGestión y calificación de prospects
ActividadesSeguimiento de interacciones comerciales
Call centerColas de llamadas, scripts, log de llamadas

El CRM adopta los atajos globales del nuevo design system. Los más usados:

AtajoAcción
Cmd/Ctrl-KAbrir command palette (búsqueda cross-entity)
CQuick-create del registro primario de la página
G + L / D / C / O / PIr a Leads / Deals / Contacts / Companies / Pipeline
J / KNavegar filas arriba / abajo
EnterAbrir drawer lateral del registro
EscCerrar drawer / dialog / palette
W / XMarcar 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.

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.

Flujo del usuario — CRM · Resumen

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.

Vista de arquitectura del módulo: capas Cliente → API → Stored Procedures → Persistencia. Audiencia: desarrolladores e integradores.

Flujo técnico — CRM · Resumen

ComponenteTipoUbicación
module-crmMicro-frontend Next.jsweb/modular-frontend/packages/module-crm
ZenttoRecordTable · RightDetailDrawer · CommandPaletteComponentes UI@zentto/shared-ui v2
/v1/crm/companies · /contacts · /leads · /deals · /activitiesRoutes Expressweb/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.* schemasTablas operativasweb/api/migrations/postgres/
master.CustomerTabla cross-schema (al ganar Deal)ERP — master.*
Eventos lead.created, deal.stage.changed, deal.won, deal.lostBus async hacia zentto-notifyrecordatorios + audit

Editable en draw.io: descarga el SVG → File → Import from → Device.