Volver al inicio

Impacto

En Idea15 (ago–sep 2025), el flujo contable cubierto por captura automática llegó a alrededor del 80%, y la proyección de ingresos del modelo se midió por encima del 92% de acierto sobre el historial interno.

Periodo

Cliente

Idea15

Rol

Ingeniero de software, diseño y desarrollo

Stack

  • Node.js
  • Python
  • OCR
  • APIs
  • Predicción

Sistema Inteligente de Facturación CFDI

Formulario de emisión CFDI con campos extraídos por OCR

Problema

La facturación manual y el registro de ingresos consumía horas de trabajo administrativo, con un alto margen de error humano en la captura.

Solución

Plataforma de facturación electrónica y timbrado automatizado, integrando OCR para extracción de datos y modelos predictivos para proyectar flujos de ingresos.

Arquitectura

Servicios Node.js para el flujo CFDI (emisión, timbrado, XML). Python para OCR sobre comprobantes de entrada y para el modelo de proyección de ingresos. APIs hacia el PAC y hacia el almacén contable. El OCR no “adivina” el folio: extrae campos y un humano confirma los dudosos antes del timbrado.

Cómo se midió

Cifras reportadas por el ingeniero del sistema en Idea15, ago–sep 2025. El 80% es la porción del flujo de captura/timbrado que dejó de teclearse a mano. El 92% es acierto de la proyección de ingresos contra el historial interno de la firma, no contra un benchmark público. Sin auditoría de terceros.

¿Cómo se extrae un CFDI o un comprobante sin teclear el XML a mano?

Un servicio Python corre OCR sobre el documento de entrada, propone campos, y un humano confirma los dudosos. Node.js arma el XML, llama al PAC para el timbrado y guarda el resultado en el almacén contable.

El trabajo

Idea15 necesitaba dejar de teclear facturación. En México eso no es “un formulario bonito”: es CFDI, XML, complemento, PAC, y un error de captura que el SAT no perdona. El trabajo duró agosto y septiembre de 2025. Diseñé y desarrollé el flujo de emisión y timbrado, la extracción por OCR y un modelo que proyecta ingresos a partir del historial ya timbrado. Seis semanas. No un trimestre de discovery.

La arquitectura parte el problema. Node.js posee el trámite: armar el comprobante, hablar con el PAC, persistir el XML. Python posee la visión y la proyección: leer un papel o un PDF de entrada, proponer campos, y estimar flujo. Las APIs entre ambos son explícitas. El OCR no timbra solo. Si la confianza del campo es baja, un humano confirma. Eso es más lento que un demo de “100% automático” y más honesto que mandar un folio inventado al PAC. La cola de confirmación es parte del producto, no un “después”.

El 80% que reporto es la porción del flujo de captura y timbrado que dejó de ser tecleo. El resto sigue siendo juicio: excepciones, complementos raros, casos que no merecían un modelo. El 92% es el acierto de la proyección de ingresos contra el historial interno de Idea15, no contra un dataset público ni contra el SAT. Nadie externo auditó esas dos cifras. Vivieron seis semanas de ingeniería y un operador que las midió. Un reclutador que pida el notebook del 92% no lo va a encontrar en GitHub: el historial es de la firma.

Este es el sistema más específico de México en el portafolio. No es un tutorial de RAG. Es timbrado, OCR y un modelo de caja. Si más adelante publico un artículo o un utilitario de parseo de XML CFDI, este será el trabajo del que sale. Hasta entonces, esta página es la fuente. El aviso de privacidad de este sitio no cubre los datos fiscales de Idea15; cubre el formulario de contacto de Franco.

Capturas

Vista del XML timbrado y el folio fiscal
Cola de comprobantes pendientes de confirmación humana
Panel de proyección de ingresos sobre historial timbrado
Detalle de error de captura bloqueado antes del PAC
Listado de facturas emitidas con estatus de timbrado
Integración de API hacia el almacén contable
Resumen mensual de flujo automático frente a tecleo manual

En este registro