
Extraer es fácil. Saber que la extracción estaba mal es el requisito
Las facturas llegan en cualquier diseño que invente un proveedor. Leerlas es trabajo mecánico que se lleva la mañana de quien lleva los libros y produce una tabla que ya está en la página.
El peligro no es que la extracción falle de forma obvia. Es que tenga un éxito aceptable: 1,240 en lugar de 1,420, en un documento que nadie vuelve a revisar porque el total general era correcto.
Por eso la aritmética es una verificación, no un paso de formato. Las partidas deben sumar el subtotal declarado. El impuesto debe coincidir con la tarifa de la jurisdicción. Subtotal más impuesto debe igualar el total. Si una factura falla cualquiera de estas revisiones, se leyó mal o está mal. En cualquiera de los dos casos, una persona tiene que atenderla.
La moneda y la fecha son los campos que más se dan por sentados. Si una factura en una segunda moneda se contabiliza al tipo equivocado, el error se encuentra recién en la conciliación, semanas después.
Cómo se ejecuta el ActionFlow en el lienzo
Las facturas llegan como PDF a través de un nodo Email que lee la bandeja de cuentas, o a través de un nodo Document Upload cuando alguien envía un documento de forma directa.
Un nodo Extract Data selecciona las páginas que contienen partidas de un documento de varias páginas. Un nodo PDF4me extrae el contenido del documento. Ambos corren antes de que cualquier modelo vea el archivo.
Un nodo Generate Object devuelve proveedor, número de factura, fecha, moneda, un arreglo de partidas, líneas de impuesto y los totales declarados. Cada campo viene del documento o se deja en blanco. Nada se infiere.
Un nodo Math entonces corre las revisiones: partidas contra subtotal, impuesto contra tarifa, y subtotal más impuesto contra el total. Esas revisiones viven en un nodo de cálculo para que el modelo no verifique su propia lectura.
Un nodo Validate aplica reglas de formato: formato de fecha, código de moneda y campos exigidos. Un nodo If actúa entonces sobre el resultado combinado.
Las facturas limpias van a un nodo PostgreSQL o Google Sheets como filas contabilizadas. Las facturas que fallan una revisión van a un nodo Slack en la categoría Human in the Loop, con la línea que falla nombrada, para que quien revisa mire un número y no todo el documento.
Un nodo Google Sheets registra cada extracción y el resultado de la revisión. Ese registro es como aprendes que el formato de un proveedor rompe el proceso todos los meses.
Nodos que usa este ActionFlow
- Email (Communication): lee la bandeja de cuentas. Document Upload (Data) toma los envíos directos.
- PDF4me (Data): extrae el contenido del documento.
- Extract Data (Data): reduce los documentos largos a las páginas que llevan las partidas.
- Generate Object (AI Core): devuelve proveedor, número, fecha, moneda, partidas y totales como una estructura.
- Math (Util): revisa partidas contra subtotal, impuesto contra tarifa, y el total declarado.
- Validate (Data): aplica reglas de formato y campos exigidos.
- Slack (Human in the Loop): enruta las facturas que fallan con la línea específica que falla nombrada.
- PostgreSQL (Data): recibe las filas limpias. Google Sheets y MySQL ocupan el mismo lugar.
Preguntas frecuentes
Empieza a crear flujos de IA
Crea una cuenta gratuita, abre una plantilla o un lienzo en blanco y ejecuta tu primer ActionFlow.
Boletín
Recibe actualizaciones del producto
Nodos nuevos, agents y notas de producto. Solo enviamos correo cuando merece la pena abrirlo.