PROGRESS — conciliacion-cfdi
Estado vivo. El código y el detalle día a día viven en el repo separado
github.com/ehalso/conciliacion-cfdi(ramaconciliar-retencional 2026-09-10) — su propioPROGRESS.md/docs/pendientes.md/docs/hallazgos.mdson la fuente de verdad completa. Esto es un resumen para quien naveguetrivasa-contextsin tener ese repo a la mano.
2026-09-10
- Recibidos: 99.36% en H1 2026 (9,511/9,572), sin cambios de método esta sesión — se centró en retención y en una mejora de rendimiento.
- Retención: nivel 1 corrido para los 6 meses de H1 2026. Hallazgo
principal: dos conceptos de retención (
cve_retenc14 = arrendamiento/ honorarios 10%, vs. 16 = intereses a prestamista 20%) con mecánica de conciliación completamente distinta — el segundo nunca usaCONSTANCIA_RETENCION. De los CFDI "huérfanos" (sin link enComprobante_Digital), se confirmaron dos mecanismos reales y distintos: omisión pura de etiquetado (un lote de 15 CFDI de febrero) y CFDI sustituido sin re-ligar (CfdiRetenRelacionados, un caso de enero). Detalle completo endocs/schema/calidad-de-datos.mdde este repo. - Mejora de rendimiento (colaborativa con esta sesión de
ctunlinux): se agregaron 5 columnas araw_sat.cfdi_recibidos/cfdi_emitidos(descuento,ieps_trasladado,impuestos_locales_trasladados,impuestos_locales_retenidos,total_impuestos_retenidos), pobladas por el loader deraw_sat_xmlcon la misma lógica que ya usabaconciliacion-cfdi/src/cfdi_parser.py. El pipeline de conciliación ya no necesita volver a bajar y parsear el XML de mpro en cada corrida — validado exacto contra los 6 meses de H1 (mismo resultado de siempre).cfdi_recibidosquedó backfillado enero-septiembre 2026;cfdi_emitidossolo enero 2026. - Confirmado con Esteban: los pendientes de nómina IMSS/INFONAVIT (la familia de mayor monto, ~85% del residual) no se filtran del universo ni reciben una vía de cuadre especial — son errores de captura reales, y deben pasar por la misma Regla 1 que cualquier otro CFDI.
Siguiente paso más obvio
- Nivel 3 de retención: trazar hasta
Poliza_Controlpara el cargo/abono contable real de lo que ya concilia en nivel 1. - Fallback de matcheo por RFC+proveedor+mes+monto contra
Gasto_Registro_Documentopara recuperar los CFDI de retención huérfanos por omisión de etiquetado (mecanismo 1), y seguir la cadenaCfdiRetenRelacionadospara los huérfanos por sustitución (mecanismo 2). - Emitidos: completar el backfill de
raw_sat.cfdi_emitidosmás allá de enero 2026 para poder correr el mismo nivel de conciliación que recibidos en todo H1.