Workflow de n8n para procesar facturas automáticamente: extraer datos de PDF, subir a Google Sheets y notificar
Dejá de capturar facturas a mano. Te mostramos cómo armar un workflow en n8n que lee archivos PDF, extrae los datos clave con IA, los guarda en Google Sheets y te avisa por email.
Si algo aprendimos trabajando con negocios en México es que la captura de facturas sigue siendo un dolor de cabeza monumental. El contador espera los PDF, alguien del equipo los abre uno por uno, copia manualmente el RFC del emisor, el monto, el concepto y la fecha, lo pega en una hoja de cálculo y reza para no equivocarse en el trámite. Con n8n —una plataforma de automatización de código abierto que podés instalar en tu propio servidor o usar en su version cloud— podés automatizar todo ese proceso en una o dos horas de configuración y olvidarte del problema para siempre. En este artículo te voy a mostrar cómo armar un workflow que recibe facturas en PDF, extrae los datos relevantes usando IA, los registra ordenadamente en Google Sheets y te manda una notificación cuando todo esté listo.
Lo primero que necesitás es tener n8n corriendo. Si nunca lo usaste, la versión cloud ofrece un plan gratuito con suficientes ejecuciones para probar este flujo. También podés instalarlo con Docker en tu máquina o en un VPS por menos de diez dólares al mes. Una vez adentro, creás un nuevo workflow y el primer nodo será un disparador, que es lo que inicia la automatización. Para este caso vamos a usar un Webhook, que básicamente genera una URL única a la que podés enviar archivos. Cada vez que llegue un PDF a esa dirección, el workflow se activa. Alternativamente, si manejás un volumen alto de facturas, podés usar el nodo de Gmail Trigger para que el flujo se dispare automáticamente cuando llegue un correo con un PDF adjunto a una dirección específica, como facturas@tuempresa.com.
El segundo nodo es el corazón del proceso: extraer los datos del PDF. n8n se integra con la API de OpenAI, Anthropic o Google Gemini. Te recomiendo usar GPT-4o mini, que tiene un costo bajísimo —fracciones de centavo por factura— y una precisión muy alta para esta tarea. La configuración es simple: en el nodo de OpenAI, seleccionás la opción de “Message a Model”, le pasás el archivo PDF como entrada y le das un prompt en español como este: “Extrae del siguiente documento los siguientes campos en formato JSON: nombre del emisor, RFC del emisor, fecha de emisión, número de factura, subtotal, IVA, total, concepto principal y método de pago. Si algún campo no está presente, devolvé el valor como cadena vacía.” El modelo te va a devolver un JSON estructurado que podés mapear en los siguientes pasos.
El tercer nodo es el que escribe los datos en Google Sheets. Vas a necesitar conectar tu cuenta de Google y tener una hoja de cálculo ya creada con los encabezados correspondientes: fecha de emisión, número de factura, RFC emisor, nombre emisor, subtotal, IVA, total, concepto, método de pago y fecha de procesamiento. El nodo de Google Sheets en n8n te permite mapear directamente cada campo del JSON que generó el paso anterior a la columna correcta. Incluso podés agregar la fecha de procesamiento automáticamente usando una expresión como {#123;{#123; $now.format('YYYY-MM-DD HH:mm') }#125;}#125; para tener trazabilidad de cuándo se capturó cada factura.
El cuarto nodo se encarga de las notificaciones. Con el nodo de Gmail podés enviar un correo al contador o al equipo de administración con un resumen de la factura procesada. El asunto puede ser algo como “Factura {#123;{#123; $json.numero_factura }#125;}#125; de {#123;{#123; $json.nombre_emisor }#125;}#125; procesada automáticamente” y en el cuerpo incluís los datos principales. También podés usar el nodo de Telegram o Slack si en tu empresa manejan la comunicación por esos canales.
Un detalle importante: los PDF de facturas electrónicas en México a veces vienen protegidos o están generados como imágenes. Si el modelo no logra extraer los datos correctamente, podés agregar un nodo intermedio que convierta el PDF a imagen y use la capacidad de visión de GPT-4o o Claude para leerlos. n8n tiene nodos para manipular archivos que facilitan esta conversión.
Para robustecer el flujo, te sugiero agregar un par de nodos más. Uno de validación que revise que el JSON devuelto tenga todos los campos obligatorios con datos coherentes —por ejemplo, que el total sea mayor que cero y que el RFC tenga un formato válido—. Si la validación falla, podés derivar esa factura a una hoja aparte de “revisión manual” y notificar al equipo para que la procese una persona. Esto evita que datos erróneos contaminen tu registro contable.
Otro nodo recomendable es el de respaldo: una copia del PDF original en Google Drive o en una carpeta del servidor, organizada por mes o por proveedor, para tener todo documentado en caso de auditoría. Con un simple nodo de Google Drive, cada factura se archiva automáticamente apenas se procesa.
El costo total de mantener este workflow es prácticamente simbólico. n8n en su plan cloud gratuito permite hasta cien ejecuciones diarias. Si lo instalás en tu propio servidor, el costo es cero. El consumo de la API de OpenAI para extraer datos de una factura ronda los 0.002 dólares por documento, es decir, dos milésimas de dólar. Aun procesando quinientas facturas al mes, el gasto en IA no llega a dos dólares.
La automatización de la captura de facturas con n8n es uno de esos proyectos que parecen complejos pero que, una vez armados, generan un retorno de inversión inmediato. Dejás de depender de procesos manuales, reducís los errores de captura, liberás horas semanales de tu equipo y tenés la información contable actualizada en tiempo real. Probá el flujo, ajustalo a las particularidades de tu negocio y disfrutá de no tener que abrir otro PDF de factura en tu vida.