Waarom voorraadplanning een AI-probleem is
Webshops missen gemiddeld 11% omzet door slechte voorraadplanning: producten die te vroeg uitverkopen (out-of-stock) en kapitaal dat vastzit in overtollige voorraad (overstock). Traditionele spreadsheets met handmatige invoer zijn foutgevoelig en tijdrovend. Een AI-agent verandert dit: automatisch data ophalen, trends analyseren, en proactief waarschuwen wanneer actie nodig is.
In deze handleiding bouwen we een systeem voor een fictieve webshop "GreenGear" die duurzame tuinartikelen verkoopt. Het systeem werkt net zo goed voor elke andere webshop.
Wat je nodig hebt
• Make account (Starter plan of hoger, vanaf €9/maand)
• Google Workspace account met Google Sheets toegang
• Claude API key (via console.anthropic.com, circa €5 credits voor testing)
• WooCommerce webshop (of aanpassen voor Shopify, Lightspeed)
• Basiskennis van Make modules en Google Sheets formules
Stap 1: Google Sheets structuur opzetten
Begin met het aanmaken van een Google Sheet met drie tabbladen:
Tabblad 1 — "Voorraad": Kolommen A t/m F: SKU, Productnaam, Huidige voorraad, Min. drempel, Gemiddelde dagverkoop, Verwachte uitloop (dagen)
Tabblad 2 — "Verkoophistorie": Kolommen A t/m D: Datum, SKU, Productnaam, Verkochte eenheden
Tabblad 3 — "Inkoopadvies": Kolommen A t/m E: SKU, Productnaam, Advies, Claude analyse, Aangemaakt op
Maak de Sheet deelbaar zodat Make er toegang tot heeft.
Stap 2: WooCommerce API verbinden met Make
Ga naar Make en maak een nieuw scenario aan. Voeg als eerste module toe: "WooCommerce > List Products". Configureer:
• Connection: koppel je WooCommerce site (via API keys in WP Admin > WooCommerce > Instellingen > Geavanceerd > REST API)
• Per page: 100
• Status: publish
Voeg een tweede module toe: "WooCommerce > List Orders". Configureer:
• Status: completed
• After: {{addDays(now; -30)}} (laatste 30 dagen)
• Per page: 100
Stap 3: Verkoopdata aggregeren in Google Sheets
Voeg de module "Google Sheets > Update a Row" toe. Map de WooCommerce orderdata naar de juiste kolommen in het "Verkoophistorie" tabblad.
Gebruik een "Tools > Set variable" module om per product de totale verkopen te berekenen. Gebruik daarna een "Google Sheets > Update a Row" module om het "Voorraad" tabblad bij te werken met de gemiddelde dagverkoop:
Formule voor cel F2 in Google Sheets (verwachte uitloop):
=IF(E2>0, C2/E2, 999)
Dit geeft het aantal dagen voordat het product uitverkocht is op basis van huidige voorraad en dagelijks verkooptempo.
Stap 4: Drempelwaarden instellen
In het Voorraad tabblad, kolom D (Min. drempel), stel je per product de minimale voorraad in. Richtlijn:
• Snellopende producten: 14 x gemiddelde dagverkoop
• Normale producten: 21 x gemiddelde dagverkoop
• Seizoensproducten: overleg met inkoper
Voeg een helper-kolom G toe "Actie vereist" met formule:
=IF(C2<=D2, "KRITIEK", IF(F2<=21, "WAARSCHUWING", "OK"))
Stap 5: Make scenario voor dagelijkse voorraadcheck
Maak een tweede Make scenario aan voor de dagelijkse check. Gebruik:
1. Trigger: Schedule (dagelijks om 07:00)
2. Google Sheets > Search Rows — filter op kolom G = "KRITIEK" of "WAARSCHUWING"
3. Tools > Array Aggregator — verzamel alle kritieke producten
4. HTTP > Make a request (POST naar Claude API)
5. Google Sheets > Update a Row — sla het advies op in tabblad 3
6. Email / Slack — stuur notificatie
Stap 6: Claude API aanroepen voor inkoopadvies
In de HTTP module, stel de Claude API call in:
URL: https://api.anthropic.com/v1/messages
Method: POST
Headers:
x-api-key: jouw-claude-api-key
anthropic-version: 2023-06-01
Content-Type: application/json
Body (JSON):
{ "model": "claude-sonnet-4-5", "max_tokens": 1024, "messages": [{ "role": "user", "content": "Analyseer deze voorraaddata voor een Nederlandse webshop in duurzame tuinartikelen. Geef per product een concreet inkoopadvies in het Nederlands. Producten:\n{{3.result}}" }] }
Make mapped automatisch {{3.result}} met de geaggregeerde voorraaddata uit stap 4.
Stap 7: Claude response verwerken
Voeg een "Tools > Set variable" module toe om de Claude response te parsen. Het response object heeft de volgende structuur:
{{7.content[].text}} — dit is de volledige Claude analyse
Map dit naar kolom D ("Claude analyse") in het Inkoopadvies tabblad, samen met de SKU, productnaam en timestamp.
Stap 8: Notificaties configureren
Voeg als laatste module een notificatie toe. Opties:
• E-mail via Gmail: stuur een wekelijkse samenvatting naar de inkoper
• Slack: stuur per kritiek product een bericht naar #inkoop kanaal
• WhatsApp (via Twilio): voor urgente out-of-stock meldingen
Aanbevolen drempel voor notificaties: alleen sturen bij "KRITIEK" status (verwachte uitloop < 7 dagen).
Stap 9: Dashboard in Google Sheets
Maak een vierde tabblad "Dashboard" met een KPI-overzicht:
• Totaal producten: =COUNTA(Voorraad!A:A)-1
• Kritieke producten: =COUNTIF(Voorraad!G:G,"KRITIEK")
• Waarschuwingen: =COUNTIF(Voorraad!G:G,"WAARSCHUWING")
• Gemiddelde uitlooptijd: =AVERAGEIF(Voorraad!C:C,">0",Voorraad!F:F)
Voeg conditional formatting toe: rood bij KRITIEK, geel bij WAARSCHUWING, groen bij OK.
Stap 10: Testen en activeren
Test het scenario stap voor stap in Make:
1. Klik "Run once" voor het WooCommerce scenario
2. Controleer of data correct in Google Sheets staat
3. Voeg handmatig een test-rij toe met lage voorraad
4. Run het check-scenario handmatig
5. Controleer of Claude advies wordt gegenereerd en opgeslagen
6. Controleer of notificatie wordt verstuurd
Als alles werkt: zet de scheduling aan en activeer beide scenario's.
Troubleshooting
WooCommerce API geeft 401 terug: controleer of de API keys de juiste rechten hebben (Read/Write voor orders en products).
Google Sheets update faalt: controleer of het service account van Make schrijfrechten heeft op de Sheet.
Claude API geeft lege response: controleer of max_tokens hoog genoeg is (1024 voor kortere analyses, 4096 voor uitgebreid advies).
Scenario time-out bij grote catalogi: gebruik pagination in WooCommerce modules en verwerk per 50 producten.
Uitbreidingen
Seizoenscorrectie: voeg een extra prompt-instructie toe aan Claude met seizoenspatronen per productcategorie.
Leveranciersmails: koppel Make aan Gmail om automatisch inkooporders te sturen op basis van Claude-advies.
Forecasting: voeg 90 dagen verkoophistorie toe aan de Claude prompt voor betere seizoensverwachting.
Multi-warehouse: breid het schema uit met locatiekolommen en genereer locatiespecifiek advies.