floogos
    All templates
    New

    PDF invoice to a Google Sheets row with AI

    Receive a PDF invoice, AI extracts supplier, tax ID, number, date, net, VAT, total and lines, validates the amounts and adds a row to your sheet.

    Everything is created inactive in a new folder of your account. Nothing runs until you activate it, and you can undo it for 24 hours.

    Workflow diagram: PDF invoice to a Google Sheets row with AI

    What it does

    Send the invoice (PDF as base64) to a webhook. The workflow reads the PDF text, passes it to OpenAI to turn it into JSON with supplier, tax ID, number, date, net amount, VAT, total and lines, and a Normalizar factura node cleans it: numeric amounts, ISO date (YYYY-MM-DD), a check that net + VAT = total and a REVISAR flag when a field is missing. The result is appended as a row to Google Sheets.

    What you need: an OpenAI API key, a connected Google account and a sheet with the header Fecha, Nº factura, Proveedor, NIF, Base, % IVA, IVA, Total, Moneda, Estado, Observaciones.

    Limitation: it only reads PDFs that contain text (scanned PDFs or photos have none; use the ticket/photo template with vision for those).

    How to set it up

    1. 1

      Connect the openai credential

      This template uses openai in: Extraer datos con IA. Create or pick the credential and assign it in those nodes.

    2. 2

      Connect the google credential

      This template uses google in: Añadir fila a la hoja. Create or pick the credential and assign it in those nodes.

    3. 3

      Copy the webhook URL (Recibir factura)

      A new URL is generated on install. Paste it into the external system that must call this workflow.

    4. 4

      Prepare the sheet and connect accounts

      Create a sheet with the header Fecha, Nº factura, Proveedor, NIF, Base, % IVA, IVA, Total, Moneda, Estado, Observaciones. In Añadir fila a la hoja choose the sheet and tab; connect OpenAI in Extraer datos con IA.

    5. 5

      Send an invoice

      Send a POST to the webhook URL with {"pdf_base64":"<base64 encoded PDF>"} (the data:application/pdf;base64, prefix is also accepted). Maximum body size: 20 MB.

    6. 6

      Resulting JSON format

      The Normalizar factura node produces, besides the sheet row, a JSON like this one that you can reuse in other nodes (ERP, Excel, Data Store): {"proveedor":"Suministros Norte S.L.","nif":"B12345678","numero_factura":"F-2026-0412","fecha":"2026-09-30","moneda":"EUR","base_imponible":200,"iva_porcentaje":21,"iva_importe":42,"total":242,"lineas":[{"descripcion":"Papel A4 (caja)","cantidad":4,"precio_unitario":50,"importe":200}],"estado":"OK"}. If a required field is missing or the amounts do not add up, estado is REVISAR and motivo explains why. Required fields and the confidence threshold are set at the top of the script.

    7. 7

      Activate the workflow

      Workflows are installed inactive. Once everything is set, activate it.

    Try it in under 5 minutes

    Create the template in your account, connect your credentials and activate it when you are ready.

    Use this template