# AS-IS — Recaudación y cobranza

> **Fuente primaria:** `Diagnostico-20260423-Proceso-Recaudacion.findings.md` (sesión 12, 1h41min).
> **Cruces:** §2 / §5.5 / §5.6 / §6 de `00-mapa-cruzado.md`; `Diagnostico-20260416-Proceso-Finanzas.findings.md` para handoff EDP.
> **Frontera de entrada:** EDP aprobado por el cliente con OC adjunta y factura emitida en Defontana (handoff desde Finanzas).
> **Frontera de salida:** pago recibido / cliente bloqueado manualmente / factura cedida a empresa de factoring.

---

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

Recaudación corre dos pipelines secuenciales en HubSpot (Facturación y Cobranza) sobre 300–400 EDPs al mes, que se despachan en ~2 días hábiles una vez llega la producción valorizada [Recaudacion-20260423 6:06]. La frontera con Finanzas se mezcla en el mismo día: la macro Excel arma el EDP, la nota de venta entra a Defontana y se da de alta el "negocio cobranza" en HubSpot, todo en cadena [Recaudacion-20260423 1:51, 3:18, 8:05]. El pipeline de Cobranza avanza por fechas y no por acciones, con hito legal a los 8 días desde la emisión de la factura [Recaudacion-20260423 9:57, 10:26]. La conciliación HubSpot ↔ Defontana se hace a mano en Excel [Recaudacion-20260423 11:52]. La identidad del cliente vive en 4 sistemas y la depura un script Python de 2.553 líneas alojado en el GitHub personal de Rodrigo Llancao [Recaudacion-20260423 1:30:35, 1:38:13]. La política comercial "no bloquear porque le seguimos vendiendo" deja a Cobranza sin palanca formal [Recaudacion-20260423 32:26]. Casos extremos de validación de EDP llegan a 2 meses; el ciclo EDP nominal de Finanzas es 5 días por iteración [Recaudacion-20260423 16:36; ver §2.3, cruce con §5.5 mapa-cruzado].

---

## 2. Lógica de Negocio

### 2.1 Actores y responsabilidades

| Actor | Rol en Recaudación | Cita |
|---|---|---|
| **Supervisora de Facturación** | Corre la macro Excel mensual, distribuye carpeta madre por cliente, concilia manualmente HubSpot ↔ Defontana | [Recaudacion-20260423 37:03, 37:59, 11:52] |
| **Analistas de cartera Facturación** | Toman su cartera, despachan EDPs, persiguen OC; "nadie toca clientes que no son de ellos" | [Recaudacion-20260423 37:32, 37:59] |
| **Analistas de cartera Cobranza** | Avanzan negocios por fechas en pipeline Cobranza; registran gestiones (correo/llamada) | [Recaudacion-20260423 9:57, 33:02] |
| **Juan Pablo Coustasse** (CFO) | Apoya negociación con cliente cuando se traba la facturación; visión estratégica del proceso | [Recaudacion-20260423 9:04, 9:28] |
| **Ignacio Ahumada** (analista valorización) | Descarga "Control de pago" diario, ejecuta script Python, entrega producción valorizada con IVA a la Supervisora de Facturación | [Recaudacion-20260423 1:14:55, 1:36:50] |
| **Rodrigo Llancao** (Jefe Desarrollo BI) | Autor del script Python (2.553 líneas); referente técnico de la AWS RDS read-replica | [Recaudacion-20260423 1:14:55, 1:30:35] |
| **Mónica Pérez** (PMO) | Recibe avisos de descuentos no aplicados / cambios de tramo y los retransmite a Ignacio | [Recaudacion-20260423 1:37:19] |
| **Eduardo González** (Subgerente Proyectos) | Gatekeeper único del acceso a la AWS RDS read-replica de FlowMed/Secall | [Recaudacion-20260423 1:25:32, 1:38:42] |
| **Equipo Comercial** (ejecutivos) | Visibilidad lectora de pipelines HubSpot; ahora participan en gestión de OC | [Recaudacion-20260423 9:04, 9:28]; [Finanzas-20260416 33:33] |
| **Contraloría** | Agrega/desagrega prestaciones por correo (sin tickets) → afecta valorización aguas arriba | [Recaudacion-20260423 1:39:35] |
| **Externo HubSpot** (no nombrado) | Configurador del CRM; restringe la carga de contactos a recarga mensual | [Recaudacion-20260423 4:46, 4:15] |
| **Empresas de factoring** | Compradoras de facturas cedidas (estado terminal "Cedida" en pipeline) | [Recaudacion-20260423 11:23] |

### 2.2 Pipelines HubSpot — el motor del proceso

**Pipeline 1 — Facturación** (gobernado por acciones del analista) [Recaudacion-20260423 5:41, 6:06, 6:34]:

1. **Cargado** — EDP recién subido desde la macro mensual.
2. **Envío al cliente** — etapa donde más tiempo se acumula; insistencias para validar el EDP o conseguir la OC.
3. **Aprobado** — el analista adjunta la OC al EDP; la columna avanza como consecuencia.
4. **Facturado** — la factura se emite en Defontana (NO en HubSpot) y el pipeline marca el cierre.

> **RN-2.2.1** Los analistas no arrastran tarjetas (drag-and-drop) entre columnas. La columna cambia como consecuencia de ejecutar la acción (adjuntar OC, marcar enviado). Decisión vigente y consensuada [Recaudacion-20260423 8:34, 9:04].

**Pipeline 2 — Cobranza** (gobernado por fechas, no por acciones) [Recaudacion-20260423 9:57, 10:26, 10:54, 11:23]:

1. **Factura esperando aprobación** — primeros 8 días desde emisión (plazo legal de rechazo).
2. **Facturas por vencer** — entre los 8 días y la fecha de vencimiento.
3. **Factura vencida** — primeros 90 días desde vencimiento.
4. **Factura vencida +90 días** — incobrable estructural.
5. **Estados terminales:** **Pagada** / **Nota de crédito** / **Cedida (factoring)**.

> **RN-2.2.2** Plazo legal de 8 días para rechazo de factura desde emisión [Recaudacion-20260423 10:26, 29:42]. Es el único hito duro (regulatorio) del pipeline.
>
> **RN-2.2.3** Factoring: las facturas cedidas siguen un flujo aparte fuera del pipeline HubSpot principal [Recaudacion-20260423 11:23].

### 2.3 Frontera de entrada con Finanzas (handoff EDP → Factura)

El handoff EDP → Factura pertenece al proceso de Finanzas [§5.5 de `00-mapa-cruzado.md`; `Finanzas-20260416 4:50, 5:16`]. Recaudación recibe el resultado:

- **Producción valorizada** entra al área de Facturación ya con IVA incorporado por Ignacio [Recaudacion-20260423 1:36:50].
- **Macro Excel** genera EDP + carátula resumen por cliente y la "carpeta madre" SharePoint con subcarpetas distribuida por correo a cada analista [Recaudacion-20260423 1:51, 37:03, 37:59].
- **Notas de venta** se cargan a Defontana (1 línea por EDP, código numérico — antes era alfanumérico `WHM` pero el ERP solo acepta numérico) [Recaudacion-20260423 2:21, 3:18].
- **EDPs** se cargan a HubSpot pipeline Facturación; los contactos se recargan cada mes aunque sea la misma empresa (restricción del externo configurador) [Recaudacion-20260423 4:15].

> **RN-2.3.1** Ciclo nominal del EDP (Finanzas): ~5 días por iteración entre Workmed y cliente antes de obtener OC y emitir factura [§5.5 mapa-cruzado; Agendamiento-20260413 datos cuantitativos]. Recaudación toma el EDP cuando entra al pipeline Facturación; la frontera real es la emisión de la factura en Defontana.
>
> **RN-2.3.2** Volumen de EDPs entregados al pipeline: 300–400 por mes; tiempo de despacho ~2 días hábiles para todos [Recaudacion-20260423 6:06]. La producción no llega antes del día 5–6 del mes; los últimos EDPs salen recién el día 9 → se pierden 2–3 días de ventaja para facturar [Recaudacion-20260423 36:33].
>
> **RN-2.3.3** Los archivos EDP no son chicos: 957 a 3.000 filas; facturas $20M–$40M, casos extremos $300M–$400M [Recaudacion-20260423 25:00, 31:05]. Costo de evaluar por persona: ~$300.000 [Recaudacion-20260423 30:09].

**Cruce con `Finanzas-20260416`:** el ciclo EDP es donde aparecen D3 (peloteo del cliente) y D7 (cierre de mes manual). Ambos dolores llegan a Recaudación porque atrasan la emisión de la factura y, con eso, el arranque del pipeline de Cobranza [Finanzas-20260416 5:16, 18:42, 44:53; §5.5 mapa-cruzado].

### 2.4 Reglas de negocio principales

| ID | Regla | Cita |
|---|---|---|
| **RN-1** | El pipeline de Cobranza avanza por fechas, no por acciones. La gestión humana es paralela (registro de correos/llamadas en HubSpot) | [Recaudacion-20260423 9:57, 10:26] |
| **RN-2** | Plazo legal 8 días desde emisión para rechazo de factura | [Recaudacion-20260423 10:26, 29:42] |
| **RN-3** | Política "no bloquear cliente moroso porque le seguimos vendiendo": "le vende para que nos pague el que no nos paga". Bloquear es excepción coordinada caso a caso entre Comercial y Finanzas | [Recaudacion-20260423 32:26, 1:07:16, 1:07:42] |
| **RN-4** | Cartera estricta: cada analista trabaja solo SU cartera; "nadie toca clientes que no son de ellos" | [Recaudacion-20260423 37:32, 37:59] |
| **RN-5** | Defontana acepta solo códigos numéricos (forzó migración del esquema alfanumérico `WHM` al numérico actual) | [Recaudacion-20260423 2:21] |
| **RN-6** | La factura se emite en Defontana, NO en HubSpot. HubSpot es CRM de seguimiento | [Recaudacion-20260423 6:34, 7:00] |
| **RN-7** | Conciliación HubSpot ↔ Defontana es manual: Excel exportado de Contabilidad cruzado a mano por la Supervisora de Facturación | [Recaudacion-20260423 11:52, 12:22] |
| **RN-8** | Recarga mensual de contactos en HubSpot aunque sea la misma empresa (restricción impuesta por el externo configurador) | [Recaudacion-20260423 4:15] |
| **RN-9** | Reglas de descuento aplicadas por el script Python: por tramo, por lista, unitario, por grupo de empresas | [Recaudacion-20260423 1:31:31, 1:34:06] |
| **RN-10** | Ejemplo descuento por tramo (Syncore): facturado ~$208M; descuento del 16% sobre 750 personas; descuento aplicado ~$33M | [Recaudacion-20260423 1:34:06] |
| **RN-11** | Ejemplo precio cliente-específico (Ingeniería de Seguimiento Montajes): metanfetaminas $8.400 vs precio normal $9.538 | [Recaudacion-20260423 1:31:31] |
| **RN-12** | Ignacio entrega producción a Facturación con el IVA ya incorporado | [Recaudacion-20260423 1:36:50] |
| **RN-13** | Atenciones inasistentes (fechas tipo "1600 1969") se excluyen de la valorización | [Recaudacion-20260423 1:00:25, 1:17:39] |
| **RN-14** | Atenciones no finalizadas (cultivos, informes pendientes) NO entran en la producción del mes ni del siguiente — quedan colgadas | [Recaudacion-20260423 1:00:25, 1:00:50] |
| **RN-15** | Cierre de mes: se vuelve a descargar 1–31 completo; cambios estructurales (100 filas el 31 → 150 filas el 1) requieren re-cobrar o devolver | [Recaudacion-20260423 1:33:20, 1:33:37] |

### 2.5 Excepciones, casos borde y contradicciones

**Excepciones operacionales** [Recaudacion-20260423]:

- **Cliente rechaza el EDP por confusión, no por error real:** "no me acuerdo, ¿me dijiste que pinchó o no?" — obliga a reabrir el agendamiento original [15:08, 15:37].
- **Casos extremos de validación EDP hasta 2 meses** (en general son semanas) [16:36].
- **Cliente con flujo OC complejo:** firma de varias personas, "el que firma está de baja, el otro de vacaciones" [31:30].
- **Cambios de centro de costo / proyecto / solicitante post-agendamiento** obligan a recortar el EDP [14:11, 20:18].
- **Cliente pide EDPs separados:** algunos por centro de costo, otros por solicitante, otros consolidado; la OC también puede ser parcial [21:15].
- **Sobre-reporte de centros acreditados:** legalmente entregan más exámenes (ej. 10 drogas cuando se pidieron 5); el cliente lo usa como excusa para rechazar EDP [56:07, 57:32].
- **Cambios de prestación a media atención** (ej. droga adicional con paciente ya retirado): en centros propios se absorbe; con acreditados o muestras ya remitidas, no [54:17, 55:41].
- **Empresas de proyecto cuyo cobro depende del mandante** (construcción/montaje minero): bola de nieve si el mandante no paga al proyecto [30:37, 31:05].
- **Mismo RUT con variantes de nombre** ("Ignacio Ahumada Muñoz" vs "...Muñoz X" vs "Ignacio Muñoz."): rompe joins por nombre+RUT, requiere depuración manual extensa [1:30:35, 1:39:12].

**Contradicciones que afectan a Recaudación** (cruzadas con §6 mapa):

- **§6.2 Hosting FlowMed (alta):** on-premise + réplica AWS vs solo réplica AWS. Afecta dependencia técnica del script Python y de la AWS RDS [00-mapa-cruzado §6.2].
- **§6.3 Acceso AWS RDS — Eduardo González como punto único de falla (media):** el script Python y la analítica avanzada de Recaudación dependen de un solo gatekeeper [Recaudacion-20260423 1:25:32, 1:38:42; mapa §6.3].
- **§6.4 Integración HubSpot ↔ Defontana (media):** proyecto activo en 2026, distinto del intento fallido de 2024 entre HubSpot y FlowMed; hay que separar los dos nombres para no confundirlos [Recaudacion-20260423 7:00, 11:23; mapa §6.4].
- **§6.5 Iniciativa de valorización en FlowMed: lista pero abandonada hace ~6 meses** por rotación del validador. "Calculaba bien? Nunca se llegó a validar" [Recaudacion-20260423 38:29, 41:43, 42:13; mapa §6.5].
- **§6.9 Autoría del script Python:** F5 (Finanzas) lo describe como GitHub personal de Ignacio; F11 (esta sesión) clarifica autoría Rodrigo + operación Ignacio. Script vive en GitHub personal de Rodrigo, en migración a GitHub de Workmed de Workmed [Recaudacion-20260423 1:15:49, 1:30:05; mapa §6.9].

**Contradicciones internas del proceso (§6 mapa-cruzado consolidado):**

1. **Script Python = único punto de falla** que concentra reglas de negocio (precios, descuentos, depuración de identidad de empresas). 2.553 líneas, mayoría depuración de variantes de RUT — más que las reglas de descuento puro [Recaudacion-20260423 1:30:35, 1:31:02, 1:38:42].
2. **Iniciativa de valorización abandonada** en FlowMed: módulo construido y luego no validado por rotación [Recaudacion-20260423 38:29, 41:43].
3. **Identidad fragmentada:** un solo cliente vive en al menos 4 sistemas (FlowMed, HubSpot, Defontana, comercial), sin sincronización [Recaudacion-20260423 1:38:13, 1:39:12].

### 2.6 Workarounds operativos vigentes

| Workaround | Descripción | Cita |
|---|---|---|
| Macro Excel core de EDP | La lógica de armado del EDP (carátula + detalle) vive en una macro Excel, no en un sistema | [Recaudacion-20260423 1:51, 37:03] |
| Conciliación manual via Excel | La Supervisora de Facturación exporta Excel de Defontana, exporta de HubSpot, cruza a mano | [Recaudacion-20260423 11:52, 12:22] |
| Doble descarga de mes | Ignacio descarga día a día y al cierre re-descarga 1–31 completo; compara para detectar cambios "detectivescamente" | [Recaudacion-20260423 1:33:20, 1:35:04] |
| Carpeta SharePoint madre por correo | Distribución de cartera a analistas vía correo + carpeta SharePoint, no sistema centralizado | [Recaudacion-20260423 37:59] |
| Recarga mensual de contactos HubSpot | Evita la restricción del externo configurador | [Recaudacion-20260423 4:15] |
| Bloqueo manual de morosos | Coordinado en reuniones Comercial-Finanzas caso a caso | [Recaudacion-20260423 1:07:16, 1:07:42] |
| Depuración de identidad en Python | Sección más extensa del script (más larga que las reglas de descuento) | [Recaudacion-20260423 1:30:35, 1:31:02] |

### 2.7 KPIs declarados (estado actual)

| KPI | Cifra | Cita |
|---|---|---|
| Volumen EDPs mensuales | 300–400 | [Recaudacion-20260423 6:06] |
| Tiempo de despacho mensual de EDPs | ~2 días hábiles | [Recaudacion-20260423 6:06] |
| Plazo legal rechazo factura | 8 días desde emisión | [Recaudacion-20260423 10:26] |
| Caso extremo validación EDP | 2 meses | [Recaudacion-20260423 16:36] |
| Tiempo Ignacio valorización/depuración | 1 a 1.5 días por ciclo | [Recaudacion-20260423 1:36:50] |
| Tamaño promedio archivo EDP | 957 a 3.000 filas | [Recaudacion-20260423 25:00] |
| Tamaño facturas | $20M–$40M (extremos $300M–$400M) | [Recaudacion-20260423 31:05] |
| Costo evaluación por persona | ~$300.000 | [Recaudacion-20260423 30:09] |
| Líneas script Python valorización | 2.553 | [Recaudacion-20260423 1:30:35] |
| Tabla log FlowMed | 31 GB | [Recaudacion-20260423 1:26:56] |
| Tabla atención FlowMed | 2.2 GB | [Recaudacion-20260423 1:26:56] |
| Otras tablas FlowMed grandes | dos de ~13 GB cada una | [Recaudacion-20260423 1:27:22] |
| Ejemplo descuento Syncore | 16% sobre 750 personas → ~$33M sobre ~$208M | [Recaudacion-20260423 1:34:06] |
| Ciclo EDP nominal (Finanzas) | ~5 días por iteración | [§5.5 mapa-cruzado; cruce Finanzas-20260416] |

---

## 3. Historias de Usuario (Gherkin)

### HU-1 — Despacho mensual de EDPs

```gherkin
Funcionalidad: Despacho del lote mensual de EDPs al cliente
  Como Supervisora de Facturación
  Quiero distribuir los EDPs del mes a los analistas de cartera
  Para que cada analista persiga la OC de sus clientes asignados

  Antecedentes:
    Dado que Ignacio entregó la producción valorizada con IVA incorporado
    Y la macro Excel generó la carpeta madre con subcarpetas por cliente
    Y el lote es de 300 a 400 EDPs

  Escenario: Distribución exitosa por cartera
    Cuando ejecuto la macro y envío la carpeta madre por correo
    Entonces cada analista recibe SOLO su cartera
    Y el despacho de todos los EDPs concluye en aproximadamente 2 días hábiles
    Y los EDPs aparecen como "Cargado" en el pipeline Facturación de HubSpot
```

[Recaudacion-20260423 6:06, 37:03, 37:59]

### HU-2 — Avanzar EDP por acción del analista

```gherkin
Funcionalidad: Movimiento de EDP en pipeline Facturación
  Como analista de cartera
  Quiero ejecutar acciones sobre el EDP (no arrastrar tarjetas)
  Para que la columna avance como consecuencia y haya trazabilidad

  Escenario: Adjunto OC y avanzo a Aprobado
    Dado un EDP en estado "Envío al cliente"
    Cuando recibo la OC del cliente por correo
    Y la adjunto al EDP en HubSpot
    Entonces el EDP avanza automáticamente a "Aprobado"
    Y quedan registrados quién y cuándo ejecutó la acción
```

[Recaudacion-20260423 6:34, 8:34, 9:04]

### HU-3 — Emisión de factura tras aprobación

```gherkin
Funcionalidad: Emisión de factura en Defontana
  Como analista de cartera
  Quiero emitir la factura en Defontana cuando el EDP está aprobado
  Para que se cree el negocio cobranza en HubSpot y empiece el conteo legal

  Escenario: Factura emitida activa pipeline Cobranza
    Dado un EDP en estado "Aprobado" con OC adjunta
    Cuando emito la factura en Defontana
    Entonces el EDP se marca como "Facturado" en pipeline Facturación
    Y se crea un nuevo "negocio cobranza" en pipeline Cobranza
    Y el negocio inicia en estado "Factura esperando aprobación" con reloj de 8 días
```

[Recaudacion-20260423 6:34, 8:05, 9:28, 10:26]

### HU-4 — Avance del pipeline Cobranza por fechas

```gherkin
Funcionalidad: Pipeline Cobranza gobernado por fechas
  Como analista de Cobranza
  Quiero que la columna del negocio avance automáticamente por fecha
  Para concentrar mi gestión en clientes según su criticidad

  Escenario: Vencimiento del plazo legal de rechazo
    Dado un negocio cobranza creado hoy
    Cuando transcurren 8 días desde la emisión de la factura
    Entonces el negocio avanza a "Facturas por vencer"

  Escenario: Avance a vencida +90
    Dado un negocio en "Factura vencida"
    Cuando transcurren 90 días desde el vencimiento
    Entonces el negocio avanza a "Factura vencida +90 días"
```

[Recaudacion-20260423 9:57, 10:26, 10:54]

### HU-5 — Conciliación manual HubSpot ↔ Defontana

```gherkin
Funcionalidad: Conciliación periódica de estado de facturas
  Como Supervisora de Facturación
  Quiero cruzar el Excel de Contabilidad con HubSpot
  Para reflejar pagos / notas de crédito / cesiones a factoring

  Escenario: Pagada
    Dado el Excel de "deudores comerciales / facturas por cobrar" de Defontana
    Cuando una factura aparece pagada en Defontana
    Entonces actualizo manualmente el negocio en HubSpot a "Pagada"

  Escenario: Cedida a factoring
    Cuando una factura aparece cedida en Defontana
    Entonces actualizo manualmente a "Cedida" y la saco del flujo principal
```

[Recaudacion-20260423 11:23, 11:52, 12:22]

### HU-6 — Persecución de OC a cliente con flujo complejo

```gherkin
Funcionalidad: Insistencia para obtener OC
  Como analista de cartera
  Quiero registrar correos y llamadas al cliente
  Para mantener trazabilidad de la gestión de OC

  Escenario: Cliente con firmantes ausentes
    Dado un EDP aprobado por el cliente
    Y la OC requiere firma de tres personas y dos están ausentes
    Cuando insisto por correo y llamada
    Entonces registro cada gestión en el negocio HubSpot
    Y el EDP permanece en "Envío al cliente" por semanas

  Escenario: Caso extremo
    Cuando la validación del EDP llega a 2 meses
    Entonces escalo a Juan Pablo Coustasse para apoyo de negociación comercial
```

[Recaudacion-20260423 16:36, 31:30, 9:04]

### HU-7 — Valorización diaria con script Python

```gherkin
Funcionalidad: Valorización de la producción
  Como Ignacio Ahumada
  Quiero ejecutar el script Python sobre la consolidación día-a-día
  Para entregar a la Supervisora de Facturación la producción valorizada con descuentos aplicados

  Antecedentes:
    Dado que descargué el Excel "Control de pago" desde Secall
    Y consolidé el día N al acumulado del mes

  Escenario: Re-descarga al cierre
    Cuando llega el cierre de mes
    Entonces re-descargo del 1 al 31 completo
    Y comparo el consolidado diario contra la descarga full
    Y detecto cambios estructurales (ej. 100 filas el 31 vs 150 el 1)

  Escenario: Aplicación de reglas de descuento
    Cuando ejecuto el script Python (~2.553 líneas)
    Entonces aplica depuración de empresas (variantes de RUT)
    Y aplica precios por cliente, descuentos por tramo / lista / unitario / grupo
    Y produce un dataframe valorizado para dashboard y Facturación
```

[Recaudacion-20260423 1:30:35, 1:32:25, 1:33:20, 1:33:37, 1:34:06]

### HU-8 — Depuración de identidad de empresa por variantes de RUT

```gherkin
Funcionalidad: Unificación de variantes del mismo RUT
  Como Ignacio
  Quiero que el script Python unifique variantes del mismo RUT
  Para que los joins por nombre+RUT no se rompan

  Escenario: Mismo RUT distintos nombres
    Dado tres registros con RUTs equivalentes pero nombres distintos
      | nombre               |
      | Ignacio Ahumada Muñoz|
      | Ignacio Ahumada Muñoz X|
      | Ignacio Muñoz.       |
    Cuando ejecuto la sección de depuración del script
    Entonces los tres registros se consolidan a una sola entidad cliente
    Y la sección de depuración es la más extensa del script (mayor que las reglas de descuento)
```

[Recaudacion-20260423 1:30:35, 1:31:02, 1:39:12]

### HU-9 — Bloqueo manual de cliente moroso

```gherkin
Funcionalidad: Bloqueo manual de cliente
  Como CFO (Juan Pablo Coustasse) en coordinación con Comercial
  Quiero bloquear caso a caso un cliente moroso
  Sabiendo que la política por defecto es NO bloquear

  Antecedentes:
    Dada la política "le seguimos vendiendo al que no nos paga"
    Y la ausencia de palanca contractual formal de presión

  Escenario: Bloqueo coordinado
    Dado un cliente con N facturas vencidas +90 días
    Cuando se reúnen Comercial y Finanzas
    Entonces se decide bloquear puntualmente al cliente
    Y se documenta la decisión por correo (sin sistema)

  Escenario: No bloqueo (default)
    Dado un cliente moroso pero con flujo de venta activo
    Entonces se mantiene la atención y la cobranza opera sin palanca
```

[Recaudacion-20260423 29:16, 32:26, 1:07:16, 1:07:42]

### HU-10 — Cesión de factura a factoring

```gherkin
Funcionalidad: Cesión de factura
  Como Tesorería / Finanzas
  Quiero ceder una factura a una empresa de factoring
  Para liquidar el cobro fuera del flujo HubSpot principal

  Escenario: Cesión efectiva
    Dado un negocio cobranza con factura emitida
    Cuando se cede a factoring
    Entonces el negocio queda en estado "Cedida"
    Y queda fuera del flujo de gestión de cobranza interno
```

[Recaudacion-20260423 11:23]

### HU-11 — Aviso de descuento no aplicado vía Mónica

```gherkin
Funcionalidad: Sincronización tardía de cambios comerciales
  Como Ignacio
  Quiero recibir avisos de cambios de tramo / descuentos no aplicados
  Sabiendo que el canal es correo (sin tickets)

  Escenario: Aviso a destiempo
    Dado que envié la producción del día 7 a Facturación
    Cuando Mónica (PMO) me avisa el día 8 que el cliente X tenía un descuento no aplicado
    Entonces debo retroceder, recalcular y reemitir
    Y no tengo certeza de haber recibido todos los correos de cambios
```

[Recaudacion-20260423 1:36:01, 1:37:19]

### HU-12 — Atención no finalizada queda colgada

```gherkin
Funcionalidad: Tratamiento de atenciones colgadas
  Como Ignacio
  Quiero excluir de la valorización las atenciones que aún no finalizan (ej. cultivos)
  Para no facturar producción no completable

  Escenario: Cultivo pendiente al cierre de mes
    Dado una atención con informe pendiente al día 31
    Cuando ejecuto la valorización del mes
    Entonces la atención NO entra en la producción de este mes
    Y si finaliza al mes siguiente, tampoco entra ahí
    Y queda colgada hasta resolución manual
```

[Recaudacion-20260423 1:00:25, 1:00:50]

---

## 4. Diagrama BPMN (Mermaid) — flujo de cobranza

```mermaid
flowchart TD
  start(("Factura emitida<br/>en Defontana<br/>(handoff Finanzas)"))
  start --> create["Crear negocio cobranza<br/>en HubSpot pipeline 2"]
  create --> esp{{"Estado:<br/>Esperando aprobación<br/>(reloj 8 días legal)"}}

  esp -->|"&lt;8 días<br/>cliente rechaza"| rechazo["Rechazo formal<br/>(plazo legal)"]
  rechazo --> nc["Emitir nota crédito<br/>en Defontana"]
  nc --> term_nc(("Estado terminal:<br/>Nota de crédito"))

  esp -->|"transcurren 8 días<br/>sin rechazo"| porvencer{{"Estado:<br/>Por vencer<br/>(hasta vencimiento)"}}
  porvencer -->|"pago recibido"| pagada(("Estado terminal:<br/>Pagada"))
  porvencer -->|"vence sin pago"| vencida{{"Estado:<br/>Vencida<br/>(0–90 días)"}}

  vencida --> gestion["Gestión de cobranza<br/>(correos, llamadas)<br/>registrada en HubSpot"]
  gestion -->|"pago recibido"| pagada
  gestion -->|"se cede a factoring"| cesion["Cesión a empresa factoring<br/>(flujo aparte)"]
  cesion --> term_ced(("Estado terminal:<br/>Cedida"))
  gestion -->|"transcurren 90 días"| vencida90{{"Estado:<br/>Vencida +90 días"}}

  vencida90 --> escalar["Escalamiento Comercial-Finanzas<br/>(reunión caso a caso)"]
  escalar -->|"política default:<br/>no bloquear, le seguimos vendiendo"| gestion
  escalar -->|"decisión excepcional"| bloqueo["Bloqueo manual del cliente<br/>(documentado por correo)"]
  bloqueo --> gestion
  escalar -->|"pago tardío"| pagada
  escalar -->|"se cede a factoring"| cesion

  conc[("Conciliación manual<br/>HubSpot ↔ Defontana<br/>via Excel — Supervisora de Facturación")]
  conc -.->|"actualiza estado<br/>(periódica)"| esp
  conc -.-> porvencer
  conc -.-> vencida
  conc -.-> vencida90
```

> **Notas del diagrama:**
> - Estados terminales (círculos dobles): Pagada / Nota de crédito / Cedida.
> - Transiciones gobernadas por fechas: esperando → por vencer (8 días) → vencida (vencimiento) → vencida +90 (90 días tras vencimiento).
> - La conciliación manual via Excel actualiza estados desde Defontana hacia cualquier columna activa del pipeline.
> - El bloqueo de cliente es excepción: la política default es no bloquear porque "le seguimos vendiendo".

[Recaudacion-20260423 8:05, 9:28, 9:57, 10:26, 10:54, 11:23, 11:52, 32:26, 1:07:16]

---

## 5. Trazabilidad

### 5.1 Reglas de negocio → fuente

| RN | Cita |
|---|---|
| RN-2.2.1 acción gatilla columna | [Recaudacion-20260423 8:34, 9:04] |
| RN-2.2.2 plazo legal 8 días | [Recaudacion-20260423 10:26, 29:42] |
| RN-2.2.3 factoring fuera del pipeline | [Recaudacion-20260423 11:23] |
| RN-2.3.1 ciclo EDP 5 días | §5.5 `00-mapa-cruzado.md`; `Finanzas-20260416 4:50, 5:16` |
| RN-2.3.2 volumen 300–400 / 2 días despacho | [Recaudacion-20260423 6:06] |
| RN-2.3.3 tamaño facturas / EDP / costo | [Recaudacion-20260423 25:00, 30:09, 31:05] |
| RN-1 pipeline por fechas | [Recaudacion-20260423 9:57, 10:26] |
| RN-2 plazo legal 8 días | [Recaudacion-20260423 10:26, 29:42] |
| RN-3 política no bloquear | [Recaudacion-20260423 32:26, 1:07:16, 1:07:42] |
| RN-4 cartera estricta | [Recaudacion-20260423 37:32, 37:59] |
| RN-5 Defontana solo numérico | [Recaudacion-20260423 2:21] |
| RN-6 factura en Defontana, no HubSpot | [Recaudacion-20260423 6:34, 7:00] |
| RN-7 conciliación manual Excel | [Recaudacion-20260423 11:52, 12:22] |
| RN-8 recarga mensual contactos HubSpot | [Recaudacion-20260423 4:15] |
| RN-9 reglas de descuento Python | [Recaudacion-20260423 1:31:31, 1:34:06] |
| RN-10 ejemplo Syncore 16% | [Recaudacion-20260423 1:34:06] |
| RN-11 ejemplo metanfetaminas $8.400 | [Recaudacion-20260423 1:31:31] |
| RN-12 IVA incorporado por Ignacio | [Recaudacion-20260423 1:36:50] |
| RN-13 inasistentes excluidos | [Recaudacion-20260423 1:00:25, 1:17:39] |
| RN-14 atenciones no finalizadas colgadas | [Recaudacion-20260423 1:00:25, 1:00:50] |
| RN-15 cierre de mes inestable | [Recaudacion-20260423 1:33:20, 1:33:37] |

### 5.2 Historias de Usuario → fuente

| HU | Tema | Cita principal |
|---|---|---|
| HU-1 | Despacho mensual EDPs | [Recaudacion-20260423 6:06, 37:03, 37:59] |
| HU-2 | Avance por acción | [Recaudacion-20260423 6:34, 8:34, 9:04] |
| HU-3 | Emisión factura | [Recaudacion-20260423 6:34, 8:05, 9:28, 10:26] |
| HU-4 | Pipeline por fechas | [Recaudacion-20260423 9:57, 10:26, 10:54] |
| HU-5 | Conciliación HubSpot ↔ Defontana | [Recaudacion-20260423 11:23, 11:52, 12:22] |
| HU-6 | Persecución de OC | [Recaudacion-20260423 16:36, 31:30, 9:04] |
| HU-7 | Valorización Python | [Recaudacion-20260423 1:30:35, 1:32:25, 1:33:20, 1:34:06] |
| HU-8 | Depuración variantes RUT | [Recaudacion-20260423 1:30:35, 1:31:02, 1:39:12] |
| HU-9 | Bloqueo manual moroso | [Recaudacion-20260423 29:16, 32:26, 1:07:16] |
| HU-10 | Cesión factoring | [Recaudacion-20260423 11:23] |
| HU-11 | Aviso descuento tardío | [Recaudacion-20260423 1:36:01, 1:37:19] |
| HU-12 | Atención no finalizada | [Recaudacion-20260423 1:00:25, 1:00:50] |

### 5.3 Actores → fuente

| Actor | Citas |
|---|---|
| Supervisora de Facturación | [Recaudacion-20260423 37:03, 37:59, 11:52] |
| Analistas cartera Facturación | [Recaudacion-20260423 37:32, 37:59] |
| Analistas cartera Cobranza | [Recaudacion-20260423 9:57, 33:02] |
| Juan Pablo Coustasse (CFO) | [Recaudacion-20260423 9:04, 9:28]; `Finanzas-20260416 45:47` |
| Ignacio Ahumada | [Recaudacion-20260423 1:14:55, 1:36:50] |
| Rodrigo Llancao | [Recaudacion-20260423 1:14:55, 1:30:35] |
| Mónica Pérez (PMO) | [Recaudacion-20260423 1:37:19] |
| Eduardo González | [Recaudacion-20260423 1:25:32, 1:38:42] |
| Equipo Comercial | [Recaudacion-20260423 9:04, 9:28]; `Finanzas-20260416 33:33` |
| Contraloría | [Recaudacion-20260423 1:39:35] |
| Externo HubSpot | [Recaudacion-20260423 4:46, 4:15] |
| Empresas factoring | [Recaudacion-20260423 11:23] |

### 5.4 Sistemas → fuente

| Sistema | Rol en Recaudación | Cita |
|---|---|---|
| HubSpot | CRM con dos pipelines (Facturación + Cobranza) | [Recaudacion-20260423 5:41, 9:57, 36:05] |
| Defontana (ERP) | Emisión factura, cuenta deudores comerciales / venta no facturada | [Recaudacion-20260423 6:34, 11:52, 2:21] |
| FlowMed/Secall — módulo "Control de pago" | Origen Excel diario para valorización | [Recaudacion-20260423 1:16:18, 1:17:11] |
| AWS RDS read-replica | Acceso técnico a la base productiva (sin modelo documentado) | [Recaudacion-20260423 1:22:50, 1:23:16] |
| Script Python valorización | 2.553 líneas; reglas descuento + depuración identidad | [Recaudacion-20260423 1:30:35, 1:31:31] |
| Macro Excel EDP + carátula | Lógica de armado del EDP | [Recaudacion-20260423 1:51, 37:03] |
| SharePoint | Carpeta madre por cliente distribuida por correo | [Recaudacion-20260423 37:59] |
| Power BI | Dashboard financiero (consume dataframe Python) | [Recaudacion-20260423 1:34:06] |
| GitHub personal Rodrigo / GitHub de Workmed Workmed | Repositorio del script Python (en migración) | [Recaudacion-20260423 1:15:49, 1:30:05] |

### 5.5 Excepciones → fuente

| Excepción | Cita |
|---|---|
| Cliente rechaza por confusión, no error | [Recaudacion-20260423 15:08, 15:37] |
| Casos extremos validación 2 meses | [Recaudacion-20260423 16:36] |
| Cliente flujo OC complejo | [Recaudacion-20260423 31:30] |
| Cambios centro costo / proyecto / solicitante post-agendamiento | [Recaudacion-20260423 14:11, 20:18] |
| Cliente pide EDPs separados | [Recaudacion-20260423 21:15] |
| Sobre-reporte centros acreditados | [Recaudacion-20260423 56:07, 57:32] |
| Cambios prestación a media atención | [Recaudacion-20260423 54:17, 55:41] |
| Empresas proyecto dependen mandante | [Recaudacion-20260423 30:37, 31:05] |
| Mismo RUT variantes de nombre | [Recaudacion-20260423 1:30:35, 1:39:12] |
| Atenciones inasistentes excluidas | [Recaudacion-20260423 1:00:25, 1:17:39] |
| Atenciones no finalizadas colgadas | [Recaudacion-20260423 1:00:25, 1:00:50] |
| Cierre de mes estructural (100 → 150 filas) | [Recaudacion-20260423 1:33:37] |
| Aviso descuento a destiempo (Mónica) | [Recaudacion-20260423 1:37:19] |

### 5.6 Contradicciones cruzadas con `00-mapa-cruzado.md` §6

| § mapa | Contradicción | Severidad | Cita primaria |
|---|---|---|---|
| §6.2 | Hosting FlowMed: on-prem + AWS replica vs solo AWS replica | alta | mapa §6.2 |
| §6.3 | Eduardo González — punto único de falla AWS RDS | media | [Recaudacion-20260423 1:25:32, 1:38:42] |
| §6.4 | HubSpot ↔ Defontana (proyecto activo 2026) vs HubSpot ↔ FlowMed (intento 2024 fracasado) | media | [Recaudacion-20260423 7:00, 11:23] |
| §6.5 | Iniciativa de valorización en FlowMed lista pero abandonada hace ~6 meses | media | [Recaudacion-20260423 38:29, 41:43, 42:13] |
| §6.9 | Autoría script Python: F5 dice GitHub Ignacio, F11 clarifica autoría Rodrigo | media | [Recaudacion-20260423 1:15:49, 1:30:35] |

### 5.7 Cruce con Finanzas (§5.5 mapa-cruzado)

- **Frontera entrada:** ciclo EDP gobernado por Finanzas (5 días por iteración nominal); ver `Finanzas-20260416 4:50, 5:16, 32:35` y §5.5 mapa-cruzado.
- **Sistemas compartidos:** HubSpot (cuentas separadas Finanzas / Comercial), Defontana (la Supervisora de Facturación carga notas de venta), FlowMed/Secall (Ignacio descarga producción), Script Python (Rodrigo autor / Ignacio operador), Macro Excel (la corre mensualmente la Supervisora de Facturación), Power BI (dashboard financiero).
- **Roles compartidos:** Supervisora de Facturación, Juan Pablo Coustasse, Ignacio Ahumada, Rodrigo Llancao, ejecutivos comerciales, externo HubSpot.
- **Dolores que solapan:** D3 peloteo del EDP, D7 cierre de mes manual, D5 línea de crédito ausente, D14 rotación gerentes TI; ver `Finanzas-20260416 5:16, 18:42, 6:15, 37:26` y §5.5 mapa-cruzado.
- **KPI compartido:** ciclo EDP ~5 días por iteración; volumen 300–400 EDPs mensuales; tamaño facturas $20M–$400M.
