# EPICA: EPIC-MGN-014 - CRM Basico ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-MGN-014 | | **Nombre** | CRM Basico | | **Modulo** | crm | | **Fase** | Fase 3 - Extended | | **Prioridad** | P2 | | **Estado** | Backlog | | **Story Points** | 34 | | **Sprint(s)** | Sprint 15-17 | --- ## Descripcion Sistema CRM basico que incluye gestion de leads, oportunidades, pipeline de ventas visual (Kanban), actividades de seguimiento, conversion a cliente y reportes de funnel y forecast. Diseñado para equipos comerciales pequeños y medianos. --- ## Objetivo de Negocio Proveer CRM que: - Capture y califique leads de multiples fuentes - Gestione pipeline de ventas visualmente - Facilite seguimiento de oportunidades con recordatorios - Mejore tasa de conversion con scoring - Analice desempeno comercial con metricas clave --- ## Stakeholders | Rol | Nombre/Equipo | Responsabilidad | |-----|---------------|-----------------| | Product Owner | Equipo Producto | Definicion de funcionalidades comerciales | | Tech Lead | Equipo Backend | Arquitectura y performance | | Gerente Comercial | Ventas | Definicion de pipeline y metricas | | Vendedores | Ventas | Uso diario, feedback UX | --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-MGN014-001 | Como vendedor, quiero capturar leads desde formularios web para alimentar el pipeline | P0 | 5 | Backlog | | US-MGN014-002 | Como vendedor, quiero calificar leads con scoring para priorizar seguimiento | P0 | 3 | Backlog | | US-MGN014-003 | Como vendedor, quiero crear oportunidades desde leads calificados para gestionar el proceso de venta | P0 | 5 | Backlog | | US-MGN014-004 | Como vendedor, quiero gestionar pipeline en vista Kanban para visualizar el estado de mis oportunidades | P0 | 5 | Backlog | | US-MGN014-005 | Como vendedor, quiero registrar actividades de seguimiento para no perder contacto con prospectos | P0 | 3 | Backlog | | US-MGN014-006 | Como vendedor, quiero convertir lead a cliente/partner para iniciar operaciones comerciales | P0 | 3 | Backlog | | US-MGN014-007 | Como gerente, quiero ver reporte de funnel para analizar conversion por etapa | P1 | 5 | Backlog | | US-MGN014-008 | Como gerente, quiero ver forecast de ventas para planificar recursos | P1 | 5 | Backlog | **Total Story Points:** 34 SP --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Captura de leads desde formularios web y API - [ ] Scoring de leads configurable (criterios personalizables) - [ ] Pipeline visual (Kanban) con drag & drop - [ ] Etapas configurables por tenant - [ ] Actividades con tipos (llamada, email, reunion) y recordatorios - [ ] Conversion lead -> partner (cliente/proveedor) - [ ] Conversion oportunidad ganada -> cotizacion - [ ] Reportes de funnel y forecast **No Funcionales:** - [ ] Performance: Kanban carga en < 1s con 500+ oportunidades - [ ] UX: Drag & drop fluido sin lag - [ ] Responsive: Funcional en tablets **Tecnicos:** - [ ] Cobertura de tests > 80% - [ ] API documentada para integraciones - [ ] Webhooks para eventos (lead creado, oportunidad ganada) --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-MGN-005 Catalogs (Partners) | Backlog | Si | | EPIC-MGN-001 Auth | Ready | Si | | EPIC-MGN-004 Tenants | Ready | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | Integracion con EPIC-MGN-013 Sales | Conversion oportunidad a cotizacion | | Integracion con EPIC-MGN-018 WhatsApp | Canal de comunicacion con leads | --- ## Desglose Tecnico **Database:** - [ ] Schema: `core_crm` - [ ] Tablas: 8 (leads, opportunities, stages, activities, activity_types, tags, sources, scoring_rules) - [ ] Funciones: calcular_score, obtener_forecast - [ ] RLS Policies: Si (por tenant y por vendedor asignado) **Backend:** - [ ] Modulo: `crm` - [ ] Entities: 8 (Lead, Opportunity, Stage, Activity, ActivityType, Tag, Source, ScoringRule) - [ ] Endpoints: 20+ - [ ] Services: LeadService, OpportunityService, ActivityService, PipelineService - [ ] Tests: 30+ **Frontend:** - [ ] Paginas: 6 (Leads, LeadDetail, Opportunities, Pipeline, Activities, Reports) - [ ] Componentes: KanbanBoard, LeadCard, OpportunityCard, ActivityTimeline, FunnelChart, ForecastChart - [ ] Stores: 1 (crmStore con slices: leads, opportunities, activities) --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Performance Kanban con muchos datos | Media | Alto | Virtualizacion, paginacion server-side | | Adopcion por usuarios | Media | Medio | UX intuitivo, capacitacion | | Integracion con ventas compleja | Baja | Alto | API clara, documentacion | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] Etapas default del pipeline definidas - [ ] Criterios de scoring default definidos - [x] Sin bloqueadores activos ## Definition of Done (DoD) - [ ] Codigo implementado y revisado - [ ] Tests pasando (unit, integration, e2e) - [ ] Kanban funcional con drag & drop - [ ] Reportes generandose correctamente - [ ] Documentacion actualizada - [ ] Inventarios actualizados - [ ] Trazas registradas - [ ] Demo realizada - [ ] Product Owner aprobo --- ## Documentacion Relacionada - Requerimientos: `docs/03-requerimientos/RF-crm/` - User Stories: `docs/05-user-stories/mgn-014/` - DDL Spec: `docs/04-modelado/database-design/DDL-SPEC-core_crm.md` - Especificaciones: `docs/04-modelado/especificaciones-tecnicas/backend/mgn-014/` --- ## Historial | Fecha | Cambio | Autor | |-------|--------|-------| | 2025-12-05 | Creacion de epica | Requirements-Analyst | | 2025-12-05 | Completado con Stakeholders, Riesgos, DoR/DoD | Requirements-Analyst | --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-05 **Ultima actualizacion:** 2025-12-05