Naar de inhoud
SyncMyShop

Picqer en WooCommerce

Picqer WooCommerce koppeling

Orders uit WooCommerce staan als order in Picqer, de vrije voorraad uit Picqer staat in WooCommerce zonder dat orders in de wachtrij dubbel tellen, en een verzonden order krijgt zijn track-en-trace terug. Met de voorraad en leverdatum van je leverancier erbij. Gebouwd op jouw winkel en magazijnen, en daarna door ons gedraaid en bewaakt.

Wat je tussen Picqer en WooCommerce koppelt

WooCommerce neemt de order aan, Picqer pickt, verpakt en verzendt. Tussen de twee lopen vier stromen. Een vijfde komt van buiten: de voorraad en leverdatum van je leverancier, die Picqer zelf niet inleest.

Stroom Richting WooCommerce Picqer
Orders naar Picqer webhook order.created of order.updated POST /orders, daarna /process
Vrije voorraad naar WooCommerce stock_quantity per product of variatie webhook products.free_stock_changed
Zending en track-en-trace naar WooCommerce ordernotitie en status completed webhook picklists.shipments.created
Annulering naar Picqer status cancelled order annuleren
Leveranciersvoorraad en leverdatum naar beide backorders en een veld op het product beschikbaarheid en levertijd

Producten worden gekoppeld op één sleutel: de sku van het product of de variatie is de productcode in Picqer. Picqer eist een unieke productcode. In WooCommerce mag een variatie zonder SKU bestaan. De koppeling meldt die bij de start, want zonder SKU is er niets om de voorraad op te schrijven.

Welk systeem is leidend, per gegeven

Gegeven Leidend Richting Gedrag
Order en betaalstatus WooCommerce naar Picqer één keer, met het ordernummer als reference
Vrije voorraad Picqer naar WooCommerce bij elke wijziging, plus een nachtelijke vergelijking
Productteksten, prijzen, afbeeldingen WooCommerce, PIM of ERP buiten deze stroom de koppeling schrijft er niet overheen
Orderstatus na verzending Picqer naar WooCommerce completed als alles is verzonden
Verwachte leverdatum inkooporder in Picqer of het bestand van de leverancier naar WooCommerce in een veld op het product
Bestellen zonder voorraad regel in de koppeling naar WooCommerce backorders: no, notify of yes

Picqer staat backorders altijd toe. Of een klant een product zonder voorraad kan bestellen, bepaalt dus WooCommerce, per product of variatie.

Wat Picqer en WooCommerce anders bewaren

Vrije voorraad tegenover één voorraadgetal

Voorraad naar WooCommerce terwijl een order nog in de wachtrij staat WooCommerce verlaagt de voorraad zelf van 20 naar 16 bij een order van 4 stuks. Voordat die order in Picqer staat, meldt Picqer een vrije voorraad van 18 door een bol-order van 2. De koppeling trekt de 4 stuks in de wachtrij af en schrijft 14. Daarna staat de order in Picqer en meldt Picqer zelf 14. WooCommerce stock_quantity Koppeling wachtrij Picqer freestock Start: 20 in WooCommerce, 20 vrij in Picqer. webhook order.created, 4 stuks zelf naar 16 free_stock_changed: 18 18 min 4 in de wachtrij = 14 PUT stock_quantity 14 POST /orders, dan /process free_stock_changed: 14 Zonder de aftrek krijgt WooCommerce 18 en verkoopt hij 4 stuks die al weg zijn.
WooCommerce telt een order direct af, Picqer pas als de order er staat. De koppeling overbrugt dat venster.

Picqer geeft per product en per magazijn stock, reserved en freestock: wat er ligt, wat verkocht en nog niet gepickt is, en het verschil. WooCommerce heeft per product of variatie één geheel getal, stock_quantity, zonder magazijnen en zonder reservering. WooCommerce verlaagt dat getal zelf zodra een order op processing of on-hold komt.

Daar zit het venster. Een order die net in WooCommerce is geplaatst, staat nog niet in Picqer. Meldt Picqer in die tussentijd een nieuwe vrije voorraad, bijvoorbeeld door een bol-order, dan bevat dat getal de nieuwe WooCommerce-order nog niet. De REST API van WooCommerce zet de voorraad op een absolute waarde en heeft geen controle op een verouderde stand. De koppeling trekt daarom de orders die nog in de wachtrij staan af van de vrije voorraad voordat hij schrijft. Een negatieve vrije voorraad, bij backorders, wordt 0.

Orderstatussen

WooCommerce kent pending, processing, on-hold, completed, cancelled, refunded en failed, en plugins voegen er eigen statussen aan toe. Picqer kent concept, expected, processing, paused, completed en cancelled. De koppeling vertaalt per status:

Status in WooCommerce In Picqer
pending, failed niets
on-hold per betaalmethode: expected, of nog niets
processing aanmaken en naar processing
cancelled annuleren als er nog niet gepickt is, anders een melding
eigen status van een plugin volgens de tabel, anders de controlelijst

Na verzending gaat de WooCommerce-order naar completed. Bij een deellevering blijft hij op processing en krijgt hij per zending een notitie met de code. Zie orderstatussen mappen.

Track-en-trace zonder veld

Een WooCommerce-order heeft in de REST API geen veld voor een trackingnummer of vervoerder. Wat de klant ziet hangt af van de route: een ordernotitie via /orders/<id>/notes met customer_note op true geeft een mail van WooCommerce, de Shipment Tracking-extensie geeft een eigen blok met vervoerder, nummer en link. De koppeling schrijft naar de route die jouw winkel gebruikt.

De kant van de leverancier

Picqer heeft inkooporders met een verwachte leverdatum, delivery_date, en geeft een backorder een date_available. Het voorraadbestand van een leverancier leest Picqer niet in. De koppeling doet dat wel: een product met vrije voorraad 0 en 40 stuks bij de leverancier gaat in WooCommerce op backorders met de leverdatum erbij, en naar Picqer gaan de beschikbaarheid en de levertijd. Zie levertijd synchroniseren en Picqer koppeling.

De technische werkelijkheid van deze combinatie

Limiet Picqer WooCommerce
Tempo 500 verzoeken per minuut per API-sleutel geen limiet op wc/v3 gedocumenteerd
Boven de grens 429, het verzoek wordt genegeerd afhankelijk van de hosting
Per verzoek 100 resultaten, verder met offset 100 objecten per batch
Webhook: verzending binnen 10 seconden antwoorden, 15 nieuwe pogingen in ongeveer 17 uur via WP-Cron, op paginabezoek
Webhook uitgeschakeld na 5 volledig mislukte berichten in 24 uur na 5 mislukte afleveringen achter elkaar

De getallen zijn op 3 oktober 2026 nagelezen in de documentatie van Picqer en WooCommerce.

De nachtelijke vergelijking, doorgerekend. Een winkel met 1.200 enkelvoudige producten en 1.200 variabele producten met elk 4 variaties heeft 6.000 voorraadgetallen. Uit Picqer zijn dat 60 verzoeken van 100. Naar WooCommerce gaan enkelvoudige producten in batches van 100, dus 12 aanroepen voor alle 1.200. Variaties hebben een batch per variabel product: wijkt bij 300 producten een variatie af, dan zijn dat 300 aanroepen. Na de vergelijking gaan alleen de verschillen mee.

WP-Cron. WooCommerce verstuurt webhooks standaard op de achtergrond via WP-Cron, en WP-Cron draait alleen als iemand een pagina opvraagt. Een order die 's nachts binnenkomt op een rustige winkel kan zo later bij de koppeling aankomen. Een controleronde op modified_after haalt de orders op die geen webhook hebben opgeleverd.

Hosting. De koppeling schrijft met PUT en POST. Sommige hostingpakketten blokkeren die methoden op de REST API, en een cacheplugin die de API meecachet geeft oude orders terug. Beide controleren we bij de start, voordat er voorraad wordt geschreven.

Wat een standaardkoppeling hier niet doet

Picqer heeft zelf een WooCommerce-koppeling en documenteert wat die doet. Op 3 oktober 2026 stond er in de helpartikelen:

  • Alleen de standaardstatussen. Orders met een status die een plugin heeft toegevoegd worden genegeerd tot ze weer een bekende status hebben.
  • WooCommerce Multilingual wordt niet ondersteund, omdat die plugin de werking van de API aanpast.
  • Track-en-trace als notitie. Code en link gaan in een ordernotitie; een eigen veld is er niet.
  • Hosting moet meewerken. Werken voorraad en status niet bij, dan staat PUT op de server vaak uit; komen orders uren later, dan cachet een plugin de API.

De voorraad van leveranciers zit er niet in: Picqer leest die niet in. Een gebouwde koppeling vertaalt jouw eigen statussen, werkt met WPML, trekt orders in de wachtrij af van de voorraad en voegt de bron per leverancier toe. Meer over de voorraadkant in welke voorraad toon je in je webshop.

Als het misgaat

Wat er misgaat Wat de koppeling doet Wat je ziet
Picqer antwoordt 429 het verzoek gaat opnieuw de wachtrij in niets, tenzij het aanhoudt
Webhook van WooCommerce uitgeschakeld de controleronde haalt de orders op een regel in het logboek
Orderregel met een SKU die Picqer niet kent de order blijft als concept staan de order en de SKU
Status zonder regel in de tabel de order gaat niet naar Picqer de order en de status
PUT geweigerd door de server voorraadstroom pauzeert de foutcode van de hosting
Voorraadbestand van de leverancier ontbreekt de laatste stand blijft staan, niets gaat op nul een melding met de leverancier

Voordat de koppeling een order aanmaakt, zoekt hij in Picqer op reference. Picqer dwingt een unieke referentie niet af, dus zonder die controle maakt een tweede webhook voor dezelfde order een tweede order. Een bericht dat blijft falen wordt met de oorspronkelijke inhoud bewaard en gaat opnieuw mee zodra de oorzaak is opgelost. Voor livegang draait de koppeling als dry run: per product de voorraad die hij zou schrijven, per order wat hij in Picqer zou aanmaken.

Wij hosten en bewaken de koppeling en passen hem aan als Picqer of WooCommerce een interface wijzigt. De systeemkant staat op Picqer koppeling, de platformkant op WooCommerce koppeling, en alle voorraadstromen op voorraad en beschikbaarheid. Verwante combinaties: Picqer Shopify koppeling en Akeneo WooCommerce koppeling. Vertel hoeveel magazijnen, statussen en leveranciers je hebt.

Veelgestelde vragen

Wanneer gaat een order van WooCommerce naar Picqer?

Standaard zodra hij op processing staat: betaald, en WooCommerce heeft de voorraad verlaagd. Een order op on-hold, bijvoorbeeld bij betalen op rekening of per bankoverschrijving, kan ook mee als je die al wilt reserveren. Dat leg je per betaalmethode vast. In Picqer komt de order binnen als concept en wordt hij daarna verwerkt.

Hoe komt de track-en-tracecode bij de klant?

Een WooCommerce-order heeft in de REST API geen veld voor een trackingnummer. De koppeling zet de code en de link in een ordernotitie met customer_note op true; WooCommerce mailt de klant dan en toont de notitie bij de order. Gebruik je de Shipment Tracking-extensie, dan schrijft de koppeling daarin. Daarna gaat de order naar completed.

Wij hebben eigen orderstatussen in WooCommerce. Werkt dat?

Ja. De koppeling krijgt een tabel van jouw statussen naar wat er in Picqer moet gebeuren: aanmaken, wachten, annuleren of niets doen. Een status als wacht-op-maatwerk houdt de order dan vast tot hij naar processing gaat. Statussen die niet in de tabel staan, komen op de controlelijst in plaats van stil te worden overgeslagen.

Kan ik meerdere magazijnen in Picqer gebruiken met één WooCommerce-winkel?

Ja. WooCommerce heeft één voorraadgetal per product of variatie. De koppeling telt de vrije voorraad op van de magazijnen die meetellen, in Picqer de instelling counts_for_general_stock, en schrijft dat ene getal. Welk magazijn een order levert, bepaalt Picqer met de prioriteit per magazijn.

Werkt het met WPML en meerdere talen?

Ja. Met WooCommerce Multilingual van WPML bestaat een product per taal als eigen product, gekoppeld aan het origineel. De koppeling schrijft de voorraad op het product in de hoofdtaal en importeert orders uit alle talen. In de dry run controleren we of jouw installatie de voorraad naar de vertalingen doorzet.

Kan de webshop verkopen wat bij de leverancier op voorraad ligt?

Ja. De koppeling leest het voorraadbestand van de leverancier en zet een product waarvan de eigen vrije voorraad nul is op backorders met de waarde notify, met de verwachte leverdatum in een veld op het product. Eigen voorraad gaat altijd voor. Zie voorraad van je leverancier koppelen.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com