Saltar al contenido
Copia y Crea

Finanzas

Automatizó el registro de facturas recibidas por correo con un agente de IA en n8n

Un flujo de n8n lee las facturas en PDF que llegan por Gmail, extrae los datos con un modelo de visión, los compara con el inventario y crea la orden de compra. El equipo pasó a revisar solo las excepciones.

Qué hizo

Nova, desarrolladora que construye automatizaciones para clientes, cuenta en una reseña de n8n un proyecto para una empresa de Dubái. El equipo de compras dedicaba unas dos horas diarias a abrir correos con facturas, copiar los datos y cargar órdenes de compra a mano. Nadie del equipo programaba, así que la solución tenía que poder mantenerse sin escribir código.

El flujo vigila la bandeja de Gmail y toma los correos que tienen “Invoice” en el asunto. Extrae el PDF adjunto y se lo envía a un modelo de visión de OpenAI, que devuelve el proveedor, el monto, los artículos y las fechas. Luego compara esos datos con una hoja de Google Sheets que hace de inventario: si los artículos coinciden y el monto es razonable, crea la orden de compra en el sistema de la empresa, avisa por Slack y responde al correo confirmando la recepción.

Según la autora, el flujo tiene 23 nodos y tardó unos tres días en construirlo, sobre todo por los casos raros: PDF dañados, respuestas mal formadas de la IA y caídas del sistema de la empresa. Al encargado de operaciones le bastaron unas dos horas de capacitación para poder modificarlo.

El prompt

Prompt reconstruido por Copia y Crea. La autora no publicó el texto exacto que usa el nodo de IA.

Eres un asistente de cuentas por pagar. Vas a recibir una factura en PDF o en imagen.

Extrae los datos y responde SOLO con un JSON válido con esta estructura:
{
  "proveedor": "",
  "numero_factura": "",
  "fecha_emision": "AAAA-MM-DD",
  "fecha_vencimiento": "AAAA-MM-DD o null",
  "moneda": "",
  "subtotal": 0,
  "impuestos": 0,
  "total": 0,
  "articulos": [
    { "descripcion": "", "codigo": "", "cantidad": 0, "precio_unitario": 0 }
  ],
  "confianza": "alta | media | baja",
  "observaciones": ""
}

Reglas:
- No inventes datos. Si un campo no aparece, usa null.
- Usa punto como separador decimal y sin símbolos de moneda.
- Si la imagen está borrosa o falta información importante, marca "confianza": "baja" y explica en "observaciones" qué falta.

Cómo replicarlo

  1. Crea una cuenta en n8n (en la nube o instalado en tu servidor) y conecta tu Gmail con un disparador que filtre los correos con “factura” en el asunto.
  2. Agrega un nodo que extraiga el PDF adjunto y otro de OpenAI (o de otro modelo con visión) con el prompt de arriba.
  3. Busca cada artículo en una hoja de Google Sheets con tu inventario o lista de proveedores y compara montos.
  4. Si todo coincide, registra la factura u orden de compra en tu sistema; si no, envíala a revisión humana.
  5. Avisa a tu equipo por Slack, correo o Telegram y responde al proveedor confirmando la recepción.
  6. Prueba al menos con 20 facturas reales, incluidas algunas mal escaneadas, antes de dejarlo funcionando solo.

Ideas para adaptarlo

  • Contadores y estudios contables: recibir las facturas de varios clientes en un correo distinto por cliente y llenar una hoja por mes, lista para la declaración.
  • Facturación electrónica en LATAM: si recibes el XML de la factura (CFDI en México, DTE en Chile, etc.), léelo directamente y usa la IA solo para clasificar el gasto.
  • Pymes sin sistema de compras: reemplaza la orden de compra por una fila en Google Sheets y un recordatorio de pago antes del vencimiento.

Casos relacionados