Pipeline de ventas (Deals)
El Pipeline es el corazón del CRM. Presenta los Deals (oportunidades) en un tablero Kanban donde cada columna representa una etapa del proceso de venta.
Rediseño 2026-Q2: el pipeline ahora opera sobre Deals, no sobre Leads. Ver Modelo de entidades.
Etapas predeterminadas
Sección titulada «Etapas predeterminadas»| Etapa | Probabilidad | Descripción |
|---|---|---|
| Prospecto | 10% | Deal recién abierto desde lead calificado |
| Calificación | 25% | Contacto realizado, evaluando necesidades |
| Propuesta | 50% | Cotización enviada al cliente |
| Negociación | 75% | En discusión de términos y condiciones |
Ganado (WON) | 100% | Venta cerrada exitosamente |
Perdido (LOST) | 0% | Oportunidad descartada |
Las etapas son completamente configurables. Se pueden agregar, renombrar, reordenar y ajustar probabilidades según el proceso comercial de cada empresa.

Crear un Deal
Sección titulada «Crear un Deal»Los Deals se crean habitualmente al convertir un Lead calificado (ver Leads). También es posible crear un Deal manualmente sobre un Contact existente:
- Desde CRM → Deals → Nuevo (
Cdesde la lista) o desde el drawer de un Contact → Nuevo Deal. - Completar:
- Nombre: descripción breve de la oportunidad.
- Contact: a quién se le vende (obligatorio).
- Company: empresa del contacto (automático si existe).
- Valor estimado y moneda: respeta
cfg.Country.Currencydel tenant. - Fecha de cierre esperada: para proyecciones y forecast.
- Vendedor (AE): responsable del seguimiento.
- Pipeline y Etapa inicial: normalmente “Prospecto”.
Mover Deals entre etapas
Sección titulada «Mover Deals entre etapas»- Drag-drop: arrastrar la tarjeta de una columna a otra (Kanban).
- Atajos:
[/]mueven el Deal focuseado al stage anterior / siguiente. - Desde el drawer: cambiar el stage en el formulario del Deal.
Cada cambio de stage queda registrado en DealHistory con fecha, usuario, stage anterior/nuevo y origen (UI / API / automation / backfill). Esto alimenta los reportes de velocity.
Tarjeta de Deal (Kanban)
Sección titulada «Tarjeta de Deal (Kanban)»Cada tarjeta muestra:
- Nombre del Deal.
- Contact y Company asociados.
- Valor estimado en moneda base.
- Fecha de cierre esperada (con indicador si está vencida).
- Vendedor asignado (avatar).
- Indicador de actividades pendientes.
Cerrar un Deal
Sección titulada «Cerrar un Deal»- Ganar (
W): pasa aWON,CloseDate = hoy, probabilidad 100%.- El sistema ofrece promocionar el Contact a Cliente contable (si aún no lo es) y generar cotización/factura automática.
- Perder (
X): pasa aLOST, pide razón (reason code). El Contact queda disponible para futuros ciclos de venta.
Métricas del pipeline
Sección titulada «Métricas del pipeline»En la parte superior del tablero se muestran KPIs en tiempo real:
- Valor total del pipeline: suma de Deals
OPEN. - Valor ponderado: suma ponderada por probabilidad de cada stage.
- Deals activos: cantidad total
OPEN. - Tasa de conversión (Win rate):
WON/ (WON+LOST). - Tiempo promedio de cierre: días desde creación hasta
WON/LOST. - Velocity por stage: días promedio en cada etapa (desde
DealHistory).
Filtros y Saved Views
Sección titulada «Filtros y Saved Views»El pipeline se filtra vía SavedViewsBar:
- Vendedor asignado.
- Rango de fechas de cierre.
- Rango de valor estimado.
- Etapa específica.
- Contact / Company.
Vistas guardadas default: “Mis Deals abiertos”, “Deals > $10k”, “Deals vencidos”, “Por cerrar este mes”.
Conversión a factura
Sección titulada «Conversión a factura»Al mover un Deal a Ganado (WON), el sistema:
- Valida que el Contact esté promocionado a
master.Customer(si no, ofrece crear). - Genera una cotización o factura con los datos del Contact/Company y el monto acordado (suma de
DealLine). - El registro pasa al módulo de Facturación manteniendo trazabilidad
DealId → InvoiceId.
Evento emitido al event bus: deal.won con payload { dealId, contactId, companyId, value, currency } — disponible para automations (webhooks, email, Slack).
Atajos (Kanban / Deals)
Sección titulada «Atajos (Kanban / Deals)»| Atajo | Acción |
|---|---|
C | Nuevo Deal |
[ / ] | Mover Deal al stage anterior / siguiente |
W | Marcar como WON |
X | Marcar como LOST (pide razón) |
N | Nueva Activity sobre el Deal |
G + P | Ir al Pipeline Kanban |
G + D | Ir a lista de Deals |
Lista completa: ver Resumen CRM — Atajos.
Flujo del usuario
Sección titulada «Flujo del usuario»Vista no técnica del proceso. Pensada para personal de operación, contabilidad, ventas o administración.
Editable en draw.io: descarga el SVG → en draw.io: File → Import from → Device → selecciona el SVG. Cada nodo queda editable.
Flujo técnico
Sección titulada «Flujo técnico»Vista técnica para desarrolladores: endpoints, stored procedures/funciones, tablas y servicios involucrados.
| Componente | Tipo | Ubicación |
|---|---|---|
GET /v1/crm/pipeline | Route Express | web/api/src/routes/crm/pipeline |
PATCH /v1/crm/deals/:id/stage | Route Express | web/api/src/routes/crm/deals |
GET /v1/crm/pipeline/metrics | Route Express | web/api/src/routes/crm/pipeline |
WS /v1/crm/pipeline/ws | WebSocket Gateway | web/api/src/gateways/crm/ |
usp_CRM_Deal_MoveStage | Stored procedure dual PG + MSSQL | web/api/sqlweb-pg/includes/sp/ |
usp_CRM_Pipeline_Get | Stored procedure dual PG + MSSQL | web/api/sqlweb-pg/includes/sp/ |
usp_CRM_Pipeline_Metrics | Stored procedure dual PG + MSSQL | web/api/sqlweb-pg/includes/sp/ |
usp_CRM_Stage_Velocity | Stored procedure dual PG + MSSQL | web/api/sqlweb-pg/includes/sp/ |
crm.Deal | Tabla operativa | web/api/migrations/postgres/ |
crm.DealHistory | Tabla auditoría velocity | web/api/migrations/postgres/ |
crm.PipelineStage | Tabla configuración etapas | web/api/migrations/postgres/ |
PipelineKanbanPage.tsx | Componente Frontend | web/modular-frontend/packages/module-crm/src/ |
Editable en draw.io: descarga el SVG → File → Import from → Device.