# AS-IS — Comercial

## 1. Resumen ejecutivo (≤10 líneas)

El proceso Comercial de Workmed cubre el ciclo desde la prospección de un cliente afín hasta la entrega de la Orden de Servicio (OS) al área de Agendamiento. Incluye además la valorización mensual de producción y la inteligencia de negocio sobre la cartera. El embudo está en **HubSpot** (negocio → cotización → aceptación), pero NO está integrado con **FlowMed** [Comercial-20260420 1:26, 52:10]. La oferta usa un tarifario congelado hace 2 años con descuentos por volumen 5/10/12% (100/200/500 pacientes) y un catálogo de ~100 baterías base (SUSESO/ACHS/Mutual) más baterías personalizadas por cliente [Comercial-20260420 27:34, 46:28]. La inteligencia comercial se arma en **Power BI** sobre un Excel valorizado por Ignacio Ahumada con un día de desfase. Segmenta ~2.500 empresas sin actividad, 33 en "atención", 46 a "mantener" y arma Pareto por venta [ComercialBI-20260422 4:14, 8:08, 10:03]. El gerente comercial Juan asume explícitamente que "el proceso comercial se cierra cuando el gallo me paga": junta el ciclo de venta con el de cobranza [ComercialBI-20260422 25:16]. La frontera de salida de este AS-IS son: contrato/convenio firmado y/o OS gatillada hacia Agendamiento (ticket HubSpot con nómina); todo lo posterior (carga FlowMed, EDP, factura, cobranza) se documenta en `01-agendamiento.md`, `05-finanzas.md` y `06-recaudacion-cobranza.md`.

## 2. Lógica de Negocio

### 2.1 Propósito y resultado esperado

**Propósito.** Captar nuevos clientes B2B (foco mantención y construcción minera), formalizar la relación comercial vía convenio o cotización aceptada, y mantener la cartera viva con seguimiento de venta y descuentos focalizados por mix de productos [Comercial-20260420 1:26, 7:20; ComercialBI-20260422 8:08, 10:30].

**Resultado esperado.**
- Cliente activo en HubSpot en condiciones de pedir el primer servicio (puede no pedir nada hasta 3 meses después) [Comercial-20260420 5:38].
- Convenio comercial firmado para los clientes top (~60% de los que más compran tienen convenio) con tarifas, contactos de cobranza y condiciones acordadas [Comercial-20260420 12:43].
- OS gatillada vía email a `agendamiento@workmed` con nómina Excel adjunta, que aterriza como ticket en HubSpot e inicia el proceso de Agendamiento [Comercial-20260420 4:10, 4:39].
- Insumos para inteligencia de negocio: Pareto por empresa, segmentación de cartera por estado, proyección de cierre mensual contra presupuesto [ComercialBI-20260422 5:42, 8:08, 10:03].

### 2.2 Actores y responsabilidades

| Rol | Responsabilidad | Cita |
|---|---|---|
| **Marcela** — área comercial / gestión de venta | Lidera equipo comercial; valida la última producción mensual con "mirada de experto"; coordina formulario de creación de clientes con Finanzas | [Comercial-20260420 17:59, 32:16, 33:37] |
| **Juan** — gerente / jefatura comercial | Consume dashboards diarios de Power BI; define estrategias; asume el ciclo de pago como parte del proceso comercial ("se cierra cuando el gallo me paga") | [ComercialBI-20260422 0:04, 25:16, 25:46] |
| **Ejecutivos comerciales (red comercial)** | Gestionan su embudo en HubSpot con visibilidad propia: crean negocio, generan cotización, registran aceptación | [Comercial-20260420 1:53, 2:22] |
| **Andrea Méndez, Carolina** — ejecutivas comerciales | Cada una con su cartera de clientes; seguimiento por ejecutivo en Power BI | [ComercialBI-20260422 9:34] |
| **Ignacio Ahumada** — analista BI | Descarga Excel desde FlowMed, ejecuta script Python (descuentos por volumen), entrega cómputo diario, alimenta Power BI | [Comercial-20260420 33:37, 35:51; ComercialBI-20260422 1:25, 5:12] |
| **Rodrigo Llancao** — Jefe Desarrollo BI | Mantiene acceso a copia AWS de Secall/FlowMed; construyó agente piloto n8n + Supabase sobre base valorizada | [Comercial-20260420 54:30; ComercialBI-20260422 18:37, 19:36] |
| **Juan Pablo Coustasse** — CFO / Finanzas | Aporta indicadores (Dicom) para evaluar nuevos clientes; participa de gobernanza de creación de cliente y convenios | [Comercial-20260420 7:20, 12:43] |
| **Director Médico** | Valida técnicamente baterías nuevas antes de incorporarlas al catálogo | [Comercial-20260420 48:23] |
| **Pablo Martínez** — subgerente Operaciones | Recibe instrucción comercial sobre qué exámenes ejecutar al definirse una batería nueva | [Comercial-20260420 48:23] |
| **Equipo de Agendamiento** | Frontera externa: recibe la OS (ticket HubSpot + nómina Excel) y la convierte en pacientes en FlowMed | [Comercial-20260420 4:39, 5:08] |
| **Jefes de proyecto del cliente** | Validan EDP y los reenvían a cada centro de costo (cuello de botella externo aguas abajo) | [Comercial-20260420 19:07] |

### 2.3 Sistemas e integraciones involucrados

| Sistema | Función comercial | Integraciones |
|---|---|---|
| **HubSpot** (CRM) | Embudo de venta + ticketera de agendamiento | Outlook (correos entran al CRM); pendiente conectar telefonía. **NO integrado con FlowMed** [Comercial-20260420 1:26, 3:19, 52:10] |
| **FlowMed** | Fuente de la planilla de producción mensual (export Excel) | Replicación a AWS read-replica (Secall); sin integración con HubSpot [Comercial-20260420 36:20, 52:10] |
| **Excel** | Soporte universal: formularios cliente, cruce agendado-vs-atendido, sábana mensual valorizada | Manual; sostén entre FlowMed → Power BI y entre Comercial → Finanzas [Comercial-20260420 4:10, 30:53, 42:06] |
| **Power BI** | Dashboards diarios/mensuales/anuales: cierre, ticket promedio, venta vs meta, segmentación cartera, Pareto | Alimentado por Excel valorizado de Ignacio; sin conexión automática a FlowMed [ComercialBI-20260422 1:25, 5:12, 6:10] |
| **AWS read-replica de Secall/FlowMed** | "Copia en caliente" subutilizada por Comercial | Replicación desde Secall; Rodrigo accede; Marcela "sé que existe pero nunca la he visto" [Comercial-20260420 35:51, 55:28] |
| **Outlook** | Canal de entrada de nóminas y salida de la sábana mensual a Finanzas | Conectado a HubSpot [Comercial-20260420 3:19, 4:10, 42:06] |
| **Defontana** (ERP) | Facturación; sin contacto directo con stack comercial | Sin comunicación con FlowMed/CRM/Power BI [ComercialBI-20260422 27:07] |
| **Agente piloto n8n + Supabase** | Prototipo conversacional de Rodrigo para preguntar producción/valorización en lenguaje natural | Dos chats: uno a copia caliente FlowMed, otro a Supabase con varios meses de Excel cargados [ComercialBI-20260422 18:37, 19:36] |
| **Factoring** (externo) | Workmed cede facturas para amortiguar el flujo | Manual; cada factura con OC se envía al factoring [Comercial-20260420 16:04] |

### 2.4 Reglas de negocio (RN-01..RN-NN)

- **RN-01 — Tarifario de pizarra congelado.** El tarifario base no se mueve hace ~2 años; las baterías se cotizan a precio fijo de tabla [Comercial-20260420 27:34].
- **RN-02 — Descuentos por volumen escalonados.** 100 pacientes/mes → 5%; 200 → 10%; 500 → 12% sobre el total facturable [Comercial-20260420 27:34; ComercialBI-20260422 7:08].
- **RN-03 — Variación intra-mes del descuento.** Si una empresa pasa de 20 a 100 trabajadores en el mes, el descuento del día anterior se recalcula retroactivamente al subir de tramo [Comercial-20260420 34:36].
- **RN-04 — Catálogo base normado por mutualidades.** Las ~100 baterías base provienen del estándar SUSESO + ACHS + Mutual de Seguridad; el cliente puede subir el estándar pero NUNCA bajarlo [Comercial-20260420 46:28, 47:24].
- **RN-05 — Baterías personalizadas por cliente.** Sobre el catálogo base se montan baterías a medida (ej. "batería BHP 1", "batería MEL X") con ID padre + ID hijo [Comercial-20260420 46:28, 49:20].
- **RN-06 — Validación técnica de batería nueva.** Toda batería nueva pasa por el Director Médico (validación clínica) y luego es comunicada a Operaciones (Pablo Martínez) para ejecución [Comercial-20260420 48:23].
- **RN-07 — Política de no-show.** Workmed NO cobra inasistencias del trabajador; el cobro se activa sólo cuando se atiende y se emite el informe [Comercial-20260420 6:25, 6:51].
- **RN-08 — "No atención sin OC" para clientes grandes.** Modelo aplicado al 100% en 1 cliente y entrando una segunda empresa: la OC debe llegar al momento de agendar; sin OC no se atiende [Comercial-20260420 25:16, 26:12].
- **RN-09 — Frontera de salida del Comercial.** El proceso comercial entrega: (a) cliente activo en HubSpot con cotización aceptada o convenio firmado, y (b) email con nómina Excel a `agendamiento@workmed` que se convierte en ticket; ese ticket gatilla Agendamiento [Comercial-20260420 2:51, 4:10, 4:39].
- **RN-10 — Convenios firmados como condición de gran cliente.** ~60% del top de clientes opera bajo convenio firmado con tarifas, contactos de cobranza y condiciones; los grandes exigen convenio antes de operar (compliance) [Comercial-20260420 12:43, 18:20].
- **RN-11 — Vigencia de batería.** 1 año para clientes privados; 2-5 años en el ámbito de mutuales [Flowmed-20260409 41:05].
- **RN-12 — Aprobaciones cruzadas con Finanzas para nuevo cliente.** El enrolamiento del cliente se construye junto con Finanzas (Dicom, contactos de cobranza); responsabilidad combinada y no totalmente clara [Comercial-20260420 7:20, 7:50].
- **RN-13 — Autoría única para modificar el catálogo de prestaciones.** Tras el incidente de la prestación renombrada y duplicada en valor, queda explícito que cambios al catálogo deben pasar por canal único auditable (regla violada en el incidente) [Comercial-20260420 44:01, 44:30].
- **RN-14 — Segmentación operativa de la cartera.** Empresas se clasifican en: sin actividad (~2.500), atención (33 — venta cayendo 1 mes consecutivo), mantener (46 — running histórico bueno), normales (resto) [ComercialBI-20260422 8:08, 8:41, 9:06].
- **RN-15 — Descuentos focalizados por mix.** Estrategia de fidelización: aplicar descuento sobre el producto que cada empresa más compra (no descuento general) [ComercialBI-20260422 10:30].

### 2.5 Excepciones y casos borde

- **E-01 — Cliente con formulario desactualizado.** El cliente envía la plantilla Excel en versión vieja que ya no calza con lo que Workmed acepta; Agendamiento debe trabajar manualmente para encajarla [Comercial-20260420 47:53].
- **E-02 — Cambio de centro de costo post-atención.** Cliente reasigna centro de costo después de la atención (ej. "no fue a Escondida, finalmente fue Spence") y dispara cadena de re-validación con peloteo de varios meses [Comercial-20260420 14:39, 15:06].
- **E-03 — OC pre-agendada con saldo a reusar.** Cliente envía OC para 10 trabajadores; llegan 5; pide reusar los 5 cupos al día siguiente. Obliga a re-cuadrar agenda + producción + cobranza [Comercial-20260420 25:16, 25:46].
- **E-04 — Cliente pide aplicar atención antigua a batería nueva.** Caso minoritario (<0,01% de los ingresos según Marcela): "úsame esta atención de hace 6 meses y agrégame altura geográfica" [Comercial-20260420 40:10, 40:38].
- **E-05 — Cambio silencioso en valorización de prestación.** Proveedor de informática renombró una prestación y la valorizó al doble sin avisar; toda la producción salió mal y se detectó ~3-4 meses después [Comercial-20260420 44:01, 44:58].
- **E-06 — IDs de baterías opacos para quien arma baterías nuevas.** Quien arma una batería nueva no ve el ID padre/hijo; "le pone un nombre con un espacio de más" → no hace match → falla la valorización [Comercial-20260420 49:20, 49:48].
- **E-07 — Empresa con 30 centros de costo distintos.** Caso real: una sola empresa-cliente con 30 centros de costo, lo que multiplica el peloteo de validación de EDP [Comercial-20260420 18:37].
- **E-08 — Tramo de descuento dinámico en proyección.** El descuento por volumen se aplica ex-post; si el cliente sube tramo en el mes, la proyección ya armada queda desfasada [ComercialBI-20260422 7:08, 7:38].
- **E-09 — Agente conversacional alucina con prompt insuficiente.** El piloto n8n + Supabase responde correctamente la mayoría de las veces, pero alucina cuando "faltaba el promptcito" [ComercialBI-20260422 20:31].
- **E-10 — [Contradicción §6.4 mapa cruzado] Integración HubSpot ↔ FlowMed: dos proyectos distintos sobre el mismo nombre.** El intento técnico de 2024 (Patricia Maturana) "no llegó a acuerdo" entre las dos partes y quedó manual indefinidamente; en paralelo, hoy hay un proyecto activo HubSpot ↔ Defontana (liderado por la Supervisora de Facturación) que NO es lo mismo. Para Comercial, lo que sigue abierto es HubSpot ↔ FlowMed: limita inteligencia de negocio y obliga al ciclo manual de exportar/valorizar [Agendamiento-20260413 47:19, 47:48; Comercial-20260420 52:10, 52:37; Recaudacion-20260423 7:00, 11:23].
- **E-11 — [Contradicción §6.2 mapa cruzado] Hosting FlowMed: on-premise + AWS replica vs sólo AWS replica.** Marcela y Rodrigo refieren "copia en caliente" en AWS pero Marcela "nunca la ha visto"; Eduardo González (TI) describe servidor on-premise en Manuel Montt + replica AWS RDS administrada por Secall. Para Comercial el efecto práctico es que la read-replica AWS está subutilizada: Comercial le "cree" al export Excel manual de FlowMed sin auditoría contra la base [Comercial-20260420 35:51, 37:19, 55:28; EcosistemaTI-20260415 33:37].
- **E-12 — [Contradicción §6.10 mapa cruzado] Power BI: descartado estratégicamente vs sostenido a corto plazo.** TI (Rodrigo, Mónica) declara "no nos gusta Power BI… es un dolor" como aspiración estratégica [Flowmed-20260409 1:08:12]; en la sesión BI comercial, Juan decide "por el momento mantener Power BI tiene sentido" hasta que exista FlowMed 2.0 [ComercialBI-20260422 22:56]. Conviven como evolución no contradictoria: descartado como destino final, sostenido como puente operativo.

### 2.6 KPIs y SLAs declarados

| KPI / SLA | Cifra | Fuente |
|---|---|---|
| Concentración de ingresos en top clientes | **80-90%** del ingreso mensual concentrado en **5-10 empresas** | [Comercial-20260420 37:48, 21:58] |
| Top 10 clientes (perfil) | Empresas de **mantención y construcción minera** | [Comercial-20260420 21:58] |
| Convenios firmados sobre top de clientes | **~60%** de las empresas que más compran | [Comercial-20260420 12:43] |
| Cobertura "no atención sin OC" | 1 empresa al **100%**; 1 segunda entrando | [Comercial-20260420 25:46, 26:12] |
| Tarifario de pizarra | **Estable hace 2 años** (sin cambios) | [Comercial-20260420 27:34] |
| Tramos de descuento por volumen | **5% a 100 pacientes / 10% a 200 / 12% a 500** | [Comercial-20260420 27:34] |
| Catálogo de baterías base | **~100 baterías** (SUSESO + ACHS + Mutual) | [Comercial-20260420 46:28] |
| Vigencia de batería | **1 año** privados; **2-5 años** en mutuales | [Flowmed-20260409 41:05] |
| Tiempo del ciclo de valorización mensual | **≥ 1 semana** (1 día valorizar + 2 días validar + Finanzas crea EDP) | [Comercial-20260420 22:53, 23:21] |
| Atomización de EDP por producción | **~500 EDP** por mes pueden generarse al expandir por centro de costo | [Comercial-20260420 23:52] |
| Ventana de revisión de nómina por el cliente | **1 a 90 días** (sin SLA) | [Comercial-20260420 13:42] |
| Política de no-show | **NO se cobra** la inasistencia del trabajador | [Comercial-20260420 6:25] |
| Venta acumulada referencial (a la sesión BI) | **51 millones** acumulados hasta antes de ayer | [ComercialBI-20260422 7:08] |
| Pacientes agendados día (referencial 10:00 AM) | **361-362** con alto ausentismo | [ComercialBI-20260422 15:18] |
| Segmentación de cartera | Sin actividad **~2.500** / Atención **33** / Mantener **46** / Normales: resto | [ComercialBI-20260422 8:08, 8:41] |
| Comportamiento típico semanal | Lunes alto / martes-miércoles cae / jueves-viernes vuelve a subir | [ComercialBI-20260422 4:14] |
| Desfase de información comercial | **1 día** de desfase respecto a operación | [ComercialBI-20260422 4:14] |
| Universo Syncore (referencial sectorial) | **3.344 trabajadores** | [Flowmed-20260409 49:57] |
| Descuento pronto pago experimentado | **2%** — insuficiente para clientes con EDP de $500M | [Comercial-20260420 24:17] |

### 2.7 Dolores y workarounds

| Dolor | Workaround actual | Fragilidad | Fuente |
|---|---|---|---|
| HubSpot ↔ FlowMed sin integración | Exportación manual a Excel + carga manual a FlowMed | Limita BI (cluster, mix, frecuencia, upsell) | [Comercial-20260420 52:10, 52:37; ComercialBI-20260422 17:37] |
| Valorización 100% manual y lenta (≥1 semana) | Ignacio cruza a mano + script Python (sólo descuentos) + Marcela "mirada de experto" | Depende de un solo analista; no escalable; si Ignacio no está, no hay panel | [Comercial-20260420 22:53, 31:46, 33:37; ComercialBI-20260422 5:12] |
| Información comercial con 1 día de desfase | Descargar diariamente y reconstruir el panel Power BI al día siguiente | Imposible decisión en vivo; FlowMed intra-día no muestra valorización ni baterías | [ComercialBI-20260422 4:14, 15:44, 16:13] |
| EDP atomizado en cientos por centro de costo | Re-envío de la nómina al cliente para revalidación los últimos 5 días del mes | Cliente puede demorar 1 a 90 días; se pierde trazabilidad de recepción | [Comercial-20260420 13:42, 23:52] |
| Centros de costo cambiantes y "peloteo" | Buscar al "gallo especial" del cliente caso a caso | "Ahí me pelotean meses"; cliente no sabe a qué faena fue cada trabajador | [Comercial-20260420 14:39, 15:06] |
| Bola de nieve en cobranza con clientes mineros | Factoring para amortiguar el flujo | Costo financiero implícito; no resuelve la causa raíz (lentitud OC) | [Comercial-20260420 16:04, 21:58, 43:02] |
| Cambios silenciosos al catálogo de prestaciones | Detección por casualidad; sin trazabilidad formal | Caso real detectado a los 3-4 meses con producción duplicada en valor | [Comercial-20260420 44:01, 44:58] |
| IDs padre/hijo de baterías opacos al editor | "Mirada de experto" durante la valorización detecta el desfase de nombre | No es escalable; depende de Marcela | [Comercial-20260420 49:20, 49:48] |
| Descuento por pronto pago insuficiente para grandes | Negociación caso a caso | 2% sobre $500M no mueve la aguja | [Comercial-20260420 24:17] |
| Comercial sin capacidad de "preguntarle" a los datos | Vistas a mano por Ignacio + Marcela | "Hoy día limitado, sí"; agente piloto n8n+Supabase aún no productizado | [Comercial-20260420 38:45, 53:36, 54:00; ComercialBI-20260422 18:37] |
| Falta de gobernanza en enrolamiento del cliente | Formulario online compartido Comercial + Finanzas | Depende del cliente lo complete; validación posterior manual | [Comercial-20260420 7:20, 17:59, 26:41] |
| Negociación comercial verbal sin contrato formal en ERP | Ninguno estructurado | Origen de discrepancias en cobranza | [Finanzas-20260416 3:08, 3:35] |
| Cliente con nomenclatura propia ("bat 010" vs "altura geográfica") | Traductor manual por cliente | No escala con la cartera | [Finanzas-20260416 10:16] |

## 3. Historias de Usuario (HU-01..HU-NN)

> **Notación.** Gherkin en español. Cada HU referencia las RN-NN de §2.4 que aplica.

### HU-01 — Crear oportunidad de venta en HubSpot

**Como** ejecutivo comercial
**Quiero** registrar un nuevo negocio en HubSpot a partir de un prospecto afín
**Para** mantener visible mi embudo y poder cotizar formalmente.

```gherkin
Funcionalidad: Registro de oportunidad comercial
  Antecedentes:
    Dado que el ejecutivo identificó un cliente afín
    Y tiene cuenta activa en HubSpot con su cartera

  Escenario: Crear negocio y cotizar
    Cuando el ejecutivo crea un negocio en HubSpot
    Y genera una cotización desde el negocio
    Entonces la cotización queda registrada y visible en su embudo
    Y el cliente recibe la cotización por correo (registrada en HubSpot vía Outlook)

  Escenario: Cliente acepta cotización
    Dado que existe una cotización emitida
    Cuando el cliente acepta la cotización
    Entonces el negocio cambia a estado "aceptado"
    Y el caso pasa al área comercial-operativa (Agendamiento)
```

**Fuentes:** [Comercial-20260420 1:26, 1:53, 2:22, 2:51]
**RN aplicables:** RN-09.

### HU-02 — Calificar prospecto con Finanzas (Dicom y compliance)

**Como** ejecutivo comercial
**Quiero** validar el cliente con indicadores aportados por Finanzas
**Para** decidir si avanzo a cotización formal y bajo qué condiciones.

```gherkin
Funcionalidad: Calificación financiera del prospecto
  Escenario: Solicitud de chequeo Dicom
    Dado que existe un prospecto identificado
    Cuando el ejecutivo solicita a Finanzas el chequeo Dicom y compliance
    Entonces Finanzas devuelve indicadores del cliente
    Y el ejecutivo decide avanzar o quedarse en seguimiento

  Escenario: Cliente exige convenio firmado antes de operar
    Dado que el cliente es grande y exige convenio (compliance)
    Cuando el cliente lo solicita
    Entonces Comercial gatilla la firma de convenio antes de cualquier OS
    Y queda registrada la condición en HubSpot
```

**Fuentes:** [Comercial-20260420 7:20, 12:43, 18:20]
**RN aplicables:** RN-10, RN-12.

### HU-03 — Negociar tramos de descuento por volumen

**Como** Marcela / gerente comercial
**Quiero** aplicar correctamente los tramos de descuento por volumen
**Para** que la valorización mensual refleje el descuento que el cliente ha ganado.

```gherkin
Funcionalidad: Descuento por volumen escalonado
  Escenario: Tramo 5% a 100 pacientes
    Dado un cliente que envía 100 pacientes en el mes
    Cuando se valoriza la producción mensual
    Entonces se aplica 5% de descuento sobre el total

  Escenario: Tramo 10% a 200 pacientes
    Dado un cliente que envía 200 pacientes en el mes
    Cuando se valoriza la producción mensual
    Entonces se aplica 10% de descuento sobre el total

  Escenario: Tramo 12% a 500 pacientes
    Dado un cliente que envía 500 pacientes en el mes
    Cuando se valoriza la producción mensual
    Entonces se aplica 12% de descuento sobre el total

  Escenario: Cliente sube de tramo a mitad de mes
    Dado un cliente que envió 20 pacientes ayer y manda 100 hoy
    Cuando se valoriza el cómputo del día anterior
    Entonces el descuento del día anterior se recalcula retroactivamente al nuevo tramo
```

**Fuentes:** [Comercial-20260420 27:34, 34:36; ComercialBI-20260422 7:08]
**RN aplicables:** RN-02, RN-03.

### HU-04 — Firmar convenio comercial con cliente top

**Como** Marcela
**Quiero** formalizar un convenio con tarifas, contactos de cobranza y condiciones
**Para** dejar reglas claras antes de operar y reducir el peloteo posterior.

```gherkin
Funcionalidad: Convenio comercial firmado
  Escenario: Cliente top sin convenio
    Dado un cliente del top 10 sin convenio firmado
    Cuando Comercial inicia gestión de convenio
    Entonces se acuerdan tarifas, descuentos por volumen, contactos de cobranza y condiciones
    Y se firma el convenio antes de gatillar agendamiento masivo

  Escenario: Convenio existente
    Dado un cliente con convenio vigente
    Cuando se cotiza una nueva campaña
    Entonces se aplican tarifas y descuentos del convenio sin renegociación
```

**Fuentes:** [Comercial-20260420 12:43, 18:20]
**RN aplicables:** RN-01, RN-02, RN-10.

### HU-05 — Configurar batería personalizada de cliente

**Como** Marcela (Comercial), con apoyo de Director Médico y Operaciones
**Quiero** crear una batería a medida sobre el catálogo base
**Para** reflejar la oferta acordada con un cliente específico.

```gherkin
Funcionalidad: Configuración de batería personalizada
  Escenario: Cliente pide batería a medida sobre catálogo base
    Dado que el catálogo base son ~100 baterías SUSESO/ACHS/Mutual
    Y el cliente pide subir el estándar (no bajar)
    Cuando Marcela diseña la batería personalizada (ej. "batería BHP 1")
    Entonces el Director Médico la valida técnicamente
    Y Operaciones (Pablo Martínez) recibe instrucción de qué exámenes ejecutar
    Y la batería queda disponible con ID padre + ID hijo en el sistema

  Escenario (riesgo): Editor crea batería con nombre con un espacio de más
    Dado que el editor no ve los IDs padre/hijo en su pantalla
    Cuando crea la batería con un espacio diferente en el nombre
    Entonces el match contra el catálogo falla
    Y la valorización mensual entrega un total errado
```

**Fuentes:** [Comercial-20260420 46:28, 47:24, 48:23, 49:20, 49:48]
**RN aplicables:** RN-04, RN-05, RN-06, RN-13.

### HU-06 — Gatillar Orden de Servicio hacia Agendamiento

**Como** ejecutivo comercial / cliente con cotización aceptada
**Quiero** disparar la atención agendada por Workmed
**Para** que los trabajadores sean evaluados.

```gherkin
Funcionalidad: Handoff Comercial → Agendamiento
  Antecedentes:
    Dado un cliente activo en HubSpot con cotización aceptada o convenio firmado

  Escenario: Cliente envía nómina por correo
    Cuando el cliente envía email a agendamiento@workmed con nómina Excel adjunta
    Entonces el correo aterriza como ticket en HubSpot (ticketera)
    Y el equipo de Agendamiento toma el ticket pendiente
    Y carga la nómina manualmente en FlowMed

  Escenario: Cliente grande con "no atención sin OC"
    Dado un cliente bajo modelo "no atención sin OC"
    Cuando envía nómina sin OC adjunta
    Entonces Workmed no atiende
    Y Comercial solicita la OC al cliente antes de continuar
```

**Fuentes:** [Comercial-20260420 4:10, 4:39, 5:08, 25:16, 26:12]
**RN aplicables:** RN-08, RN-09.

### HU-07 — Mantener cartera y segmentar comportamiento

**Como** Juan (gerente comercial)
**Quiero** segmentar la cartera por estado y revisar carteras por ejecutivo
**Para** focalizar acciones de fidelización y recuperación.

```gherkin
Funcionalidad: Segmentación de cartera
  Escenario: Empresa pasa a estado "atención"
    Dado que una empresa lleva 1 mes consecutivo bajando su venta
    Cuando se actualiza la segmentación
    Entonces la empresa entra al segmento "atención" (33 actuales)
    Y aparece como prioridad en el dashboard del ejecutivo

  Escenario: Empresa a "mantener"
    Dado que una empresa está en running histórico con buena venta
    Entonces se etiqueta "mantener" (46 actuales)

  Escenario: Cartera por ejecutivo
    Cuando el gerente abre el panel por ejecutivo (Andrea Méndez, Carolina, …)
    Entonces ve la evolución de la cartera de esa ejecutiva
```

**Fuentes:** [ComercialBI-20260422 8:08, 8:41, 9:06, 9:34]
**RN aplicables:** RN-14.

### HU-08 — Diseñar descuento focalizado por mix de productos

**Como** Juan (gerente comercial)
**Quiero** ver el Pareto de empresas y el mix de productos que cada una compra
**Para** diseñar descuentos sobre el producto que más compra (no descuento general).

```gherkin
Funcionalidad: Pareto y descuento focalizado
  Escenario: Pareto de empresas por venta
    Cuando el gerente abre el panel Pareto en Power BI
    Entonces ve las empresas ordenadas por venta acumulada
    Y para cada empresa, su mix de productos comprados

  Escenario: Diseño de descuento focalizado
    Dado que la empresa "X" concentra su compra en batería preocupacional altura geográfica
    Cuando Marcela define una estrategia de fidelización
    Entonces aplica descuento sobre la batería que más compra (no general)
    Y registra la condición en el convenio o en el negocio HubSpot
```

**Fuentes:** [ComercialBI-20260422 10:03, 10:30]
**RN aplicables:** RN-15.

### HU-09 — Proyectar cierre mensual contra presupuesto

**Como** Juan (gerente comercial)
**Quiero** proyectar el cierre mensual a partir del comportamiento histórico
**Para** anticipar si llegamos al presupuesto y mover acciones comerciales.

```gherkin
Funcionalidad: Proyección comercial diaria
  Antecedentes:
    Dado el comportamiento histórico semanal: lunes alto, martes/miércoles cae, jueves/viernes sube

  Escenario: Proyección de cierre con tres líneas
    Cuando el gerente abre el dashboard de proyección
    Entonces ve: venta real (azul), meta diaria (amarilla), curva al presupuesto (naranja)
    Y la proyección considera los pesos por día restantes en el mes
```

**Fuentes:** [ComercialBI-20260422 3:20, 3:50, 5:42, 6:10]
**RN aplicables:** —

### HU-10 — Validar valorización diaria con "mirada de experto"

**Como** Marcela
**Quiero** revisar el cómputo diario que Ignacio entrega
**Para** detectar inconsistencias antes de que escalen al cierre mensual.

```gherkin
Funcionalidad: Validación experta de la valorización
  Escenario: Cómputo cuadra
    Dado que Ignacio entregó el cómputo diario
    Cuando Marcela revisa con "mirada de experto"
    Y los números cuadran con su contexto (tipo de cliente, convenio, estacionalidad)
    Entonces aprueba el cómputo

  Escenario: Cómputo no cuadra
    Cuando Marcela detecta un desfase ("no me cuadra eso, Nacho")
    Entonces devuelve el cómputo a Ignacio para revalidación
    Y el ciclo puede repetirse hasta que cuadre

  Escenario (riesgo silencioso): Cambio de catálogo no notificado
    Dado que el proveedor de informática renombró una prestación y duplicó su valor sin avisar
    Cuando Marcela revisa el cómputo
    Y los números parecen normales por agregación
    Entonces el error puede pasar desapercibido por 3-4 meses
```

**Fuentes:** [Comercial-20260420 33:37, 34:07, 44:01, 44:58]
**RN aplicables:** RN-13.

### HU-11 — Preguntar a los datos comerciales en lenguaje natural (piloto)

**Como** Juan / Marcela
**Quiero** hacer preguntas tipo "cuánto vendí ayer" en un chat
**Para** explorar tendencias sin esperar a que Ignacio arme una vista.

```gherkin
Funcionalidad: Agente conversacional comercial (piloto)
  Antecedentes:
    Dado el agente piloto n8n + Supabase de Rodrigo Llancao
    Y dos chats: uno a copia caliente FlowMed, otro a base de producción Supabase

  Escenario: Pregunta básica
    Cuando el usuario pregunta "cuánto vendí ayer"
    Entonces el agente responde con datos crudos (la mayoría de las veces correcto)

  Escenario: Alucinación por prompt insuficiente
    Cuando el prompt es ambiguo o insuficiente
    Entonces el agente puede alucinar
    Y se requiere ajustar el prompt
```

**Fuentes:** [ComercialBI-20260422 18:37, 19:07, 19:36, 20:31]
**RN aplicables:** —

### HU-12 — Aplicar política "no atención sin OC" para clientes grandes

**Como** Marcela (Comercial)
**Quiero** que ciertos clientes no se atiendan si no tienen OC al momento de agendar
**Para** evitar atender producción que después no puede facturarse limpio.

```gherkin
Funcionalidad: Política "no atención sin OC"
  Antecedentes:
    Dado un cliente bajo modelo "no atención sin OC"

  Escenario: Cliente envía nómina con OC
    Cuando el cliente envía nómina + OC
    Entonces se procesa el agendamiento normal

  Escenario: Cliente envía nómina sin OC
    Cuando el cliente envía nómina sin OC
    Entonces Comercial bloquea el agendamiento
    Y solicita la OC antes de continuar

  Escenario (edge case): Cupos sobrantes de OC anterior
    Dado un cliente con OC para 10 trabajadores y atendieron 5
    Cuando el cliente avisa "mañana uso esos 5 cupos, mándame otros viejos"
    Entonces Comercial re-cuadra internamente entre agenda, producción y cobranza
```

**Fuentes:** [Comercial-20260420 25:16, 25:46, 26:12]
**RN aplicables:** RN-08.

## 4. Diagrama BPMN (Mermaid) — ciclo comercial completo

```mermaid
flowchart TD
  ini(["Inicio: cliente afín identificado"])
  ini --> investiga["Investigación + chequeo Dicom (Finanzas aporta indicadores)"]
  investiga --> negocio["Crear negocio en HubSpot"]
  negocio --> califica{{"¿Califica? (Dicom + compliance)"}}
  califica -->|"No"| descartar["Descartar / dejar en seguimiento"]
  descartar --> finA(["Fin: prospecto descartado"])
  califica -->|"Sí"| cot["Generar cotización en HubSpot"]
  cot --> envio["Envío al cliente vía Outlook (queda en CRM)"]
  envio --> respuesta{{"¿Cliente responde?"}}
  respuesta -->|"No / sin respuesta"| seg["Queda en embudo (puede tardar hasta 3 meses)"]
  seg --> envio
  respuesta -->|"Rechaza"| descartar
  respuesta -->|"Negocia"| neg["Negociación: tramos descuento RN-02, baterías a medida RN-05"]
  neg --> bateria{{"¿Requiere batería personalizada?"}}
  bateria -->|"Sí"| dirmed["Validación Director Médico + instrucción a Operaciones (Pablo Martínez)"]
  dirmed --> cot
  bateria -->|"No"| convenio{{"¿Cliente top exige convenio?"}}
  convenio -->|"Sí"| firmar["Firmar convenio (tarifas + contactos cobranza + condiciones)"]
  firmar --> activo["Cliente activo en HubSpot"]
  convenio -->|"No"| acepta{{"¿Cliente acepta cotización?"}}
  acepta -->|"No"| descartar
  acepta -->|"Sí"| activo
  activo --> ocrule{{"¿Cliente bajo modelo 'no atención sin OC'? RN-08"}}
  ocrule -->|"Sí"| esperaOC["Esperar OC del cliente antes de cualquier OS"]
  esperaOC --> nomina["Cliente envía email con nómina Excel a agendamiento@workmed"]
  ocrule -->|"No"| nomina
  nomina --> ticket["HubSpot crea ticket (ticketera)"]
  ticket --> handoff(["Fin: OS gatillada → Agendamiento toma ticket y carga FlowMed"])

  classDef start fill:#d4edda,stroke:#155724
  classDef endE fill:#f8d7da,stroke:#721c24
  class ini,handoff,finA start
```

```mermaid
flowchart LR
  subgraph Comercial_Ciclo_Cartera_Mensual ["Ciclo mensual de cartera y BI"]
    fm["FlowMed (atenciones del mes)"] -->|"export Excel manual"| excel["Excel valorizado (Ignacio)"]
    excel -->|"script Python: descuentos por volumen RN-02"| pbi["Power BI (dashboards)"]
    pbi --> juan["Juan: cierre, Pareto, segmentación cartera RN-14"]
    pbi --> marcela["Marcela: validación 'mirada de experto'"]
    marcela -->|"si no cuadra"| excel
    marcela -->|"sábana mensual valorizada por email"| fin["→ Finanzas (genera EDP) — frontera de salida del lado mensual"]
  end
```

> Notas BPMN:
> - **Frontera de salida principal** del proceso AS-IS Comercial: ticket en HubSpot con nómina + cliente activo (handoff a Agendamiento) [Comercial-20260420 4:39, 5:08].
> - **Frontera de salida secundaria** (mensual): sábana Excel valorizada entregada a Finanzas para creación de EDP [Comercial-20260420 42:06]. El detalle de EDP/factura se documenta en `05-finanzas.md` y `06-recaudacion-cobranza.md`.
> - **Loop interno** Marcela ↔ Ignacio: la validación experta puede repetirse hasta que el cómputo cuadre [Comercial-20260420 33:37, 34:07].

## 5. Trazabilidad

| ID | Elemento | Origen (finding § y timestamp) | Destino en este DOC |
|---|---|---|---|
| RN-01 | Tarifario congelado 2 años | Comercial-20260420 §Datos cuantitativos [27:34] | §2.4 RN-01 |
| RN-02 | Descuentos volumen 5/10/12% | Comercial-20260420 §Datos cuantitativos [27:34]; ComercialBI-20260422 §Datos [7:08] | §2.4 RN-02; HU-03 |
| RN-03 | Variación intra-mes del descuento | Comercial-20260420 §Excepciones [34:36] | §2.4 RN-03; HU-03 |
| RN-04 | Catálogo SUSESO/ACHS/Mutual | Comercial-20260420 §Datos [46:28]; §Mención regulatoria [47:24] | §2.4 RN-04; HU-05 |
| RN-05 | Baterías personalizadas con ID padre/hijo | Comercial-20260420 §Datos [46:28]; §Dolores [49:20] | §2.4 RN-05; HU-05 |
| RN-06 | Validación técnica Director Médico | Comercial-20260420 §Roles [48:23] | §2.4 RN-06; HU-05 |
| RN-07 | Política no-show | Comercial-20260420 §Datos [6:25, 6:51] | §2.4 RN-07 |
| RN-08 | "No atención sin OC" | Comercial-20260420 §Workarounds [25:16, 26:12] | §2.4 RN-08; HU-06; HU-12 |
| RN-09 | Frontera de salida Comercial → Agendamiento | Comercial-20260420 §Procesos [2:51, 4:10, 4:39] | §2.4 RN-09; HU-01; HU-06 |
| RN-10 | Convenios firmados | Comercial-20260420 §KPIs [12:43, 18:20] | §2.4 RN-10; HU-04 |
| RN-11 | Vigencia batería 1/2-5 años | Flowmed-20260409 [41:05] | §2.4 RN-11 |
| RN-12 | Aprobaciones cruzadas con Finanzas | Comercial-20260420 §Dolores [7:20, 7:50] | §2.4 RN-12; HU-02 |
| RN-13 | Autoría única catálogo prestaciones | Comercial-20260420 §Excepciones [44:01, 44:30] | §2.4 RN-13; HU-10 |
| RN-14 | Segmentación cartera | ComercialBI-20260422 §Procesos [8:08, 8:41] | §2.4 RN-14; HU-07 |
| RN-15 | Descuento focalizado por mix | ComercialBI-20260422 §Procesos [10:30] | §2.4 RN-15; HU-08 |
| HU-01 | Crear oportunidad HubSpot | Comercial-20260420 §Procesos [1:26, 2:22] | §3 HU-01 |
| HU-02 | Calificar prospecto con Finanzas | Comercial-20260420 §Roles/§Dolores [7:20, 12:43] | §3 HU-02 |
| HU-03 | Negociar tramos de descuento | Comercial-20260420 [27:34, 34:36] | §3 HU-03 |
| HU-04 | Firmar convenio comercial | Comercial-20260420 [12:43, 18:20] | §3 HU-04 |
| HU-05 | Configurar batería personalizada | Comercial-20260420 [46:28, 48:23, 49:20] | §3 HU-05 |
| HU-06 | Gatillar OS hacia Agendamiento | Comercial-20260420 [4:10, 4:39, 5:08] | §3 HU-06 |
| HU-07 | Mantener cartera y segmentar | ComercialBI-20260422 [8:08, 9:34] | §3 HU-07 |
| HU-08 | Descuento focalizado por mix | ComercialBI-20260422 [10:03, 10:30] | §3 HU-08 |
| HU-09 | Proyección cierre mensual | ComercialBI-20260422 [3:20, 5:42, 6:10] | §3 HU-09 |
| HU-10 | Validación experta de valorización | Comercial-20260420 [33:37, 34:07] | §3 HU-10 |
| HU-11 | Agente conversacional piloto | ComercialBI-20260422 [18:37, 19:36] | §3 HU-11 |
| HU-12 | Política "no atención sin OC" | Comercial-20260420 [25:16, 25:46, 26:12] | §3 HU-12 |
| E-01 | Formulario desactualizado | Comercial-20260420 §Excepciones [47:53] | §2.5 E-01 |
| E-02 | Cambio centro costo post-atención | Comercial-20260420 §Excepciones [14:39, 15:06] | §2.5 E-02 |
| E-03 | OC con saldo a reusar | Comercial-20260420 §Excepciones [25:16, 25:46] | §2.5 E-03 |
| E-04 | Atención antigua → batería nueva | Comercial-20260420 §Excepciones [40:10, 40:38] | §2.5 E-04 |
| E-05 | Cambio silencioso valorización | Comercial-20260420 §Excepciones [44:01, 44:58] | §2.5 E-05 |
| E-06 | IDs baterías opacos | Comercial-20260420 §Dolores [49:20, 49:48] | §2.5 E-06 |
| E-07 | Empresa con 30 centros de costo | Comercial-20260420 §Datos [18:37] | §2.5 E-07 |
| E-08 | Tramo descuento dinámico | ComercialBI-20260422 §Excepciones [7:08, 7:38] | §2.5 E-08 |
| E-09 | Agente alucina | ComercialBI-20260422 §Excepciones [20:31] | §2.5 E-09 |
| E-10 | [§6.4] HubSpot ↔ FlowMed sin integración | Mapa cruzado §6.4; Comercial-20260420 [52:10]; Agendamiento-20260413 [47:19, 47:48] | §2.5 E-10 |
| E-11 | [§6.2] Hosting FlowMed ambiguo / read-replica subutilizada | Mapa cruzado §6.2; Comercial-20260420 [35:51, 55:28]; EcosistemaTI-20260415 [33:37] | §2.5 E-11 |
| E-12 | [§6.10] Power BI: descartado vs sostenido | Mapa cruzado §6.10; ComercialBI-20260422 [22:56]; Flowmed-20260409 [1:08:12] | §2.5 E-12 |
| KPI-Concentración | 80-90% en 5-10 empresas | Comercial-20260420 §Datos [37:48, 21:58] | §2.6 |
| KPI-Convenios | ~60% top con convenio | Comercial-20260420 §KPIs [12:43] | §2.6 |
| KPI-Ciclo valorización | ≥1 semana | Comercial-20260420 §Datos [22:53, 23:21] | §2.6 |
| KPI-EDP atomizado | ~500 EDP | Comercial-20260420 §Datos [23:52] | §2.6 |
| KPI-Segmentación | 2.500/33/46/normales | ComercialBI-20260422 §Datos [8:08, 8:41] | §2.6 |
| KPI-Desfase BI | 1 día | ComercialBI-20260422 §Dolores [4:14] | §2.6 |
| KPI-Pacientes 10:00 | 361-362 | ComercialBI-20260422 §Datos [15:18] | §2.6 |
| KPI-Venta acumulada | 51M | ComercialBI-20260422 §Datos [7:08] | §2.6 |
| Sistema-HubSpot | CRM + ticketera | Comercial-20260420 §Sistemas [1:26, 4:39] | §2.3 |
| Sistema-FlowMed | Producción mensual | Comercial-20260420 §Sistemas [36:20] | §2.3 |
| Sistema-PowerBI | Dashboards comerciales | ComercialBI-20260422 §Sistemas [1:25] | §2.3 |
| Sistema-AWS replica | Subutilizada por Comercial | Comercial-20260420 §Sistemas [55:28] | §2.3; §2.5 E-11 |
| Sistema-Defontana | ERP separado | ComercialBI-20260422 §Sistemas [27:07] | §2.3 |
| Sistema-Outlook | Canal email | Comercial-20260420 §Sistemas [3:19, 4:10] | §2.3 |
| Sistema-Agente piloto | n8n + Supabase | ComercialBI-20260422 §Sistemas [18:37, 19:36] | §2.3; HU-11 |
| Frontera-salida-OS | Ticket HubSpot + nómina Excel | Comercial-20260420 [4:10, 4:39, 5:08] | §1; §4; RN-09 |
| Frontera-salida-mensual | Sábana Excel valorizada → Finanzas | Comercial-20260420 [42:06] | §1; §4 (subgráfica) |

**Solapamiento documentado con otros DOC:**
- **`05-finanzas.md`**: el sub-proceso "valorización de producción" se documenta aquí desde la mirada Comercial (§4 subgráfica + HU-10) y en `05-finanzas.md` desde la mirada Finanzas (creación de EDP a partir de la sábana Excel). El Mapa Cruzado §3-Proceso 4 marca explícitamente esa doble vista [mapa-cruzado §3, líneas 126-128].
- **`06-recaudacion-cobranza.md`**: KPIs como "~500 EDP por mes", "ventana de revisión 1-90 días", "factoring", "bola de nieve cobranza minera" tienen origen en sesiones Comercial pero su tratamiento detallado vive en Recaudación. Aquí se citan como contexto de la frontera aguas abajo.
- **`08-anexo-ti.md`**: contradicciones §6.2 (hosting), §6.4 (HubSpot↔FlowMed), §6.10 (Power BI) se reflejan aquí en §2.5 (E-10, E-11, E-12) y allá se resolverán canónicamente.
