AI invoice extraction with human review when in doubt
AI extracts the invoice data; reliable ones go straight to the sheet, and if confidence is low or fields are missing they are set aside and you get a Telegram alert to review them.
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.

What it does
Automate without losing control. Each PDF invoice received via webhook is read and AI turns it into JSON, including a confidence level (0 to 1). The Normalizar factura node validates: required fields, net + VAT = total, sum of lines and minimum confidence (0.8 by default). If everything is fine, the row is appended to Google Sheets. If in doubt, the invoice is saved in the facturas_pendientes_revision Data Store and a Telegram alert arrives with supplier, amount and the exact reason, so a person can review and fix it.
What you need: an OpenAI API key, Google Sheets and a Telegram bot.
How to use it: install the template, connect the accounts and adjust the required fields and the confidence threshold at the top of the Normalizar factura script. You can replace the Telegram alert with an email.
Limitation: text PDFs only (not scanned); confidence is a self-assessment of the model, not a guarantee.
How to set it up
- 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
Connect the telegram credential
This template uses telegram in: Avisar: revisar factura. Create or pick the credential and assign it in those nodes.
- 3
Connect the google credential
This template uses google in: Añadir a facturas contabilizadas. Create or pick the credential and assign it in those nodes.
- 4
Copy the webhook URL (Recibir factura)
A new URL is generated on install. Paste it into the external system that must call this workflow.
- 5
Connect OpenAI, Sheets and Telegram
Connect OpenAI in Extraer datos con IA, the sheet in Añadir a facturas contabilizadas and Telegram (with your
chatId) in Avisar: revisar factura. - 6
Adjust what counts as doubtful
In the Normalizar factura script change
OBLIGATORIOS(fields without which it is reviewed by hand) andUMBRAL_CONFIANZA(below it, it is reviewed). With0.8andproveedor, numero_factura, fecha, totalrequired, an invoice with no date goes to review. - 7
JSON format and test
Send a
POSTto the webhook with{"pdf_base64":"<base64 PDF>"}. The JSON saved or logged has this shape:{"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"}, withestado(OKorREVISAR),motivoandconfianza. - 8
Activate the workflow
Workflows are installed inactive. Once everything is set, activate it.
Related templates
Other templates that use similar nodes or integrations.

Supplier PDF invoice to a Holded purchase with validation
AI reads the PDF invoice, validates amounts and required fields, finds or creates the supplier in Holded and records the purchase; if anything fails it alerts you on Telegram.

Invoices received by Gmail to a Data Store with alert
Every few minutes it checks your Gmail, extracts with AI the data of invoices written in the email body, saves them to a Data Store and alerts you on Telegram.

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.
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