Nieuw: product- en prijswaarschuwingen
Vanaf Core 1.2.1 en Pro 2.3.0-rc.5 zie je in WooCommerce → Producten de kolom Supplier Hub. Hetzelfde vak staat bij het bewerken van een gekoppeld artikel. Meldingen verschijnen nadat een synchronisatie actuele leveranciersgegevens heeft verwerkt.
- Gewijzigde productgegevens leverancier: controleer de SKU en EAN. Supplier Hub koppelt het artikel niet automatisch aan een ander product.
- Prijswijziging leverancier: bekijk de vorige en nieuwe inkoopprijs en vergelijk deze met je eigen verkoopprijs.
- Verkoopprijs onder inkoopprijs: beide bedragen worden exclusief btw vergeleken wanneer valuta en btw-basis bekend zijn. Ontbreekt betrouwbare vergelijkingsinformatie, dan staat dat erbij.
Je titel, beschrijving, verkoopprijs en publicatiestatus blijven behouden. Een verwijderd artikel of artikel in de prullenbak wordt overgeslagen en niet teruggezet. De overige artikelen kunnen verder worden verwerkt. De getoonde datum is de laatste leverancierscontrole, geen garantie op actuele gegevens wanneer verwerking stilstaat.
Supplier Hub – klantenhandleiding
Core 1.1.0 en Pro Customer 2.2.0 20 oktober 2026 – klantenhandleiding
Met Supplier Hub verbind je je WooCommerce-webshop met leveranciers. Core helpt je verbindingen in te stellen en producten te bekijken. Pro Customer voegt productimport, synchronisatie en ondersteunde orderverwerking toe. Begin met de snelstart en lees daarna het hoofdstuk voor de taak die je wilt uitvoeren. De schermvoorbeelden gebruiken fictieve producten in een werkende testomgeving. De plugin volgt de WordPress-taalinstelling; in deze ene handleiding kies je bovenaan Nederlands of Engels.
Ondersteunde connectoren
Supplier Hub heeft instelbare connectoren voor de onderstaande formaten. De aansluiting moet passen bij de documentatie van de leverancier. Er is geen garantie dat ieder leverancierssysteem aansluit.
| Connector | Wat wordt ondersteund? | Belangrijke grens |
|---|---|---|
| REST/JSON via HTTPS | Producten, prijzen en voorraad lezen met GET; instelbare JSON-velden en offset/limit-paginering of een volledige lijst | Exact zoeken vereist een passende ID-route of een expliciet geschikte complete opgeslagen catalogus |
| CSV/TSV via HTTPS | Productfeeds met kopregel, kolomkoppelingen en komma, puntkomma, tab of verticale streep als scheidingsteken | Een opgeslagen bestand alleen geeft geen actuele productcontrole voor nieuwe imports |
| XML via HTTPS | Productfeeds met instelbaar productelement en veldpaden; streaming verwerking | XMLReader nodig; dit is geen SOAP-koppeling |
| REST/JSON-orderconnector in Pro | JSON POST voor orders; GET voor status, vervoerder, tracking en optionele documentverwijzingen | Afzonderlijk configureren en testen; de plugin betaalt leveranciers niet automatisch |
| Lokale testgegevens | Fictieve producten en foutscenario’s zonder leveranciersverkeer | Alleen voor demonstratie en controle |
Authenticatie bij REST/JSON: geen authenticatie, HTTP Basic, vast Bearer-token, API-sleutel in een instelbare X-header, of een HTTPS-login met JSON POST die een tijdelijk Bearer-token oplevert. CSV/XML ondersteunt de eerste vier methoden. De token-login is geen volledige OAuth2-implementatie.
Niet standaard ingebouwd: SOAP/WSDL, GraphQL, FTP/SFTP, EDI/EDIFACT, cXML, inkomende leverancierswebhooks, WebSockets, volledige OAuth2-aanmeldstromen, mTLS-klantcertificaten en bijzondere HMAC-ondertekening. Hiervoor kan een afzonderlijke connectoruitbreiding nodig zijn. Een eerder afgegeven JWT kan als Bearer-token worden gebruikt.
Catalogus bekijken, nieuwe producten importeren, bestaande producten synchroniseren en orders versturen zijn afzonderlijke mogelijkheden. Een geslaagde catalogustest bewijst geen werkende orderroute. De Pro-abilities voor MCP zijn een bedieningskoppeling op de eigen WordPress-site via een afzonderlijke MCP-server; ze voegen geen leveranciersprotocol toe.
Snelstart: begin veilig met lokale testdata
Doel: leren configureren en bladeren zonder leveranciersverkeer. Voor een lokale conceptimport is ook Pro nodig. Op een externe testsite hoort de beheerder vooraf de site, back-up en mutaties goed te keuren.
- Maak een herstelbare back-up van database en bestanden. Controleer dat terugzetten mogelijk is.
- Activeer WooCommerce en vervolgens Core 1.1.0. Installeer voor import daarna de bijpassende Pro Customer. Customer en Owner zijn alternatieven; activeer ze niet naast elkaar.
- Open Supplier Hub > Leveranciers; de menu’s volgen je WordPress-taalinstelling.
- Geef de leverancier de naam
Mijn lokale test. Kies Lokale testdata / Local test data, scenariobaseline, en sla de verbinding eerst als inactief concept op. - Open de opgeslagen leverancier en voer de verbindingstest uit. De verwachte uitkomst noemt lokale testdata. Dit is geen leveranciers-API-test.
- Activeer deze testleverancier en open Live catalogus / Live catalogue. Blader naar de volgende pagina en zoek exact op
DEMO-001. - Voor een uitsluitend lokale proef met Pro: stel bij de importinstellingen afbeeldingen niet verplicht voor deze fictieve bron; de testbron levert geen echte afbeeldingen. Laat de beschrijvingscontrole aan. Deze keuze geldt alleen voor de lokale demonstratie.
- Selecteer één product, start de conceptimport en volg Imports & synchronisatie. Open het resultaat in Producten. Het product hoort concept te zijn, met bronkoppeling en leveranciersvoorraad, zonder automatisch bedachte verkoopprijs.
- Vul eigen titel, tekst en verkoopprijs in. Herhaal dezelfde import. Er hoort één gekoppeld product te blijven bestaan; eigen verkoopgegevens blijven behouden.
Veilig herstel: stop bij een fout en lees de taakmelding. Publiceer niets om een test te laten slagen. Een ontbrekende afbeelding is bij deze fictieve bron verwacht. Gebruik bij echte leveranciers passende eigen instellingen en controleer de rechten op hun media.
1. Wat Core en Pro doen
Core is de gratis verbindings- en cataloguslaag. Je kunt leveranciersprofielen bewaren, authenticatie en veldkoppelingen controleren, cataloguspagina’s bekijken en waar ondersteund exact zoeken. Core bevat geen product- of leveranciersquotum, commerciële activatie of private updater. De oude bediening voor het opbouwen van een permanente SQL-catalogusindex is verwijderd. Bestaande historische tabellen zijn geen opdracht om een nieuwe index te bouwen.
Pro voegt conceptimport naar WooCommerce, lokale mediaopslag, gerichte voorraad-/inkoopprijssynchronisatie en geconfigureerde betaalde-orderverwerking toe. Pro Customer gebruikt reguliere klantrechten. Pro Owner bevat een afzonderlijke, aan de bevoegde eigen installatie gebonden eigenaarstoekenning. Gebruik Owner niet als klantlicentie.
| Bron | Bladeren | Nieuwe conceptimport | Bestaande synchronisatie |
|---|---|---|---|
| Lokale testdata | Ja, fictieve producten | Ja, uitsluitend demonstratie | Ja, fictieve scenario’s |
| REST/JSON met correct exact productendpoint | Ja, afhankelijk van profiel | Ja, na actuele exacte controle | Ja, exacte gekoppelde producten |
| Contentfeed plus afzonderlijke product-API | Via een complete tijdelijke catalogus | Alleen met passende content en geslaagde actuele productcontrole | Gerichte controle van prijs en voorraad; geen volledige feed als terugval |
| Volledige API-lijst met geschikte complete snapshot | Laatste volledige catalogus | Exacte controle uit complete snapshot van maximaal 24 uur oud | Bronleeftijd blijft gelden; geen realtime reservering |
| Andere API die uitsluitend een volledige productlijst levert | Via een gedeelde complete momentopname | Niet beschikbaar zonder een geschikte actuele productcontrole | Uit een voldoende recente momentopname |
| Generieke CSV/XML | Via tijdelijke cache binnen formaatlimieten | Geblokkeerd: een bestand is geen actuele SKU-API | De huidige nieuwe-importgrens blijft gelden; geen algemene syncbelofte |
Orderverzending is een afzonderlijke capability van een geconfigureerde orderconnector. Een geslaagde productverbinding bewijst geen werkende order-API. Deze release bouwt geen nieuwe combinatie van verzendtarieven voor gemengde bestellingen. Beloof die functionaliteit niet aan klanten.
2. Vereisten en installatie
Benodigd: PHP 8.1 of hoger, WordPress 6.8 of hoger, WooCommerce 10.1 of hoger en de bijpassende Core/Pro-versies. De lokale acceptatie gebruikt PHP 8.1.34, WordPress 7.1.3, WooCommerce 11.2.1 en MariaDB 11.4.5. Dat bewijst geen test op iedere tussengelegen WordPress-/WooCommerce-versie. Sodium is nodig voor versleutelde gegevens en ondertekende rechten; ZipArchive voor ZIP-verwerking; XMLReader voor XML; GD voor de geteste beeldverwerking.
Doel: installeren zonder configuratie of productdata te verwijderen.
- Controleer siteadres, versies, vrije ruimte en een herstelbare back-up.
- Open Plugins > Nieuwe plugin > Plugin uploaden. Upload Core en kies bij een bestaande installatie voor vervangen.
- Activeer Core. Controleer de versie bij Plugins en open Supplier Hub.
- Upload vervolgens Pro Customer en vervang de bestaande Pro indien van toepassing. Controleer ook die versie.
- Open Systeemstatus & ondersteuning en controleer de afhankelijkheden. Een ontbrekende of te oude Core hoort Pro tegen te houden.
- Download/open de meegeleverde actuele handleiding en doorloop de snelstart op de goedgekeurde testomgeving.
Verwachte uitkomst: Core 1.1.0 en Pro 2.2.0 zijn zichtbaar; bestaande leveranciers en bronkoppelingen blijven bestaan. Herstel: vervang de code door de vooraf bewaarde passende set. Gebruik geen uninstall als upgrade- of rollbackmethode. Een codearchief alleen is geen databaseback-up.
De uitgever verzorgt de instellingen die nodig zijn voor klantactivatie en updates. Je hoeft daarvoor geen broncode te bewerken. Gebruik de passende installatiebestanden en activatiegegevens van de uitgever. Ontbreken die gegevens, neem dan contact op voordat je met een nieuwe klantinstallatie begint.
3. Eerste ingebruikname
Begin met lokale testdata, vervolgens met één echte inactieve leverancier en pas daarna met één goedgekeurd conceptproduct. Laat automatische orders uit zolang de orderroute niet afzonderlijk is geaccepteerd. De plugin doet bij openen van het leveranciersdashboard geen leveranciers-API-test.
Maak vooraf onderscheid tussen drie verantwoordelijkheden: jij beheert winkelteksten, verkoopprijzen en publicatie; de leverancier levert bronidentiteit, inkoopprijs en voorraadwaarneming; de uitgever beheert softwareversies en licentierechten. Een voorraadgetal is geen reservering bij de leverancier.
Controle voordat je uitbreidt: je kunt een leverancier bewaren, opnieuw openen, testen en gericht terugvinden. Je kunt een mislukte taak herkennen en een gekoppeld concept onderscheiden van een handmatig product. Bewaar daarbij geen geheimen in schermafbeeldingen of vrije notities.
4. Leverancier bewaren, pauzeren en testen
Menu: Supplier Hub > Leveranciers. De menu’s volgen je WordPress-taalinstelling.
- Geef een herkenbare naam en kies het passende connectortype.
- Neem HTTPS-endpoint, authenticatietype, paginering en veldpaden over uit de leveranciersdocumentatie. Raad geen SKU- of orderendpoint.
- Vul credentials alleen in de daarvoor bestemde velden in. Lege geheime velden bij bewerken behouden de opgeslagen waarde; de expliciete wisoptie verwijdert die waarde.
- Sla eerst inactief op. Open daarna de opgeslagen verbinding opnieuw.
- Gebruik de veilige responsepreview voor veldkoppelingen en daarna de algemene verbindingstest.
- Activeer pas wanneer het juiste bronprofiel is gecontroleerd. Bewaren van een profiel of interval is geen opdracht tot downloaden of importeren.
Verwachte uitkomst: de status noemt het type test en het tijdstip. Een gewijzigde endpoint- of credentialconfiguratie maakt eerder succes ongeldig voor de nieuwe configuratie. De historie blijft in het log. Herstel: zet de verbinding terug op inactief, corrigeer het profiel en test opnieuw.
Sommige koppelingen hebben naast de catalogusverbinding een afzonderlijke productcontrole. Die controle vraagt één exact product op. Opgeslagen inloggegevens zijn nog geen geslaagde test. De status bewaart het type test en tijdstip; een uitgebreid voorbeeldresultaat kan na tien minuten verdwijnen. Dat betekent niet dat de test opnieuw is mislukt.
Pauzeren van catalogus of leverancier kan nieuwe aankopen van gekoppelde producten blokkeren, ook in een bestaande winkelwagen. Bestaande orders worden niet verwijderd. Wijzig dit bewust en controleer de gevolgen voor klanten; pauzeer niets alleen om een dashboard op te schonen.
5. Catalogus, zoeken en bronleeftijd
Doel: beoordelen wat de bron levert zonder WooCommerce-producten aan te maken.
- Open Live catalogus, kies de leverancier en laad een pagina.
- Gebruik vorige/volgende of de beschikbare paginering. Paginering is begrensd door het connectorprofiel.
- Gebruik Exact zoeken met de volledige externe product-ID wanneer de bron die mogelijkheid ondersteunt.
- Controleer identiteit, titel, EAN/GTIN, valuta, inkoopprijs, voorraad en beschikbare beschrijving/media.
- Lees de bronleeftijd en eventuele cache-/nachtvenstermelding voordat je conclusies over actualiteit trekt.
Waar beschikbaar gelden categorie- en tekstfilters op de tijdelijke feedcache. Een paginagebonden API-filter is geen onbeperkte zoekopdracht door de hele leverancier. Een bron zonder exact endpoint kan bladeren ondersteunen terwijl actuele import niet beschikbaar is. Een ontbrekend resultaat hoort geen ongeveer overeenkomend ander product te selecteren.
Een koppeling kan een aparte bron voor beschrijvingen en afbeeldingen gebruiken, naast een product-API voor actuele prijs en voorraad. Voor import moeten beide bronnen bruikbaar zijn. Exact zoeken of importeren start niet ongemerkt een volledige catalogusdownload wanneer brongegevens ontbreken of te oud zijn.
Bij een daarvoor geschikte volledige-lijstkoppeling gebruiken exact zoeken en conceptimport een complete opgeslagen catalogus binnen de toegestane bronleeftijd, nooit ouder dan 24 uur. Dit is een momentopname en geen realtime voorraadreservering. Andere verbindingen kunnen een afzonderlijke actuele SKU-API nodig hebben.
Een catalogusregel is nog geen winkelproduct. Als je een importvoorbeeld via een gekoppelde assistent bekijkt, kan dat voorbeeld uit eerder opgeslagen gegevens komen. De daadwerkelijke import voert de benodigde actuele productcontrole alsnog uit.
6. Conceptimport, identiteit en eigen wijzigingen
Voorwaarden: Pro, een geaccepteerde exacte bron, juiste valuta, bruikbare content en afzonderlijk akkoord voor import op een externe site.
- Selecteer maximaal 25 producten voor één taak. Gebruik voor de eerste proef één product.
- Controleer leverancier en volledige externe ID; vergelijk ook de EAN als de bron die levert.
- Start de conceptimport en noteer het taaknummer.
- Open Imports & synchronisatie. Wacht op een eindstatus en lees fouten per product.
- Open het gekoppelde WooCommerce-product. Controleer conceptstatus, eigen verkoopprijs, btw, beschrijving, lokale afbeeldingen en bronkoppeling.
- Herhaal bij een lokale acceptatietest dezelfde externe ID. Controleer dat één bronkoppeling en één winkelproduct overblijven.
Een nieuwe import kopieert de initiële beschrijving en waar ingesteld media. De verkoopprijs wordt niet automatisch uit de inkoopprijs afgeleid. Synchronisatie onderhoudt leveranciersvelden; een eigen titel, tekst, afbeelding, verkoopprijs of publicatiestatus blijft van de winkelier. Een handmatig product met toevallig dezelfde leveranciers-SKU hoort niet te worden overgenomen.
Prijs en voorraad moeten geldige getallen zijn. Een voorraad van nul betekent dat het product niet beschikbaar is. Ontbrekende waarden en ja/nee-waarden worden niet als een betrouwbare prijs of een exact voorraadaantal behandeld. De toegestane precisie en nulprijs hangen af van de koppeling. Controleer een nulprijs altijd bij de bron; gebruik nooit een ontbrekende of ongeldige inkoopprijs als basis voor je verkoopprijs.
Herstel: beoordeel de fout en de bestaande bronkoppeling voordat je herhaalt. Maak geen extra handmatig product om een mappingfout te omzeilen. Een onzekere leveranciersorder is een ander probleem dan een herhaalbare lokale import en mag nooit blind opnieuw worden verstuurd.
7. Intervallen en werkelijke actualiteit
Menu: Leveranciers > Instellingen wijzigen.
| Instelling | Keuzes | Betekenis |
|---|---|---|
| Webshopproducten bijwerken | 15/30/60 minuten, 6/24 uur | Wanneer gekoppelde producten aan synchronisatie toe zijn |
| Bladercatalogus verversen | 1/3/5/7/30 dagen | Gewenst interval voor volledige bladerbronnen |
| Koppeling met eigen verversingsregel | Afhankelijk van de koppeling | Het effectieve interval en de reden staan in het leveranciersscherm |
| Gedeelde volledige API-lijst op webshopinterval | Expliciete aparte optie | Mag ook overdag; één complete bron voor alle gekoppelde producten |
Bij een algemene API die een volledige lijst teruggeeft, geldt de opgeslagen cataloguskeuze. Sommige koppelingen hebben een eigen dagelijkse standaard. Als je bewust de gedeelde webshopbron inschakelt, heeft het gekozen webshopinterval voorrang waar de koppeling dat ondersteunt. Het leveranciersscherm toont het effectieve interval en de reden. Een update schakelt deze optie niet automatisch in.
Normale volledige bladerfeeds worden tussen 01:00 en 06:00 in de WordPress-sitetijdzone verwerkt en niet vaker dan eenmaal per 24 uur opnieuw gestart. De aparte gedeelde-lijstoptie is een bewuste uitzondering op zowel nacht- als daginterval. Stem hogere frequentie af met de leverancier; een volledige download per uur kan veel verkeer veroorzaken.
Procedure: open de leverancier, kies de intervallen, laat de gedeelde-lijstoptie uit tenzij bewust gewenst, sla op en open opnieuw. Controleer de opgeslagen keuze én het effectieve interval. Een uurlijkse WooCommerce-tick op een dagelijkse snapshot levert geen uurlijks nieuwe leverancierswaarneming op.
Bij een mislukte vernieuwing blijft de laatste complete snapshot behouden. Dat bewijst geen actualiteit: een te oude bron wordt voor de relevante handelsactie geweigerd. Verhoog geen limieten of frequenties om een fout te verbergen.
8. Orders, sandbox en tracking
Doel: een orderroute voorbereiden zonder een echte order te versturen. Menu: Supplierorders & sandbox.
- Controleer welke leverancier de gekozen producten bezit en welke orderconnector daarvoor is geconfigureerd.
- Controleer create- en statusendpoint, omgeving, authenticatie, adresvelden, product-ID en responsepaden.
- Gebruik dry-run of sandbox uitsluitend voor de functies die deze connector werkelijk ondersteunt. Een payloadpreview bewijst geen externe acceptatie.
- Laat de globale en leveranciersspecifieke productiebevoegdheid uit tot concrete toestemming aanwezig is.
- Plan de eerste echte proef met leverancierbevestiging, bedrag en adres. Volg daarna betaling, één geaccepteerde supplierorder, factuur, tracking en ontvangst afzonderlijk.
De huidige productievoorwaarde vraagt een echte WooCommerce payment_complete-gebeurtenis met passend bewijs van livebetaling, bedrag, valuta, referentie en activeringstijd. Een testbetaling en een handmatig gewijzigde orderstatus voldoen niet. De betaalprovider moet door de gebruikte betalingscontrole worden ondersteund.
Dezelfde WooCommerce-order/leveranciercombinatie krijgt een duurzame reservering. Dubbele callbacks mogen niet tweemaal verzenden. Bij een timeout of verloren bevestiging blijft de uitkomst onzeker. Veilig herstel: controleer eerst het leveranciersportaal en de lokale registratie. Verwijder de reservering niet om een nieuwe verzending af te dwingen.
Een stagingtoekenning geeft geen recht op echte supplierorders. Statuspolling staat los van nieuwe verzending. Tracking verschijnt waar ondersteund in Supplier Hub en interne ordernotities; deze release belooft geen automatische klanttrackingmail of automatisch voltooien van WooCommerce-orders. Een gemengde bestelling wordt per leverancier beoordeeld, maar dit voegt geen nieuwe verzendkostenberekening toe.
9. Dagelijks beheer en achtergrondwerk
Open Systeemstatus & ondersteuning en bekijk vervolgens de relevante taak en het log. Controleer de laatste geslaagde sync, bronleeftijd, taakstatus en fouttijdstip afzonderlijk.
| Status | Betekenis en actie |
|---|---|
| Nog niet getest voor deze configuratie | Voer bewust de juiste test uit |
| Geslaagd op … | Bewijs voor die test, configuratie en dat tijdstip |
| Mislukt op … | Lees de bijbehorende fout en procescontext |
| Wacht op nachtvenster | Automatische volledige bron wacht tot 01:00-06:00 |
| Ingepland; workeractiviteit nog niet bevestigd | Er is een checkpoint; uitvoering is nog niet bewezen |
| Recente voortgang; vervolg ingepland | Een recente batch is vastgelegd; geen garantie dat nu PHP draait |
| Voortgang onbekend | Bekijk laatste batch, pending acties en hostplanner; start niet de hele wachtrij |
Action Scheduler beschikbaar betekent dat de bibliotheek bestaat. Een recente afgeronde actie bewijst haar uitvoering, maar niet een hele nachtcyclus zonder bezoek. Als WP-Cron is uitgeschakeld, moet de host een passende onafhankelijke aansturing leveren. Verander servercron alleen na akkoord en op basis van aantoonbare oorzaak.
De totale tijdelijke feedcachelimiet staat onder systeemstatus: 64-8192 MB, standaard 512 MB. Laat ruimte voor downloads, uitgepakte bestanden en generatiepublicatie. De tijdelijke cataloguscache kan maximaal 30 dagen leesbaar zijn; dit maakt handelsgegevens niet automatisch 30 dagen geldig. Oude losse bestanden worden begrensd opgeruimd. De host kan strengere quota hebben dan WordPress ziet.
Herstel bij achterstand: noteer hook, taak-ID, geplande tijd, begin/einde en foutcode. Beoordeel een specifieke veilige vervolgstap. Gebruik geen algemene queue-run of watchdogrun als cosmetische reparatie; daarin kunnen echte orders en mails zitten.
10. Aankoop, licentie, verlenging, support en verhuizing
Je koopt Supplier Hub Pro via het product dat op de Supplier Hub-website staat. Reken het digitale product af als aparte bestelling. Na bevestigde afrekening ontvang je één sitegebonden licentie en een PDF-factuur per e-mail. De aankoop- en verlengmails bevatten Nederlands met Engels eronder. Er wordt geen fysiek pakket verstuurd.
Open Mijn account > Downloads voor Core, Pro Customer en deze handleiding. De knop in de mail verwijst rechtstreeks naar die tab. De handleiding is één document met taalkeuze; bewaar de oorspronkelijke aankoopbestanden. Downloads zijn beveiligd en staan niet als openbare mediabestanden online.
Verlengen behoudt dezelfde licentie en website. De nieuwe periode is twaalf maanden vanaf de bestaande toekomstige einddatum, of vanaf de verlenging wanneer de oude periode al is afgelopen. Er komt geen tweede licentie en geen automatische incasso. Kies na verlengen Status controleren en laat WordPress daarna opnieuw op updates controleren. Oude herinneringen vervallen; de nieuwe einddatum krijgt een nieuwe herinneringscyclus.
Menu: Supplier Hub > Licentie & updates (Engels: Licence & updates). De sitebeheerder heeft passende beheerrechten nodig.
- Gebruik de reguliere klantcode die de uitgever via een goedgekeurde route verstrekt.
- Controleer het siteadres en kies productie of vooraf goedgekeurde staging.
- Activeer en controleer de ondertekende lokale toekenning en update-einddatum.
- Beoordeel support afzonderlijk; een updateperiode kent niet automatisch persoonlijke ondersteuning toe.
Na een geldige activatie blijven de bestaande operationele functies werken bij verlopen updates of uitval van de licentieserver. De updateperiode duurt twaalf kalendermaanden. Intrekking van toekomstige updates wist de bewaarde permanente lokale runtime-toekenning niet. Zonder eerdere geldige toekenning of na verlies daarvan is eerste activatie/herstel een ander geval: daarvoor is hulp van de uitgever nodig.
De licentiecontrole wordt dagelijks gepland. De plugin controleert zowel je recht op een update als de herkomst en integriteit van het updatepakket. Wordt een pakket geweigerd, stop dan de update en neem contact op met de uitgever. Pas de beveiligingsinstellingen niet aan om de weigering te omzeilen.
Een verhuizing naar een andere klantwebsite vraagt gecontroleerde herbinding. Een verhuizing van de backend behoudt het blijvende API-adres en contract; de klant hoort daarvoor geen handmatige patch of nieuwe activatie nodig te hebben. Een staginguitnodiging is vooraf aan de exacte site gebonden. Verstuur nooit een private sleutel of volledige licentiecode in een bugrapport.
11. Bijwerken, back-up en herstel
Voorwaarden: passende Core/Pro-set, bekende werkende vorige set, back-up en akkoord voor de externe site.
- Controleer lopende taken en leg bestaande versies en instellingen vast.
- Maak en controleer de herstelbare database-/bestandsback-up. Een download van plugin-ZIP’s vervangt dit niet.
- Werk Core eerst bij, daarna de passende Pro-variant. Vervang; verwijder niet vooraf.
- Lees beide versies terug. Open dashboard, één gekoppeld product en een gerichte controle.
- Controleer dat instellingen en bronkoppelingen behouden zijn. Start geen volledige feed als rooktest.
Bij falen: beoordeel of terugzetten van de code volstaat. Herstel zo nodig de passende code en de gecontroleerde data-back-up. Houd nieuwe mutaties sinds de back-up bij. Een naar de leverancier verzonden order wordt niet ingetrokken door oude code terug te plaatsen. Een oude database terugzetten kan recente reserveringen verliezen; voorkom daardoor dubbele externe effecten.
Bij verlies van lokale licentierechten: stel bestaande product-/orderdata veilig en laat de uitgever de exacte activatie herstellen. Verwijder geen licentie- of bronregistraties als algemene foutoplossing. Test back-up/herstel eerst afgeschermd.
12. Fouten oplossen
| Melding | Wat controleer je? | Veilige actie / grens |
|---|---|---|
realtime_unavailable | Heeft deze bron een geaccepteerde actuele SKU-route? | Gebruik een ondersteunde bron; schakel de controle niet uit |
feed_cache_expired / snapshot_stale | Leeftijd en laatste complete bron; plannerstatus | Beoordeel de geplande vernieuwing; geen volledige download vanuit import afdwingen |
feed_content_stale | Zijn de benodigde beschrijvingen en afbeeldingen beschikbaar? | Herstel de contentbron via de juiste taak |
feed_cooldown | Is binnen de herstartgrens al begonnen? | Wacht op het passende interval; reserveer niet opnieuw door opties te wissen |
feed_capacity | Eigen cachelimiet, schijf, geheugen, hostquotum | Ruim veilig op of pas bewust aan; niet blind verhogen |
unauthorized / feed_auth | Juiste omgeving, account en opgeslagen credentials | Corrigeer in het geheime veld en test gericht; niets in support plakken |
rate_limit | Leverancierslimiet en aantal requests | Respecteer wachttijd; geen herhaalstorm |
timeout / remote | Bron bereikbaar, taakcontext en laatste complete snapshot | Verbindingsfout beoordelen; onzekere order nooit blind herhalen |
format / identity | Verwachte structuur, SKU, aantallen, numerieke typen | Leg geschoonde foutcode en SKU vast; accepteer geen eerste willekeurig resultaat |
content_images_missing | Afbeeldingsplicht, URL, lokale opslag, rechten | Controleer de bron; schakel plicht alleen bewust uit bij passende productkeuze |
mapping / busy | Bronkoppeling, duplicaten, actieve lock/taak | Wacht of laat de exacte registratie beoordelen; geen dubbele import forceren |
order_payment_unverified | Betaling, bedrag, valuta, methode, tijdstip | Onderzoek providerbewijs; handmatige status is geen vervanging |
order_unknown | Mogelijk al geaccepteerde supplierorder | Handmatig reconciliëren; nooit registratie verwijderen voor retry |
license_signature / ongeldige release | Vertrouwde uitgeversconfiguratie en ongewijzigd pakket | Stop de update; bestaande runtime behouden; neem contact op met uitgever |
| Afhankelijkheid ontbreekt | Core/Pro/WordPress/WooCommerce/PHP | Herstel de passende set; omzeil preflight niet |
Neem contact op wanneer een gedocumenteerde correcte configuratie herhaald faalt, wanneer bronidentiteit conflicteert of een externe orderuitkomst onzeker is. Geef versie, proces, taak-ID, tijdstip, foutcode en geschoonde reproductiestappen.
13. Privacy, support en begrippen
Menu: Systeemstatus & ondersteuning > Bug melden.
- Beschrijf doel, stappen, verwacht resultaat en werkelijk resultaat.
- Kies alleen noodzakelijke technische diagnostiek. Je kunt het rapport eerst bekijken.
- Verwijder zichtbare klantgegevens uit een schermafbeelding. De plugin anonimiseert afbeeldingen niet automatisch.
- Kies Verstuur bugrapport. Je ingevulde melding en eventuele bijlage gaan rechtstreeks naar support@the-goods.nl. Een bestand downloaden of zelf een e-mail opstellen is niet nodig.
- Bewaar de referentie. Bij onzekere verzending verstuur je dezelfde melding niet opnieuw; neem contact op met support en vermeld de referentie. Aanbieding aan het mailsysteem bewijst niet dat een medewerker de mail al heeft gelezen.
Algemene vragen: info@the-goods.nl. Technische ondersteuning: support@the-goods.nl.
Core bewaart configuratie, versleutelde credentials en lokale catalogus-/taakgegevens. Pro bewaart daarnaast bronkoppelingen en orderstatus. Een echte supplierorder kan naam, afleveradres, contactgegevens, product-ID’s en aantallen naar de ingestelde leverancier sturen. De winkelier blijft verantwoordelijk voor transparantie richting klanten en voor de gekozen leveranciersroute. Normale logs hebben een beperkte bewaartermijn; een licentiemigratie-export is geen supportbestand.
| Begrip | Betekenis |
|---|---|
| Externe ID / SKU | Exacte productidentiteit in de bron |
| EAN / GTIN | Aanvullende productidentiteit; geen vervanging voor gecontroleerde bronkoppeling |
| Bronkoppeling | De verbinding tussen leverancier + externe ID en jouw WooCommerce-product |
| Snapshot / cache | Lokaal bewaarde complete bronwaarneming van een tijdstip |
| Synctick | Planningsmoment om gekoppelde producten bij te werken |
| Worker / batch / checkpoint | Uitvoerend proces, begrensde stap en opgeslagen hervatpunt |
| Concept | WooCommerce-product dat nog niet gepubliceerd is |
| Inkoopprijs | Private leveranciersprijs; geen automatisch bepaalde verkoopprijs |
| Runtime-toekenning | Ondertekend lokaal recht voor blijvende operationele werking |
| Updateperiode | Twaalf kalendermaanden recht op passende nieuwe commerciële releases |
| Support | Afzonderlijk overeengekomen persoonlijke dienstverlening |
| Staging | Afgeschermde vooraf goedgekeurde testbinding zonder echte supplierorders |
| Reconciliëren | Externe en lokale werkelijkheid vergelijken vóór een herstelbesluit |
| Rollback | Gecontroleerd terugzetten met behoud/beoordeling van nieuwe mutaties |
Gebruik de handleiding die bij jouw geïnstalleerde versie hoort. Neem bij twijfel over een instelling contact op met de uitgever voordat je deze wijzigt.
New: product and price warnings
From Core 1.2.1 and Pro 2.3.0-rc.5, WooCommerce → Products includes a Supplier Hub column. The same panel appears in the linked product editor. Warnings become available after synchronization processes supplier data.
- Changed supplier product details: review SKU and EAN differences. Supplier Hub does not automatically link the item to another product.
- Supplier price change: compare the previous and new purchase cost with your selling price.
- Selling below purchase cost: amounts are compared excluding tax when currency and tax basis are known. If reliable comparison data is missing, the panel says so.
Your title, description, selling price and publication status remain unchanged. Deleted or trashed products are skipped and never restored; other products can continue processing. The timestamp shows the last supplier observation and does not guarantee fresh data when processing has stopped.
Supplier Hub — user guide
Core 1.1.0 and Pro Customer 2.2.0 · 20 October 2026
Supplier Hub connects your WooCommerce store to suppliers. Core helps you configure connections and inspect products. Pro Customer adds product import, synchronization and supported order processing. Start with the quick start, then read the chapter for your task. Screenshots illustrate fictitious products in a local test environment; some examples show the Dutch interface. You can select English or Dutch in your WordPress profile. This is one guide with a language choice.
Supported connectors
Supplier Hub provides configurable connectors for the formats below. The connection must match the supplier documentation. Compatibility with every supplier system is not guaranteed.
| Connector | Supported capabilities | Important limit |
|---|---|---|
| REST/JSON over HTTPS | Read products, prices and stock using GET; configurable JSON fields and offset/limit pagination or a complete list | Exact lookup needs a suitable ID route or an explicitly eligible complete saved catalogue |
| CSV/TSV over HTTPS | Header-based product feeds, column mappings and comma, semicolon, tab or pipe separators | A saved file alone does not provide a current product check for new imports |
| XML over HTTPS | Product feeds with a configurable product element and field paths; streaming processing | Requires XMLReader; this is not a SOAP connection |
| Pro REST/JSON order connector | JSON POST for orders; GET for status, carrier, tracking and optional document references | Configure and test separately; the plugin does not pay suppliers automatically |
| Local test data | Fictional products and error scenarios without supplier traffic | Demonstration and verification only |
REST/JSON authentication: no authentication, HTTP Basic, a fixed Bearer token, an API key in a configurable X-header, or an HTTPS login using JSON POST that returns a temporary Bearer token. CSV/XML supports the first four methods. The token login is not a full OAuth2 implementation.
Not built in by default: SOAP/WSDL, GraphQL, FTP/SFTP, EDI/EDIFACT, cXML, incoming supplier webhooks, WebSockets, full OAuth2 flows, mTLS client certificates and custom HMAC signing. These may require a separate connector extension. A previously issued JWT can be used as a Bearer token.
Catalogue browsing, new product import, existing product synchronization and order submission are separate capabilities. A successful catalogue test does not prove the order route works. Pro abilities for MCP are a control integration on your WordPress site through a separate MCP server; they do not add a supplier protocol.
Quick start: begin safely with local test data
Goal: learn to configure and browse without contacting a supplier. Local draft import also requires Pro. Use a test website you control and keep a recoverable backup.
- Back up the database and files and check that you can restore them.
- Activate WooCommerce, followed by Core 1.1.0. For import, install the matching Pro Customer edition afterwards. Customer and Owner are alternatives; never activate both together.
- Open Supplier Hub → Suppliers.
- Name the supplier
My local test. Choose Local test data, scenariobaseline, and save it as an inactive draft first. - Reopen the saved supplier and test the connection. The result should identify local test data. This is not a supplier API test.
- Activate this test supplier and open Live catalogue. Browse to the next page and search for the exact ID
DEMO-001. - For a local Pro demonstration, make images optional for this fictitious source; it supplies no real images. Keep the description check enabled. This exception is only for the demonstration source.
- Import one selected product as a draft. Open it in WooCommerce and check its identity, stock and description. It must have no invented selling price.
- Repeat the same selection in this test. It should update the same source mapping and product, without creating a duplicate.
Expected result: you recognize a saved connection, a catalogue record, an import task and a WooCommerce draft as separate things. No supplier request or real order is needed for this demonstration.
1. What Core and Pro do
Core is the free connection and catalogue layer. It saves supplier profiles, validates authentication and field mappings, displays catalogue pages and supports exact lookup where the source allows it. Core has no commercial licence, product quota, supplier quota or private updater. Controls for building a permanent SQL catalogue index have been retired. Historical tables are not an instruction to create another full index.
Pro adds WooCommerce draft import, local media storage, targeted stock and purchase-price synchronization, and configured paid-order processing. Pro Customer uses ordinary customer entitlements. The separate Owner edition has an owner grant bound to its authorized installation; it is not a customer licence.
| Source | Browse | New draft import | Existing synchronization |
|---|---|---|---|
| Local test data | Fictitious products | Demonstration only | Fictitious scenarios |
| REST/JSON with a valid exact-product endpoint | Depends on the profile | After current exact validation | Exact linked products |
| Content feed plus separate product API | Complete temporary catalogue | Usable content and successful product validation required | Targeted price/stock checks; no full-feed fallback |
| Full-list API with an eligible complete snapshot | Last complete catalogue | Exact identity check against a complete snapshot no older than 24 hours | Source freshness limits apply; no real-time reservation |
| Other API returning only a full product list | Shared complete snapshot | Blocked without an eligible validation route | From a sufficiently recent snapshot |
| Generic CSV/XML | Temporary cache within format limits | A file alone is not an eligible real-time SKU API | No general promise of synchronization for every feed |
Supplier order submission is a separate capability of a configured order connector. A successful product connection does not prove the order API works. This release does not add shipping-rate combinations for mixed supplier orders.
2. Requirements and installation
Required: PHP 8.1+, WordPress 6.8+, WooCommerce 10.1+ and compatible Core/Pro versions. The local test environment uses PHP 8.1.34, WordPress 7.1.3, WooCommerce 11.2.1 and MariaDB 11.4.5. This is not evidence of testing every intervening platform version. Sodium provides encryption and signed entitlements. ZIP processing uses ZipArchive, XML uses XMLReader and the tested image operations use GD.
Goal: install without deleting configuration or product data.
- Check the website address, versions, free space and recoverable backup.
- Open Plugins → Add Plugin → Upload Plugin. Upload Core and choose replacement if already installed.
- Activate Core. Read its version back under Plugins and open Supplier Hub.
- Upload Pro Customer and replace an existing Pro installation if applicable. Check its version too. Pro 2.2.0 requires Core 1.1.0 or later with Core API 1.
- Open System status & support and check dependencies. Missing or incompatible Core should prevent Pro from starting.
- Open the included guide and run the quick start in your test environment.
Expected result: Core 1.1.0 and Pro 2.2.0 are visible and existing suppliers/source mappings are retained. Recovery: replace the code with the previously retained compatible set. Never uninstall to upgrade or roll back. A plugin ZIP is not a database backup.
Use the publisher’s supplied Customer package and activation details. You do not need to edit source code to configure commercial activation or updates. If the required information is missing, contact support before starting a new customer installation.
3. First use
Start with local test data, then one real inactive supplier, then one approved draft product. Keep automatic orders off until you have separately tested the order route. Opening the supplier dashboard does not run a supplier API test.
You own store text, selling prices and publication. The supplier provides source identity, purchase price and stock observations. The publisher provides software versions and licence entitlements. A stock quantity is not a reservation at the supplier.
Before expanding, make sure you can save, reopen, test and find a supplier. Learn to recognize a failed task and distinguish an imported draft from a manually created product. Never place secrets in screenshots or free-text notes.
4. Saving, pausing and testing suppliers
Menu: Supplier Hub → Suppliers.
- Enter a recognizable name and choose the appropriate connector type.
- Copy the documented HTTPS endpoint, authentication, pagination and field paths from your supplier’s documentation. Do not guess a SKU or order endpoint.
- Enter credentials only in the designated secret fields. Leaving them blank when editing retains the saved value; the explicit clear option removes it.
- Save as inactive first and reopen the saved connection.
- Use the safe response preview to check field mappings, then run the connection test.
- Activate only after checking the correct source profile. Saving a profile or interval does not start an import or download.
The status records the test type and time. Changing endpoint or credentials invalidates earlier success for the new configuration; log history remains. If a test fails, return to inactive, correct the profile and test again.
Some connections have a separate product check alongside the catalogue connection. It requests one exact product. Saved credentials are not proof of a successful test. A detailed preview may expire after ten minutes while the dated test status remains; this does not mean the test failed again.
Pausing a catalogue connection or supplier can block new purchases of linked products, including products already in a cart. Existing orders are retained. Check the customer impact before pausing a working supplier.
5. Catalogue, search and source age
Goal: inspect the source without creating WooCommerce products.
- Open Live catalogue, choose a supplier and load a page.
- Use previous/next or the available pagination. Navigation is bounded by the connector profile.
- Use exact search with the full external ID/SKU where supported.
- Check identity, title, EAN/GTIN, currency, purchase price, stock, descriptions and media.
- Read source-age, cache and night-window information before judging freshness.
Category and text filters can search the temporary feed cache where available. An API filter that applies only to the current page is not a search through the entire supplier catalogue. A source can support browsing while lacking an eligible new-import route. A missing exact result must never select a merely similar product.
Some connections use separate content and operational sources. Both must meet the import requirements. For an eligible full-list connection, exact lookup and draft import use a complete saved catalogue within the permitted source age, never older than 24 hours. This is a snapshot, not a real-time stock reservation. Other connections may require a separate current SKU API check. Neither exact lookup nor import silently starts a full catalogue download when the required source is missing or too old.
A catalogue record is not yet a store product. An assistant’s import preview may use previously saved source data. The import still applies the connector’s exact-identity and freshness checks.
6. Draft import, identity and your own changes
Requirements: Pro, an eligible exact source, matching currency, usable required content and authority to change the selected website.
- Select at most 25 products for one task. Start with one product.
- Check the supplier and full external ID; compare the EAN too where supplied.
- Start draft import and record the task number.
- Open Imports & synchronization. Wait for a final status and inspect per-product errors.
- Open the linked WooCommerce product. Check draft status, selling price, tax, description, local images and source mapping.
- In your local acceptance test, repeat the same external ID. One mapping and one store product should remain.
The first import copies the initial description and configured media. It does not derive a selling price from the purchase price. Subsequent synchronization maintains supplier-owned fields. Your title, text, images, selling price and publication status remain yours. A manual product with a coincidentally matching supplier SKU must not be taken over.
Price and stock must be valid numbers. Zero stock means unavailable. Missing values and booleans are not reliable prices or exact quantities. Allowed precision and zero-price rules depend on the connector. Verify any zero purchase price at the source; never base a selling price on a missing or invalid purchase price.
If an import fails, inspect the error and existing source mapping before retrying. Do not create another manual product to bypass a mapping problem. An uncertain supplier order is different from a repeatable local import and must never be blindly resent.
7. Intervals and actual freshness
Menu: Suppliers → Change settings.
| Setting | Choices | Meaning |
|---|---|---|
| Update store products | 15/30/60 minutes, 6/24 hours | When linked products become due for synchronization |
| Refresh browsing catalogue | 1/3/5/7/30 days | Requested full-source refresh interval |
| Connector-specific refresh rule | Depends on the connector | Effective interval and reason appear on the supplier screen |
| Shared full API list at store interval | Separate explicit option | May run in daytime; one complete source shared by linked products |
A generic full-list API follows its saved catalogue interval. Some connections have a daily default. If you explicitly enable the shared store source, the store interval takes precedence where supported. The supplier screen shows the effective interval and reason. Updating the plugin does not enable this option automatically.
Normal full browsing feeds run between 01:00 and 06:00 in the WordPress site time zone, with no new full cycle more than once every 24 hours. The separate shared-list option is an intentional exception to both the night window and daily interval. Agree more frequent retrieval with your supplier; a complete hourly download can generate substantial traffic.
Save your interval, reopen the supplier and compare the saved choice with the effective interval. An hourly WooCommerce synchronization tick using a daily snapshot does not create an hourly supplier observation.
After a failed refresh, the last complete snapshot is retained. Retention does not establish freshness: an old source is refused for the relevant action. Do not increase limits or frequency to hide a failure.
8. Orders, sandbox and tracking
Goal: prepare an order route before sending real supplier orders. Menu: Supplier orders & sandbox.
- Identify the supplier owning each selected product and its configured order connector.
- Check create/status endpoints, environment, authentication, address fields, product IDs and response paths.
- Use dry run or sandbox only where actually supported. A payload preview does not prove external acceptance.
- Leave global and supplier-specific live controls off until you intend to send real paid orders.
- Plan the first real test with its address, amount and supplier confirmation. Verify payment, one accepted supplier order, invoice, tracking and receipt separately.
Production forwarding requires a genuine WooCommerce payment_complete event with matching live-payment evidence, amount, currency, reference and activation time. A test payment or manual status change does not qualify. The payment provider must have a supported verification adapter.
Each WooCommerce order/supplier combination gets one durable reservation. Duplicate callbacks must not send twice. A timeout or lost acknowledgement leaves the result uncertain. Check the supplier portal and local record first; never delete the reservation to force another submission.
A staging entitlement does not allow real supplier orders. Status polling is separate from new submission. Tracking appears in Supplier Hub and internal order notes where supported. This release does not promise automatic customer tracking emails, automatic WooCommerce order completion or new shipping-rate calculation for mixed orders.
Supplier Hub does not pay the supplier, top up a wallet, make bank transfers or initiate direct debit. Any required prepayment is made manually in the supplier portal.
9. Daily operation and background work
Open System status & support, then the relevant task and log. Distinguish last successful synchronization, source age, task state and error time.
| Status | Meaning and action |
|---|---|
| Not tested for this configuration yet | Deliberately run the appropriate test |
| Succeeded on … | Evidence for that test, configuration and time |
| Failed on … | Inspect the related error and process context |
| Waiting for night window | Automatic full refresh waits for 01:00–06:00 |
| Scheduled; worker activity not yet confirmed | A checkpoint exists; execution is not proven |
| Recent progress; continuation scheduled | A recent batch is recorded; PHP may not be running now |
| Progress unknown | Check the last batch, pending actions and host scheduler; do not run the entire queue |
Action Scheduler being available means the library exists. A recent completed action proves that action ran, not an unattended overnight cycle. If WP-Cron is disabled, the host needs independent scheduling. Change server scheduling only when you understand the cause and intended effect.
The temporary feed cache limit is 64–8192 MB, default 512 MB. Allow room for downloads, extraction and generation publication. A temporary catalogue may remain readable for up to 30 days; this does not make its trading data valid for 30 days. Old individual files are cleaned up within bounds. Hosting quotas can be stricter than WordPress can measure.
For a backlog, record the hook, task ID, scheduled time, start/end and error code. Choose one specific safe continuation. Do not run a generic queue or watchdog merely to clear a dashboard; it may contain real orders or emails.
10. Purchase, licence, renewal, support and migration
Buy Supplier Hub Pro through the product page linked from the Supplier Hub website. Check out digitally as a separate order. After confirmed settlement, you receive one site-bound licence and a PDF invoice by email. The purchase and renewal messages contain Dutch followed by English. No physical parcel is shipped.
Open My account → Downloads for Core, Pro Customer and the guide. The email button goes directly to that tab. The guide is one document with a language choice. Keep the original purchased files; the account download is protected and is not a public media link.
- Install Core, then Pro Customer.
- Open Supplier Hub → Licence & updates with administrator permissions.
- Check the website address and choose production or explicitly approved staging.
- Enter the issued customer key and activate. Check the update expiry date.
- Treat personal support separately; an update period does not automatically grant personal support.
A valid activation grants continued operational use after updates expire or the licensing server becomes unavailable. The update period is twelve calendar months. Revoking future updates does not erase a previously retained permanent local runtime grant. First activation, or recovery after losing that grant, requires the publisher’s assistance.
Near expiry the plugin shows renewal information. Renewal extends the same licence for twelve months from its existing future expiry, or from renewal time if already expired. It retains the website binding and does not issue a second licence. There is no automatic direct debit. After renewal, select Check now to refresh status and let WordPress check for updates again. Old reminders are cancelled and the new date starts a new reminder cycle.
The daily licence check verifies both your update entitlement and the origin/integrity of the package. If an update is rejected, stop and contact support. Do not change verification settings to bypass rejection.
Moving a licence to another customer website requires reviewed rebinding. A backend move should retain the existing API address and contract without customer code patches. A staging invitation is bound to the exact approved test site. Never send private keys or full licence keys in a bug report.
11. Updates, backup and recovery
Keep the compatible Core/Pro set, previous working set and a recoverable backup.
- Inspect running tasks and record versions/settings.
- Back up and verify database and files. Downloading plugin ZIPs is not a substitute.
- Update Core first, then the appropriate Pro edition. Replace; do not uninstall first.
- Read both versions back. Open the dashboard, one linked product and a targeted check.
- Confirm settings and source mappings were retained. Do not start a full feed download as a smoke test.
If something fails, assess whether restoring code is sufficient. Restore matching code and verified data if needed, while accounting for changes since backup. Replacing old code does not cancel a supplier order. Restoring an old database can lose recent submission reservations and create a duplication risk; reconcile before restarting work.
If local licence entitlements are lost, preserve existing products/order records and ask the publisher to restore the correct activation. Never delete licence or mapping records as general troubleshooting. Test recovery in an isolated environment first.
12. Troubleshooting
| Message | Check | Safe response |
|---|---|---|
realtime_unavailable | Eligible exact-product route | Use a supported source; never disable identity/freshness checks |
feed_cache_expired / snapshot_stale | Last complete source, age and scheduler | Review scheduled refresh; do not force a full download from import |
feed_content_stale | Required descriptions/images | Restore the content source through its appropriate task |
feed_cooldown | An earlier cycle already started | Wait; never delete safety options to reserve another cycle |
feed_capacity | Cache, disk, memory and hosting quota | Free space safely or adjust deliberately, not blindly |
unauthorized / feed_auth | Environment, account and saved credential | Correct the secret field and test narrowly; never paste secrets into support |
rate_limit | Supplier limits and request count | Respect the delay; avoid repeated requests |
timeout / remote | Reachability, task and last complete source | Investigate; never blindly resend an uncertain order |
format / identity | Structure, SKU, quantities and numeric types | Record a sanitized code and SKU; never accept the first arbitrary result |
content_images_missing | Required images, URL, storage and rights | Verify the source; make images optional only deliberately for suitable products |
mapping / busy | Source mapping, duplicates and active task/lock | Wait or inspect the exact record; never force another import |
order_payment_unverified | Payment amount, currency, method and time | Investigate provider evidence; a manual status is insufficient |
order_unknown | Order possibly accepted already | Reconcile with the supplier; never delete the record to retry |
license_signature / rejected release | Publisher configuration and unmodified package | Stop updating, retain runtime and contact the publisher |
13. Privacy, support and terms
Menu: System status & support → Report a bug.
- Describe your goal, steps, expected result and actual result.
- Include only necessary diagnostics. Preview first if you want to inspect the report.
- Remove customer information from screenshots yourself; the plugin does not anonymize images using OCR.
- Select Send bug report. The completed report and any attachment go directly to support@the-goods.nl. No separate download or manually composed email is required.
- Keep the reference. If submission is uncertain, do not resend the same report; contact support with that reference. A mail-system acknowledgement is not proof that a human has read it.
General questions: info@the-goods.nl. Technical support: support@the-goods.nl.
Core stores configuration, encrypted credentials and local catalogue/task data. Pro also stores source mappings and supplier order state. A real supplier order can send the required name, delivery address, contact details, product IDs and quantities to the configured supplier. The merchant remains responsible for customer transparency and the chosen supplier route. Normal logs are retained for 30 days. A licence migration export is not a support attachment.
| Term | Meaning |
|---|---|
| External ID / SKU | Exact product identity at the source |
| EAN / GTIN | Additional identity; not a replacement for a verified source mapping |
| Source mapping | Link between supplier + external ID and your WooCommerce product |
| Snapshot / cache | Complete source observation saved at a particular time |
| Sync tick | Scheduling point for checking linked products |
| Worker / batch / checkpoint | Running process, bounded step and saved continuation point |
| Draft | WooCommerce product not yet published |
| Purchase price | Private supplier price, not an automatically chosen selling price |
| Runtime grant | Signed local entitlement for continued operation |
| Update period | Twelve calendar months of eligible new commercial software updates |
| Support | Separately agreed personal service |
| Staging | Approved isolated test binding without real supplier orders |
| Reconciliation | Compare supplier and local records before choosing recovery |
| Rollback | Restore deliberately while accounting for subsequent changes |
Use the guide matching your installed release. If a setting is unclear, contact the publisher before changing it.
