Module 3 · 3.4
Voorraad en producten in bulk
Module 3: Producten · Leestijd: 10 minuten
Leerdoel: Na deze les kun je de voorraad in WooCommerce bewust instellen (beheer, vasthouden, meldingen, nabestellingen, uitverkochte producten) en producten veilig in bulk exporteren en importeren met een CSV-bestand.
Kernbegrippen: voorraadbeheer, voorraad per product of per variatie, voorraad vasthouden (Hold stock), drempel lage voorraad, drempel uitverkocht, voorraadmeldingen, nabestellingen (backorders), uitverkochte producten verbergen, voorraadweergave, CSV-export, CSV-import, bestaande producten bijwerken, tekenset (UTF-8), scheidingsteken, koppelingen met kassa of groothandel
Waarom voorraad meer is dan een getal
Een voorraadgetal lijkt simpel: je hebt twaalf theepotten, er gaan er twaalf de deur uit, daarna is het op. In een webshop gebeuren er dingen tegelijk. Twee klanten leggen de laatste theepot in hun winkelwagen. Een klant begint met betalen en bedenkt zich halverwege. Je verkoopt dezelfde theepot ook in je fysieke winkel of op een markt. Een verkeerd ingestelde voorraad leidt tot het slechtste wat een shop kan overkomen: een betaalde bestelling die je niet kunt leveren. Dat kost je een terugbetaling, een boze klant en soms een slechte recensie.
WooCommerce heeft daarvoor een reeks instellingen. Je vindt ze bij WooCommerce > Instellingen > Producten > Voorraad (Inventory), en per product in het tabblad Voorraad.
De instellingen een voor een
Voorraad beheren (Enable stock management) staat standaard aan. Per product kies je daarna of WooCommerce de aantallen bijhoudt. Zonder aantallen zet je alleen de status: op voorraad, uitverkocht of nabestelling. Dat past bij producten die je op bestelling maakt of die je altijd kunt leveren. Bij een variabel product kies je of de voorraad per variatie of voor het hele product geldt (les 3.2).
Voorraad vasthouden (minuten) (Hold stock), standaard 60. Begint een klant met afrekenen, dan maakt WooCommerce een bestelling met de status Wachtend op betaling en zet de voorraad apart. Is er na dit aantal minuten nog niet betaald, dan annuleert WooCommerce de openstaande bestelling en komt de voorraad terug. Te kort, en een klant die bij zijn bank even moet inloggen, ziet zijn bestelling geannuleerd. Te lang, en een theepot staat een halve dag vast voor iemand die al lang weg is. Een uur is voor de meeste shops redelijk. Let op: het annuleren is een geplande taak. Draaien je geplande taken niet goed, dan blijven onbetaalde bestellingen hangen (les 7.3).
Meldingen (Notifications): een mail bij lage voorraad, bij uitverkocht en bij een nabestelling, standaard naar het beheerdersadres. Zet hier het adres van wie de inkoop doet.
Drempel lage voorraad (Low stock threshold), standaard 2, en drempel uitverkocht (Out of stock threshold), standaard 0. Verkoop je ook in een fysieke winkel en werk je de webshop maar één keer per dag bij? Zet de drempel uitverkocht dan op 1 of 2. Dan verkoopt de webshop het laatste exemplaar niet, dat misschien al in de winkel is verkocht.
Zichtbaarheid uitverkocht (Hide out of stock items from the catalog), standaard uit. Verbergen houdt je winkelpagina's schoon. Maar een uitverkocht product dat weer terugkomt, verliest dan tijdelijk zijn plek in de categorie. De productpagina zelf blijft bereikbaar. Les 7.1 gaat over wat dat voor vindbaarheid betekent.
Voorraadweergave (Stock display format): altijd het aantal tonen ("12 op voorraad"), alleen bij weinig ("Nog 2 op voorraad"), of nooit. "Nog 2 op voorraad" helpt klanten beslissen, maar toon het alleen als het klopt; kunstmatige schaarste is misleidend.
Nabestellingen (Allow backorders?) per product: niet toestaan, toestaan maar de klant waarschuwen, of toestaan. Nabestellingen toestaan betekent dat klanten mogen kopen terwijl je niets hebt. Dat kan bij een product dat je zeker binnen een week binnenkrijgt. Laat de klant het dan wel weten (de middelste optie) en noem een realistische levertijd: de levertijd hoort bij de informatie die je vóór de koop geeft (les 5.1).
Koppelingen en één bron van waarheid
Verkoop je op meer plekken (webshop, winkel met kassa, een marktplaats) of levert een groothandel direct aan je klanten, dan zijn er al snel twee of drie lijsten met voorraad. Kies één bron van waarheid: het systeem dat de echte voorraad bepaalt. Meestal is dat de kassa of het voorraadsysteem, en krijgt WooCommerce de aantallen via een koppeling. Zo'n koppeling werkt met de SKU als sleutel. Een product zonder SKU, of een SKU die in de kassa anders is gespeld, wordt niet bijgewerkt. Daarom was de SKU in les 3.1 zo belangrijk.
Koppelingen gebruiken meestal de REST API van WooCommerce met een API-sleutel. Geef zo'n sleutel alleen de rechten die nodig zijn (les 2.4).
Producten in bulk: exporteren en importeren
Voor tien producten werk je in het beheer. Voor honderd prijswijzigingen, een nieuw seizoen of een overstap van een ander shopsysteem gebruik je de ingebouwde CSV-export en -import: de knoppen Exporteren (Export) en Importeren (Import) boven de productlijst bij Producten > Alle producten.
Een CSV-bestand is een tekstbestand met een regel per product en kolommen gescheiden door komma's. Je opent het in een rekenprogramma. Daar gaat het vaak mis:
- Tekenset. WooCommerce gebruikt UTF-8. Opent je rekenprogramma het bestand in een andere tekenset, dan wordt "é" iets als "é". Kies bij het openen en opslaan nadrukkelijk UTF-8.
- Scheidingsteken en decimaalteken. In Nederlandse instellingen gebruikt een rekenprogramma vaak de puntkomma als scheidingsteken en de komma als decimaalteken. WooCommerce verwacht in prijzen een punt (24.00). Een prijs "24,00" kan als iets anders worden gelezen. Controleer een paar regels in een teksteditor voor je importeert.
- Lege kolommen. Bij bijwerken kan een lege cel betekenen dat een waarde leeg wordt gemaakt. Laat kolommen die je niet wilt aanraken liever helemaal weg uit het bestand.
- Variaties. Elke variatie is een eigen regel, met een verwijzing naar het hoofdproduct.
Bij het importeren kies je Bestaande producten bijwerken (Update existing products). WooCommerce zoekt een bestaand product dan op ID of SKU. Producten die niet bestaan, worden met die keuze overgeslagen. Zonder die keuze maakt de import nieuwe producten, en een SKU die al bestaat, geeft een fout.
Veilig werken: eerst klein, eerst ergens anders
Een import kan in één klik honderden producten veranderen. Daarom:
- Maak een back-up (WordPress-cursus, les 8.1), of werk eerst in je testwinkel (les 2.1).
- Exporteer eerst, zodat je een bestand hebt met de huidige stand.
- Test met een bestand met één regel. Controleer het product in het beheer en op de site.
- Pas daarna het hele bestand toe.
- Grote bestanden kunnen tegen de uploadgrens of de tijdgrens van PHP lopen. Splits ze in delen, of vraag je hoster naar de PHP-instellingen (kennisbank 200).
Samenvatting
- Voorraad beheren voorkomt betaalde bestellingen die je niet kunt leveren.
- Voorraad vasthouden (standaard 60 minuten) houdt artikelen vast tijdens het betalen; het annuleren daarna is een geplande taak.
- Drempels, meldingen, zichtbaarheid en nabestellingen stel je bewust in, met een eerlijke levertijd.
- Kies één bron van waarheid en gebruik de SKU als sleutel voor koppelingen.
- CSV-import: UTF-8, punt als decimaalteken, eerst exporteren, testen met één regel, bijwerken op ID of SKU.
Quiz
Opdracht
Opdracht D3.4: Exporteren en importeren. Doe dit in je testwinkel of na een verse back-up.
Stappen:
- Exporteer al je producten met de knop Exporteren boven de productlijst (Producten > Alle producten) naar een CSV-bestand.
- Open het bestand in een rekenprogramma en kies UTF-8. Kijk welk scheidingsteken en welk decimaalteken je ziet.
- Maak een nieuw bestand met alleen de kolommen ID (of SKU) en Voorraad, met één product. Verander de voorraad.
- Importeer dat bestand met de knop Importeren boven de productlijst, met Bestaande producten bijwerken aan.
- Controleer het product in het beheer en in een privévenster op de site.
- Loop je voorraadinstellingen na bij WooCommerce > Instellingen > Producten > Voorraad.
Checklist (verplicht): back-up of testwinkel; export gemaakt; bestand met de juiste tekenset geopend; één regel aangepast; alleen die regel geïmporteerd met "bestaande producten bijwerken"; resultaat gecontroleerd.
Beantwoord:
- Welke kolom gebruikte WooCommerce om het product terug te vinden: ID of SKU?
- Wat ging er mis of bijna mis (tekens, decimaalteken, lege kolommen)?
- Welke voorraadinstellingen gebruik je (voorraad vasthouden, drempels, meldingen, nabestellingen) en waarom?
Een goed antwoord noemt ID of SKU als sleutel, een concrete valkuil die je tegenkwam of vermeed, en per instelling een reden die past bij jouw shop.
Opdracht D3.4: Exporteren en importeren
Deze opdracht doe je zelf; niemand kijkt hem na. Vink af wat je gedaan hebt en markeer de opdracht als gedaan.
ID of SKU als sleutel; een concrete valkuil (komma als decimaalteken, puntkomma als scheidingsteken, é wordt é); een keuze voor nabestellingen met reden.
Je vinkjes en aantekeningen blijven alleen in deze browser; we sturen ze nergens heen. Ben je aangemeld, dan bewaren we in Mijn cursussen alleen dat je de opdracht gedaan hebt.
Verder lezen
- Product CSV importer and exporter (woocommerce.com, Engels): https://woocommerce.com/document/product-csv-importer-exporter/
- Gratis WordPress-cursus 8.1: Back-ups: wat, waar en hoe vaak
- Uploaden lukt niet: upload_max_filesize en max_execution_time verhogen
- DirectAdmin handleiding 18.5: Upload te groot (fout 413) of time-out
- Producten in bulk importeren en exporteren met CSV
De stappen in de kennisbank en de handleiding gelden voor de panelen van WebOké; bij andere aanbieders werkt het vergelijkbaar.
