Ir al contenido

Pipeline Kanban de Oportunidades

El pipeline CRM visualiza las oportunidades activas de ventas organizadas en columnas que representan las etapas del proceso comercial. El tablero permite mover oportunidades entre etapas con arrastre (drag-and-drop) o teclado.

Permiso Descripción
crm.ver Ver el tablero y el detalle de cada oportunidad.
crm.gestionar Crear oportunidades, moverlas entre etapas y cerrarlas.
crm.configurar Crear, editar y reordenar etapas del pipeline; definir motivos de pérdida.

La ruta /crm/pipeline muestra el tablero kanban.

Tablero kanban del pipeline CRM

Elementos del tablero:

  • Columnas: una por cada etapa del pipeline, ordenadas por el campo orden de EtapaPipeline.
  • Tarjetas de oportunidad: muestran nombre, monto estimado, responsable asignado y fecha estimada de cierre.
  • Encabezado de columna: nombre de la etapa, probabilidad asociada (%) y total de oportunidades en esa etapa.
  • Botón “Nueva oportunidad”: en la barra superior, abre el diálogo de creación.
  • Botón “Exportar Oportunidades”: genera CSV/Excel de oportunidades del tenant (token JWT de un solo uso, caduca en 5 minutos).

El tablero incluye instrucciones para usuarios de tecnologías asistivas (lectores de pantalla). Para mover una oportunidad con teclado:

  1. Use Tab para llegar al asa de arrastre de la tarjeta.
  2. Presione Espacio o Enter para iniciar el arrastre.
  3. Use las teclas de flecha para navegar entre etapas.
  4. Presione Espacio o Enter para soltar la oportunidad en la etapa deseada.
  1. Pulse Nueva oportunidad en la barra del tablero.
  2. Complete el formulario (el diálogo de creación se abre sobre el tablero).
  3. Confirme para crear la oportunidad en la etapa inicial seleccionada.

Mover una oportunidad entre etapas (drag-and-drop)

Sección titulada «Mover una oportunidad entre etapas (drag-and-drop)»
  1. Haga clic y mantenga presionado sobre una tarjeta de oportunidad.
  2. Arrastre la tarjeta a la columna de la etapa destino.
  3. Suelte. El sistema ejecuta la transición y registra la duración de la oportunidad en la etapa anterior.

Condiciones para la transición:

  • La oportunidad debe estar en estado ABIERTA.
  • No se pueden mover oportunidades ya en estado GANADA o PERDIDA.
  • El sistema usa un bloqueo optimista (expectedUpdatedAt): si otro usuario modificó la oportunidad mientras estaba siendo arrastrada, el sistema muestra el mensaje “No se pudo mover la oportunidad. Intenta de nuevo.” y el tablero se recarga.

Cada transición se registra en TransicionEtapa con:

  • Etapa de origen y etapa destino.
  • Usuario que realizó el movimiento.
  • Duración en la etapa anterior (en segundos).

Al hacer clic sobre una tarjeta se abre el panel de detalle (OportunidadDetalleDrawer) con:

  • Nombre, descripción, monto estimado, moneda y fecha de cierre estimada.
  • Probabilidad efectiva: usa el campo probabilidadOverride si está definido; de lo contrario, la probabilidad de la etapa.
  • Cliente vinculado (si aplica).
  • Lead de origen (si la oportunidad proviene de un lead convertido).
  • Responsable asignado.
  • Historial de transiciones de etapa.
  • Actividades comerciales vinculadas.

Para oportunidades en estado ABIERTA:

  1. Abra el detalle de la oportunidad.
  2. Pulse Cerrar como Ganada.
  3. Se abre el diálogo CerrarGanadaDialog:
Campo Descripción
Monto final (MXN) Permite ajustar el monto antes del cierre. Pre-llenado con el monto estimado.
Notas (opcional) Comentarios sobre el cierre o próximos pasos.
  1. Pulse Confirmar.

Efecto del cierre:

  • La oportunidad pasa a estado GANADA y se mueve automáticamente a la etapa denominada “Cerrado-Ganado”.
  • Se registra la fecha de cierre (ganadaEn) y el usuario que cerró (cerradaPorUserId).
  • Se genera el evento OportunidadGanadaEvent.
  • La oportunidad deja de aparecer en el tablero activo.
  1. Abra el detalle de la oportunidad.
  2. Pulse Cerrar como Perdida.
  3. Se abre el diálogo CerrarPerdidaDialog:
Campo Descripción
Motivo de pérdida Selección obligatoria de la lista de motivos configurados.
Notas (opcional) Observaciones adicionales.
  1. Pulse Confirmar.

Efecto:

  • La oportunidad pasa a estado PERDIDA.
  • Se registra perdidaEn, motivoPerdidaId y las notas opcionales.
  • El evento OportunidadPerdidaEvent queda registrado en el historial de auditoría.

Las etapas se gestionan en /crm/configuracion → pestaña Etapas del Pipeline (requiere crm.configurar).

Cada etapa tiene:

Atributo Descripción
Nombre Identificador visible de la etapa.
Probabilidad (%) Porcentaje de cierre predeterminado para las oportunidades en esta etapa.
Color hex Color de la columna en el tablero.
Orden Posición de izquierda a derecha en el tablero.

Operaciones disponibles:

  • Crear nueva etapa.
  • Editar nombre, probabilidad y color.
  • Reordenar arrastrando las etapas en el gestor.
  • Eliminar (soft-delete): las oportunidades activas en esa etapa dejan de aparecer en el tablero.

Los motivos de pérdida se gestionan en /crm/configuracion → pestaña Motivos de Pérdida (requiere crm.configurar).

Cada motivo tiene:

  • Nombre del motivo (por ejemplo: “Precio”, “Competencia”, “Sin presupuesto”).
  • Categoría: PRECIO, COMPETENCIA, TIMING, CARACTERISTICAS u OTRO.

Los motivos eliminados permanecen visibles en el historial de oportunidades ya cerradas.

El mismo job diario (09:00 hora Ciudad de México) que procesa leads inactivos también detecta oportunidades en estado ABIERTA sin actividad durante 7 días o más, y envía una notificación al responsable asignado.