Modelado BPMN 2.0 — Ciclo EDP → Factura_
Proceso end-to-end de Finanzas y Estado de Pago de Workmed: producción cerrada por Contraloría, valorización con script Python (~18 s), revisión caso a caso de Facturación, peloteo con el cliente y emisión de factura en Defontana — handoff a Recaudación / Cobranza.
📄 Ver versión extendida AS-IS · documento fuente con detalle granular →
cat ./00-resumen.md
Finanzas reconoce ingresos sobre producción devengada (no sobre facturación) y cobra mediante el ciclo EDP → OC → Factura. La pila combina cuatro piezas: la producción se descarga de FlowMed/Secall, se valoriza con un script Python local de ~2.553 líneas (autoría Rodrigo Llancao, operación Ignacio Ahumada) [Finanzas-20260416 43:32; Recaudacion-20260423 1:30:35], Belén corre una macro Excel que arma carátulas y carpetas por cliente [Recaudacion-20260423 37:03, 37:59], el seguimiento vive en un HubSpot «torcido» [Finanzas-20260416 32:35] y la facturación e ingresos van por Defontana tras el reemplazo de NetSuite en enero 2025 [Finanzas-20260416 31:39, 32:07].
El equipo procesa 300-400 EDPs/mes, despacha la tanda en ~2 días hábiles y tiene 8 días corridos de plazo legal antes del rechazo de la factura [Recaudacion-20260423 6:06, 10:26]. Dueño del proceso: Juan Pablo Coustasse (CFO), con ~22-23 personas entre Finanzas, Contabilidad, Tesorería, Abastecimiento y Personas (endosado) [Finanzas-20260416 45:47, 46:16].
Particularidad contable: ingresos se reconocen contra producción del mes con contra-cuenta «Estados de pago por facturar» y se mueven a «Deudores comerciales» al facturar [Finanzas-20260416 23:57, 24:27]. El dolor de fondo no nace en Finanzas: viene de errores aguas arriba (Comercial / Agendamiento) y el ciclo EDP los amplifica con ~5 días por iteración con el cliente, hasta casos extremos de 2 meses [Finanzas-20260416 5:16; Recaudacion-20260423 16:36].
Notación: BPMN 2.0 con 1 pool (Workmed Finanzas) y 4 lanes — Ignacio (BI / valorización), Belén (Facturación), Contabilidad y Sistemas (Secall espejo, Power BI, HubSpot, Defontana). Los rectángulos azules son userTask (humano + sistema), los naranjas son manualTask (humano sin sistema, fricción), los verdes son serviceTask (automático), los cilindros gris claro son dataStoreReference. Las referencias RN-FI-NN, EX-FI-NN, D#, W# y M# remiten al documento Lógica de Negocio — Finanzas y al finding del 16 de abril de 2026.
man bpmn-symbols
Leyenda de los símbolos BPMN utilizados en ambos diagramas:
cat ./01-finanzas-principal.bpmn
Diagrama AS-IS del ciclo EDP → Factura. La frontera entrante es la producción cerrada por Contraloría [Flowmed-20260409 35:02] y la saliente es la factura emitida + caso traspasado al pipeline de Cobranza [Recaudacion-20260423 6:34]. El gateway central «¿Cliente acepta y envía OC?» captura el bucle de peloteo de ~5 días por iteración [Finanzas-20260416 5:16]: si el cliente observa, Belén reabre, corrige y reemite; si llega la OC, se habilita la emisión de factura en Defontana. El reconocimiento contable ocurre antes de facturar (RN-FIN-01).
Elementos identificados
| Tipo BPMN | Elemento | Lane |
|---|---|---|
startEvent | Cierre de mes / fecha de corte | Ignacio Ahumada |
userTask | Descarga producción del mes desde Secall (RN-FI-19) | Ignacio Ahumada |
userTask | Corre script Python local ~18s — precios y validaciones (RN-FI-02) | Ignacio Ahumada |
manualTask | Cruza correos SAC + agendamiento + comerciales (W2) | Ignacio Ahumada |
sendTask | Entrega planilla valorizada | Ignacio Ahumada |
userTask | Revisa caso a caso (1-1,5 días, RN-FI-05) | Belén / Facturación |
userTask | Arma EDP — carátula + detalle + traductor batería (RN-FI-06/09) | Belén / Facturación |
userTask | Carga EDP en HubSpot como negocio (W3) | Belén / Facturación |
userTask | Carga nota de venta en Defontana (RN-FI-10) | Belén / Facturación |
sendTask | Envía carátula EDP al cliente | Belén / Facturación |
exclusiveGateway | ¿Cliente acepta y envía OC? | Belén / Facturación |
userTask | Procesa observaciones y reemite (D3 / EX-FI-09) | Belén / Facturación |
userTask | Emite factura en Defontana (RN-FI-13/14) | Belén / Facturación |
serviceTask | Reconoce ingreso vs «EDP por Facturar» (RN-FI-01/11) | Contabilidad |
serviceTask | Mueve a «Deudores Comerciales» al facturar (RN-FI-12) | Contabilidad |
dataStoreReference | Secall (espejo FlowMed, desfase 5-10 min) | Sistemas |
dataStoreReference | Power BI (precio lista) | Sistemas |
dataStoreReference | HubSpot Finanzas | Sistemas |
dataStoreReference | Defontana — Nota de venta | Sistemas |
dataStoreReference | Defontana — Factura emitida | Sistemas |
endEvent | Factura emitida e ingreso reconocido | Belén / Facturación |
1 · Peloteo del EDP (~5 días por iteración). Errores acumulados aguas arriba — centro de costo malformado 100A vs 100 espacio A [Finanzas-20260416 3:35], tipo de cobro mal asignado, batería con nomenclatura propia del cliente [Finanzas-20260416 10:16], descuentos verbales sin contrato en el ERP [Finanzas-20260416 3:08, 15:01] — se manifiestan al enviar el EDP. «Ahí nos pelotean, nos pelotean y una vez que tenemos la orden de compra recién podemos facturar» [Finanzas-20260416 5:16, 18:42]. Casos extremos: hasta 2 meses para devolver el EDP validado [Recaudacion-20260423 16:36].
2 · Valorización fuera de infraestructura corporativa. El script Python (~2.553 líneas, autor Rodrigo Llancao, operador Ignacio) corría en GitHub personal — en migración a GitHub de Workmed [Recaudacion-20260423 1:30:35, 1:38:42; Finanzas-20260416 45:17]. La depuración de variantes de RUT (puntos, comas, X) es la sección más extensa del script, mayor que las reglas de descuento [Recaudacion-20260423 1:31:02, 1:39:12]. La iniciativa de internalizar la valorización en FlowMed quedó abandonada hace ~6 meses por rotación del validador [Recaudacion-20260423 38:29, 41:43]: continuidad operacional concentrada en dos personas y un repo personal.
3 · Producción retroactiva descalza meses cerrados. FlowMed no tiene cierre de mes formal: laboratorios externos no integrados (Violera y similares) reportan atenciones de marzo en abril [Finanzas-20260416 7:34, 8:27, 9:22]. Como el ingreso se reconoce contra producción y no contra facturación (RN-FIN-01), cada llegada tardía obliga a doble descarga + comparación «detectivesca» (100 filas el 31 → 150 el 1) [Recaudacion-20260423 1:33:37, 1:35:04].
grep -i recomendacion ./
Sobre la base del modelado AS-IS y los dolores levantados con Juan Pablo Coustasse, Belén e Ignacio Ahumada, EMERCOM propone cuatro frentes priorizados. La mayoría no se resuelven en Finanzas: nacen aguas arriba (Comercial / Agendamiento / Operaciones) y se cosechan en el ciclo EDP. El propio CFO lo planteó así: «toda esta parte mía es la menos prioritaria… le metería todos los esfuerzos a la producción, al agendamiento, antes de llegar al estado de pago» [Finanzas-20260416 25:23, 25:53].
Completar la migración desde GitHub personal de Rodrigo a GitHub de Workmed de Workmed [Recaudacion-20260423 1:30:35, 1:38:42], con CI/CD, ejecución programada y al menos dos operadores entrenados. Es la pieza que determina los estados financieros del mes (~2.553 líneas, fuente autoritativa de pricing) y hoy concentra continuidad operacional en una sola persona [Finanzas-20260416 45:17].
Reemplazar el cruce manual de correos de SAC, agendamiento y comerciales por una tabla canónica de descuentos por cliente que el script lea directo (tramos por volumen 5/10/12% en 100/200/500 pacientes, lista, unitario, grupo) [Recaudacion-20260423 1:31:31, 1:34:06]. Cierra RN-FIN-02 + EX-FIN-03 (negociación verbal sin contrato en el ERP) y elimina la dependencia de que el correo «llegue» a Ignacio antes del cierre de mes [Finanzas-20260416 44:53].
Validaciones de centro de costo, tipo de cobro y traductor de baterías por cliente antes de enviar la carátula — bloqueos duros para datos críticos y alertas visibles para no críticos. Objetivo: cerrar las excusas que hoy gatillan el peloteo (centros 100A mal escritos [Finanzas-20260416 3:35], baterías con nomenclatura cliente [Finanzas-20260416 10:16], EDPs separados por centro de costo o solicitante [Recaudacion-20260423 21:15]).
Definir explícitamente cómo se ajustan los estados financieros cuando llegan atenciones de meses ya cerrados (laboratorios externos no integrados a FlowMed, EX-FIN-01) [Finanzas-20260416 8:04, 8:27]: ¿reapertura de mes? ¿ajuste en mes corriente? Documentar la práctica de reconocer ingresos sobre producción devengada (RN-FIN-01) y dejar trazabilidad auditable de la doble descarga de cierre [Recaudacion-20260423 1:33:20, 1:33:37].
Próximos pasos sugeridos
- › Validar este modelado AS-IS con Juan Pablo Coustasse (CFO), Belén (Facturación) e Ignacio Ahumada antes del cambio a v1.0
- › Confirmar zonas POR CONFIRMAR de la lógica de negocio: SLA EDP por cliente, política de provisión por incobrabilidad, desfase exacto Secall (5 vs 10 min)
- › Cruzar este BPMN con el de Agendamiento (D8 — Excel mal formateadas) y Comercial (D1 — dueño del cliente) para mapear la cadena de errores aguas arriba que terminan en peloteo
- › Levantar diagramas adicionales en una v0.2: subproceso de reconocimiento contable (Diagrama 2 del sub-doc), cobranza HubSpot (Diagrama 3), mapa de sistemas (Diagrama 4) y TO-BE con EDP precocinado (Diagrama 5)
- › Recapitular con el equipo las iniciativas TI fallidas pasadas (NetSuite y otras) — Roberto: «esas iniciativas son señales de por qué las necesitan» [36:35]
man bpmn-tools
Los archivos .bpmn generados son XML estándar OMG y se pueden abrir/editar
en cualquier modelador BPMN profesional:
| Herramienta | URL | Uso recomendado |
|---|---|---|
| bpmn.io (web, gratis) | demo.bpmn.io | Edición rápida en navegador |
| Camunda Modeler | camunda.com/download/modeler | Modelado serio, ejecutable |
| draw.io / diagrams.net | app.diagrams.net | Edición visual + export PNG/PDF |
| Signavio (SAP) | signavio.com | Gobierno corporativo de procesos |