§ Case · 01 · 2026Distribution · Tarragona

120 invoices
per month
on autopilot.

A distributor with 40 active suppliers had one full-time person downloading PDFs, typing amounts into Holded, and chasing mismatches. In 4 weeks we built an OCR + AI pipeline that captures, validates, and posts. After 4 more weeks of supervised stabilization, it moved to 100% autonomous production. That person is now in sales.

No human
93%
Hours saved/month
+35
Errors · 6 months
0
Build + stabilization
4+4wks
§ Context

The problem.

Luis runs a distributor with 40+ active suppliers. Every month, more than 120 invoices arrive in formats that don't look like each other: scanned PDFs with handwritten stamps, photos of delivery notes via WhatsApp, email attachments with made-up tables, paper that someone scans late. One admin team person spent almost their full day downloading each file, renaming it with the internal convention, cross-checking amounts against delivery notes, and entering data manually into Holded.

The process was slow and error-prone. A wrong digit, VAT applied to the wrong line, a supplier whose legal name changed and got recorded as a duplicate: any of those would surface days later in reconciliation, requiring the entry to be redone. At quarter peak, weeks of unprocessed invoices piled up. Luis was paying a full salary for a repetitive job that wasn't even being done well.

I had a qualified person doing a job a machine should be doing. The worst part: we were making errors that cost us money on top.

What we built.

Multichannel capture

An n8n workflow listens on three channels: dedicated invoices@ mailbox, shared Drive folder where suppliers upload, and a WhatsApp Business number for those still sending photos. Everything normalizes to a unified processing flow.

OCR + GPT-4o Vision

Each document goes to GPT-4o Vision with a structured extraction prompt: tax ID, supplier, invoice number, date, total, VAT, lines (description, quantity, unit price). Output validated against schema before continuing.

Validation against masters

Tax ID against supplier master in Holded, total against open POs, VAT against legal table. Any mismatch triggers an exception with a smart human review proposal.

Auto-post in Holded

If everything validates, the workflow creates the invoice in Holded with the original PDF attached. 15 seconds per invoice vs 4-7 minutes manual. The person freed up moved to sales.

Stack used.

n8nGPT-4o VisionHoldedGoogle Drive APIWhatsApp Business APIPostgreSQL

Still entering invoices by hand?

Free assessment. We leave with a concrete plan and fixed fee.

Request assessment →