Webshops die bij meerdere leveranciers inkopen hebben een terugkerend probleem: inkooporders en bevestigingen komen binnen als PDF-bijlage in de inbox, en iemand moet ze handmatig uittypen in het voorraadbeheer en de boekhouding. Dat is saai, foutgevoelig en niet schaalbaar.
De situatie voor automatisering
Een Nederlandse webshop in woondecoratie (4 medewerkers, 12 actieve leveranciers) ontving dagelijks 3 tot 8 orderbevestigingen van leveranciers per e-mail. Elke bevestiging bevatte een PDF met artikelnummers, aantallen, leverdata en prijzen.
Een inkoper besteedde elke dag 1 tot 2 uur aan het verwerken van deze PDF's: uittypen in WooCommerce voor voorraadbeheer en handmatig aanmaken van inkoopfacturen in Moneybird. De foutmarge was merkbaar: verkeerde aantallen of artikelnummers kwamen gemiddeld 2 keer per week voor.
De workflow
De automatisering werkt volledig op basis van inkomende e-mail:
- n8n monitort een dedicated inbox (inkoop@bedrijf.nl) via IMAP.
- Zodra een e-mail binnenkomt met een PDF-bijlage, wordt de bijlage doorgegeven aan de Claude API met de instructie om de orderdata te extraheren als gestructureerd JSON.
- Claude retourneert een JSON-object met: leveranciersnaam, ordernummer, regels (artikelnummer, omschrijving, aantal, prijs), leverdatum en totaalbedrag.
- n8n valideert het JSON-object tegen een whitelist van bekende leveranciersnamen en artikelnummerformaten.
- Bij succesvolle validatie: WooCommerce-voorraad wordt bijgewerkt via de REST API.
- Tegelijkertijd wordt in Moneybird een inkoopfactuur aangemaakt met alle regelitems.
- Een Google Sheet logt alle verwerkte orders voor controle en rapportage.
- Bij fouten of onbekende leveranciers: de inkoper ontvangt een e-mail met de ruwe PDF en een foutmelding voor handmatige verwerking.
De Claude-prompt voor PDF-extractie
De sleutel tot nauwkeurige extractie is een gestructureerde systeemprompt. Hierin staat precies welk JSON-formaat verwacht wordt, inclusief voorbeelden van bekende leveranciersformaten. Claude wordt expliciet gevraagd om onzekerheden te markeren met een "confidence"-veld per regel.
Regels met een lage confidence worden geflagd in de Google Sheet, zodat de inkoper ze snel kan controleren zonder het hele document te hoeven doornemen.
Technische details
- Taalmodel: Claude 3.5 Sonnet (nauwkeurigste voor gestructureerde extractie uit PDF)
- PDF naar tekst: n8n ingebouwde PDF-node (of pdf2json als fallback)
- Leverancier-matching: fuzzy string matching op leveranciersnaam voor robuustheid
- Failsafe: alle originele PDF's worden gearchiveerd in Google Drive ongeacht het resultaat
Kosten en tijdsinvestering
Bouwtijd: circa 6 uur voor de complete workflow inclusief testen met echte PDF's.
Maandelijkse kosten bij 120 PDF's per maand:
- Claude API (Sonnet): circa 12 euro per maand
- n8n Cloud: 50 euro per maand
- Moneybird: al in gebruik
De workflow bespaart circa 40 uur menselijke arbeid per maand bij een team van 4. Terugverdientijd: minder dan een week.