Automatizar facturas de proveedor es un flujo de n8n que lee el correo donde llegan, saca los datos del PDF con un modelo de IA, comprueba que el NIF es válido, que los totales cuadran y que el proveedor existe, y crea la factura de compra en Holded o en tu ERP. Lo que no pasa las comprobaciones va a una persona. Lo que pasa, entra solo.
Es para empresas que reciben decenas de facturas al mes por correo, en PDF, de proveedores distintos, y tienen a alguien tecleándolas en el programa de contabilidad. Lo habitual en una industrial o una distribuidora de tamaño medio.
Aquí está lo que hace cada nodo, qué acierta y qué falla la IA al leer una factura, qué se valida antes de tocar el ERP, qué no se automatiza nunca, cómo encaja con el RGPD, lo que cuesta y lo que medimos.
¿Por qué meter facturas a mano cuesta más de lo que parece?
Meter una factura a mano son entre cinco y diez minutos de alguien que sabe contabilidad: abrir el correo, descargar el PDF, buscar el proveedor, teclear número, fecha, base, IVA y total, adjuntar el archivo y guardar. Con cien facturas al mes son más de diez horas, sin contar las que se traspapelan, las duplicadas y los totales mal tecleados que aparecen al cuadrar el IVA.
Al tiempo se suma el cuándo. Las facturas se meten en lotes, a final de mes o cuando toca presentar el IVA, y hasta entonces nadie sabe qué se debe ni a quién. Un flujo que las contabiliza el día que llegan cambia eso: la tesorería se ve al día y los vencimientos no sorprenden.
Lo que casi ninguna pyme tiene es alguien que programe esto a medida. En España, solo el 16,8 % de las empresas emplea especialistas TIC, según la Encuesta TIC en empresas del INE (edición 2024-2025). Por eso el flujo tiene que montarse con piezas que alguien del equipo pueda abrir y entender, y por eso lo hacemos en n8n, con la misma lógica que explicamos en la guía completa de n8n para marketing: un nodo por tarea, sin código salvo donde no hay otra forma.
¿Qué hace el flujo de la factura al ERP, paso a paso?
El flujo tiene siete pasos: recibe el correo, separa el PDF, extrae su texto, pide a la IA los datos en un formato fijo, valida, crea la factura de compra en el ERP y avisa. Entre validar y crear hay una bifurcación: lo que cumple las reglas sigue; lo que no, espera a que una persona lo mire. Es uno de los flujos que montamos con n8n cuando el mapa de procesos lo pone arriba.
| Paso | Nodo de n8n | Qué hace | Ajuste que importa |
|---|---|---|---|
| 1 | Gmail Trigger o Email Trigger (IMAP) | Vigila el buzón de facturas | Filtro: solo correos con adjunto PDF; etiqueta «procesada» al terminar |
| 2 | Extract from File | Saca el texto del PDF | Si el PDF es una imagen escaneada, no hay texto: va a la rama de OCR |
| 3 | AI Agent o Information Extractor | Devuelve proveedor, NIF, número, fecha, base, IVA por tipo, total, IBAN y líneas | Salida estructurada con esquema JSON; temperatura 0 |
| 4 | Code | Valida letra del NIF, cuadre de totales, fecha razonable | Tolerancia de 0,01 € en el cuadre |
| 5 | HTTP Request a Holded | Busca el proveedor por NIF; comprueba que el número de factura no existe | Dos llamadas: contactos y documentos de compra |
| 6 | IF | Todo correcto → crea la factura; algo dudoso → revisión | La rama de revisión es la que hace que el flujo sea de fiar |
| 7 | HTTP Request a Holded + Slack o Gmail | Crea el documento de compra con el PDF adjunto y avisa | El aviso lleva el enlace a la factura en Holded |
El buzón es un correo propio para facturas, tipo facturas@tuempresa.es, que se da a los proveedores; lo que llega al correo general se reenvía ahí. El nodo Gmail Trigger o el Email Trigger (IMAP) lo revisa cada minuto y solo deja pasar correos con adjuntos PDF. Al terminar, el flujo etiqueta el correo como procesado para que nadie lo meta a mano por duplicado.
El nodo Extract from File, en su operación para PDF, devuelve el texto de las facturas generadas por un programa, que son la mayoría. Las escaneadas no tienen texto; ahí el PDF se convierte en imagen y la lee un modelo que acepta imágenes, más caro y más lento, por una rama aparte que solo hace falta si tienes muchas.
La creación en Holded se hace con el nodo HTTP Request contra el endpoint de documentos de compra, con la clave de API en la cabecera, siguiendo la API de Holded. Si tu ERP es otro (Sage, a3, Odoo, un sistema a medida con API), cambia la URL y el formato del cuerpo, no la lógica. El PDF original se adjunta al documento, para que el contable lo tenga donde siempre.
¿Cómo extrae la IA los datos de un PDF y qué acierta mal?
La IA recibe el texto de la factura y un esquema con los campos que tiene que devolver, y contesta con un JSON que cumple ese esquema o con un error. En n8n se hace con el nodo AI Agent de n8n (en inglés) o con el nodo Information Extractor, con un analizador de salida estructurada que rechaza lo que no encaje. Sin esquema, el modelo devuelve prosa y el flujo se rompe.
El esquema es la parte que más trabajo lleva y la que más vale. Para una factura española: nombre y NIF del emisor, número, fecha de emisión y de vencimiento, base imponible y cuota por tipo de IVA, retención si la hay, total, IBAN y las líneas con concepto, cantidad y precio. Cada campo con su tipo y con la instrucción de devolver nulo cuando el dato no está, en vez de inventarlo.
Lo que la IA acierta bien es lo que está escrito con claridad: el total, la fecha, el número. Lo que acierta mal es predecible: confunde el NIF del emisor con el del receptor cuando aparecen juntos, toma la fecha de vencimiento por la de emisión, suma mal las cuotas cuando hay varios tipos de IVA y lee al revés las fechas de proveedores extranjeros. Ninguno de esos errores es grave si el paso siguiente los detecta. La IA no decide; teclea. El criterio está en las reglas de después y en la persona que revisa lo dudoso.
¿Qué se valida antes de tocar el ERP?
Antes de crear nada en el ERP se comprueban cuatro cosas: que el NIF tiene la letra de control correcta, que base más IVA menos retención es igual al total, que el proveedor ya existe en Holded con ese NIF y que el número de factura no está ya registrado para ese proveedor. Si las cuatro pasan, la factura entra sola. Si alguna falla, se para y avisa.
La letra del NIF se valida con el algoritmo oficial en un nodo Code de diez líneas, y descarta el error más común de la IA, que es leer el NIF de la empresa receptora. El cuadre de totales admite un céntimo de tolerancia por redondeos y nada más. La fecha tiene que estar entre hace un año y hoy, lo que corta las fechas leídas al revés.
El proveedor se busca en Holded por NIF con la API de contactos. Si no existe, la factura no se crea y la revisión la recibe alguien que decide si dar de alta al proveedor; el flujo no da de alta proveedores nuevos, porque eso es una decisión de compras, no de contabilidad. La búsqueda del número de factura evita la duplicada, que es el error que más tarde se descubre y más cuesta deshacer.
La revisión humana se hace desde Slack o desde el correo. El nodo de Slack de n8n tiene una operación de enviar y esperar respuesta: manda el resumen de la factura (proveedor, total, qué regla falló) con dos botones, aprobar o rechazar, y el flujo se queda dormido hasta que alguien pulsa. Si aprueba, la factura se crea con los datos corregidos; si rechaza, se archiva con el motivo. Cuando el flujo falla por algo externo (Holded caído, token caducado), el Error Workflow avisa a quien lo mantiene, como en alertas automáticas.
¿Qué no se automatiza nunca en este flujo?
Lo que no se automatiza es todo lo que mueve dinero o cambia maestros: el pago de la factura, el alta de proveedores, el cambio de un IBAN y la contabilización de importes por encima de un umbral que fija la empresa. El flujo deja la factura registrada y pendiente de pago; pagar sigue siendo una decisión de una persona con acceso al banco.
El IBAN merece una regla propia. El fraude más habitual con facturas es un correo del «proveedor» avisando de que ha cambiado de cuenta. Si la IA lee un IBAN distinto del que tiene Holded para ese proveedor, el flujo no lo actualiza: marca la factura para revisión y avisa de que el IBAN no coincide. Un cambio de cuenta se confirma por teléfono con el proveedor, nunca por el PDF.
El umbral de importe es la otra línea. Por debajo, la factura entra sola si pasa las validaciones; por encima, siempre la mira alguien aunque todo cuadre. El valor lo decide la empresa; lo que no hacemos es dejarlo sin fijar. La lista coincide con la de qué no automatizar todavía: lo que toca dinero sin revisión humana se queda a mano los primeros meses.
¿Qué pasa con el RGPD y la conservación de las facturas?
Una factura de un autónomo contiene datos personales: nombre, NIF, dirección, IBAN. Enviarla a un modelo de IA es un tratamiento, y el proveedor del modelo es un encargado del tratamiento que tiene que figurar en tu registro, con contrato de encargo según el artículo 28 del RGPD. Si el modelo se ejecuta fuera de la Unión Europea, además hay que cubrir la transferencia internacional.
En la práctica hay tres decisiones. Elegir un proveedor de IA que ofrezca contrato de encargo y que no use tus datos para entrenar, lo que está en su plan de empresa, no en el gratuito. Enviar solo el texto de la factura, no el correo entero con su hilo. Y borrar el JSON intermedio una vez la factura está en Holded.
La conservación no cambia con el flujo. El PDF original se guarda el plazo que marcan el artículo 30 del Código de Comercio y la normativa fiscal, adjunto a la factura en Holded y en el buzón de correo. La IA no sustituye ese archivo; solo lo lee. Si n8n está en tu servidor, el PDF no sale de tu infraestructura salvo el texto que viaja al modelo; si n8n está en la nube, n8n también es encargado del tratamiento.
Un límite que conviene saber: cuando la factura electrónica entre empresas sea obligatoria en España, parte de este flujo sobrará, porque la factura llegará en un formato estructurado que no hay que leer con IA. El flujo se diseña para que ese día baste con cambiar el paso de extracción.
¿Cuánto cuesta y qué se mide?
El flujo cuesta desde 450 € de montaje y se acerca a 1.400 € cuando lleva rama de OCR, revisión humana con botones y validaciones a medida, porque la IA con revisión es lo que más sube el precio en nuestro rango por flujo. n8n alojado en tu servidor no cobra por ejecución; en su nube son 20-60 € al mes.
El modelo de IA cobra por uso, unos céntimos por factura; la tarifa está en la web de cada proveedor y conviene calcularla con tu volumen antes de elegir modelo, porque el que lee imágenes cuesta más que el que lee texto.
Lo que se mide son cuatro números, en una hoja que rellena el propio flujo. Minutos por factura antes y después, contando la revisión de las dudosas. Porcentaje de facturas que entran sin tocar: muy alto y hay que mirar si cuela errores; muy bajo y la revisión es el cuello de botella. Errores detectados por tipo. Y días desde que llega la factura hasta que está contabilizada.
Cuándo no compensa: con menos de veinte facturas al mes, el tiempo que ahorras no cubre el mantenimiento. Si tu ERP ya incluye un lector de facturas en tu plan, prueba primero ese. Y si tus proveedores ya mandan factura electrónica, importa el fichero y no leas nada con IA.
Hay más sobre esto en la sección de automatización y agentes del blog.
Preguntas frecuentes
¿Sirve con Sage, a3, Odoo u otro ERP?
Sí, si el ERP tiene API para crear facturas de compra y consultar proveedores. Cambian los nodos HTTP Request de los pasos 5 y 7: URL, autenticación y formato del cuerpo. Con un ERP sin API, el flujo acaba en un CSV que se importa a mano.
¿Qué pasa con las facturas escaneadas o fotografiadas?
No tienen texto, así que el nodo Extract from File devuelve vacío y la factura va por una rama que convierte el PDF en imagen y se la pasa a un modelo que lee imágenes. Funciona con escaneos limpios; con fotos torcidas o borrosas el acierto baja y esas facturas acaban en revisión. Si son muchas, pide a esos proveedores que manden el PDF original.
¿Cuánto tarda en estar en marcha?
Con el buzón de facturas, la clave de API del ERP y la cuenta del proveedor de IA listas, el flujo se monta y se prueba en dos o tres días. Las primeras semanas se revisan todas las facturas, aunque pasen las validaciones; después se deja entrar solas las que cumplen.
¿Y si el proveedor manda la factura por WhatsApp o la cuelga en un portal?
El flujo arranca con un PDF en un buzón de correo. Lo que llega por WhatsApp se reenvía a ese buzón, a mano o con un flujo aparte. Lo que está en un portal del proveedor hay que descargarlo; si el portal avisa por correo con el PDF adjunto sirve igual; si no, esas facturas siguen entrando a mano.
—
Diego lleva las automatizaciones de We Love SEO: conecta formularios, CRM, tiendas e informes con n8n, y documenta lo que falla. Más sobre él en el equipo.



