Productdata
Kleuren en maten als varianten: wat je ERP als losse artikelen kent, toont je webshop als één product
Je ERP kent een werkbroek in vier kleuren en zes maten als 24 artikelen. Wij bouwen de koppeling die ze in je webshop samenvoegt tot één product waarop de klant kleur en maat kiest, met voorraad en prijs per variant, en die geen variant kwijtraakt als er in het ERP één artikel vervalt.
24 artikelen of één product
In het ERP is een werkbroek in 4 kleuren en 6 maten 24 artikelen: 10482-BLK-048 tot en met 10482-GRY-058. Voor het magazijn klopt dat, want elk artikel heeft een eigen voorraad en een eigen barcode. In de webshop moet het één product zijn met een keuze voor kleur en maat. Zet je de 24 artikelen een op een door, dan vindt de klant 24 zoekresultaten en kan hij op de productpagina geen maat kiezen.
Het voorbeeld van productdata koppelen heeft 4.000 modellen en 14.400 artikelen. Met 20 modellen zet iemand de varianten met de hand goed. Met 4.000 modellen, een nieuwe collectie per seizoen en kleuren die vervallen, moet de koppeling zelf weten welke artikelen bij elkaar horen.
Hoe werkt het?
Het model herkennen
Exact Online heeft geen veld voor een hoofdartikel of een variant. Er zijn twee manieren om het model toch te vinden:
| Bron | Voorbeeld | Risico |
|---|---|---|
| Vrije velden | FreeTextField_01 10482, _02 BLK, _03 048 |
een leeg veld: het artikel hoort bij geen model |
| Patroon in de artikelcode | 10482-BLK-048 gesplitst op het streepje |
een model met een streepje in de code, zoals KB-200-BLK-048 |
Vrije velden zijn de betrouwbare route. Het patroon werkt alleen als elke artikelcode precies drie delen heeft. De koppeling controleert dat bij elke run: een code die niet in het patroon past, komt op de controlelijst en wordt geen los product.
Daarna komen twee vertalingen. De kleurcode BLK wordt Zwart, de maatcode 048 wordt 48. De volgorde van de maten komt uit de vertaaltabel en niet uit het alfabet, anders staat L voor M en S.
De hele set in één keer
Shopify bouwt een product met varianten met productSet. De mutatie vervangt de volledige set opties en varianten: een variant die niet in de invoer staat, wordt verwijderd. Voor een koppeling is dat het belangrijkste gedrag op deze pagina.
Een artikel dat in Exact Online een EndDate in het verleden krijgt, is daar inactief. Leest de koppeling alleen actieve artikelen, dan stuurt hij 23 varianten en verwijdert Shopify de 24e. Komt het artikel later terug, dan is het voor Shopify een nieuwe variant met een nieuw id. De koppeling stuurt daarom altijd de volledige set van het model. Een vervallen artikel blijft een variant met voorraad 0 en inventoryPolicy DENY, en verwijderen gebeurt pas na goedkeuring in een dry run.
productSet zoekt het product op via een identifier: het Shopify-id, de handle of een customId in een unieke metafield. De koppeling gebruikt het modelnummer 10482 als customId. Een tweede run met hetzelfde model werkt dan hetzelfde product bij in plaats van een tweede product aan te maken.
{
"identifier": { "customId": { "namespace": "erp", "key": "model", "value": "10482" } },
"input": {
"title": "Werkbroek Stretch",
"productOptions": [
{ "name": "Kleur", "values": [{ "name": "Zwart" }, { "name": "Grijs" }] },
{ "name": "Maat", "values": [{ "name": "48" }, { "name": "56" }] }
],
"variants": [
{ "sku": "10482-BLK-048", "optionValues": [
{ "optionName": "Kleur", "name": "Zwart" }, { "optionName": "Maat", "name": "48" }] }
]
}
}
Het voorbeeld is ingekort tot één variant. In de echte aanroep staan alle 24.
Meer assen dan het platform toelaat
Shopify staat 3 opties en 2.048 varianten per product toe. Een werkbroek met kleur, maat en lengte is 4 maal 6 maal 3 is 72 varianten: dat past. Een werkschoen past niet altijd. Model 20731 bestaat in 3 kleuren, 15 maten, 3 breedtes en 2 beschermingsklassen: 4 assen en 270 combinaties.
| Oplossing | Uitkomst |
|---|---|
| Per beschermingsklasse een product | 2 producten van 3 maal 15 maal 3 is 135 varianten |
| Maat en breedte in één optie | 3 kleuren maal 45 waarden ("42 smal") maal 2 klassen is 270 varianten |
De eerste is voor de klant het duidelijkst: de beschermingsklasse is een eigenschap waarop hij zoekt. De koppeling legt per model vast welke as een eigen product wordt.
Doorvoer
De eerste vulling van 4.000 modellen met 14.400 varianten:
| Platform | Aanpak | Verzoeken |
|---|---|---|
| Shopify | 1 productSet per model |
4.000 |
| WooCommerce | producten in batches van 100, varianten per hoofdproduct | 40 plus 4.000 |
Bij WooCommerce gaat de batch voor varianten per hoofdproduct: /products/<id>/variations/batch, maximaal 100 objecten. Een model met 24 varianten is 1 verzoek. Daarna gaan alleen modellen mee waarvan een artikel is gewijzigd. Hoe je zo'n som voor je eigen catalogus maakt staat in een grote catalogus inladen.
Wat er stil misgaat
| Wat er gebeurt | Voorbeeld | Gevolg |
|---|---|---|
| Inactief artikel weggelaten | 23 van 24 artikelen naar productSet |
Shopify verwijdert de 24e variant |
| Leeg modelveld | FreeTextField_01 leeg bij 1 artikel |
een los product naast het model |
| Code buiten het patroon | KB-200-BLK-048 |
vier delen in plaats van drie: verkeerde kleur en maat |
| Onvertaalde code | OLV zonder regel in de tabel |
de klant ziet OLV als kleur |
| Maten op alfabet | L, M, S, XL | de maatkeuze staat in de verkeerde volgorde |
| Vierde as | 270 combinaties over 4 assen | Shopify weigert het product |
Wat je ermee regelt
- Model herkennen. Uit vrije velden of een vast codepatroon, met een controle per run.
- Varianten per platform. Opties en varianten in Shopify, configurable products in Magento, variations in WooCommerce.
- Vertaling en volgorde. Interne kleur- en maatcodes naar namen, maten in de juiste volgorde.
- Volledige set. Elk model in zijn geheel geschreven, zodat geen variant verdwijnt.
- Assen boven de grens. Per model vastgelegd welke as een eigen product wordt.
Een set die uit losse artikelen bestaat, is iets anders dan een variant: zie bundels en samengestelde artikelen.
Met welke systemen
| Systeem | Opbouw | Grens of bijzonderheid |
|---|---|---|
| Exact Online | losse artikelen | geen veld voor model of variant; EndDate maakt een artikel inactief |
| Akeneo | productmodel met variantproducten | tot 20 assen, 10 per niveau; de Shopify-koppeling van Akeneo accepteert geen tekst- of getalvelden als as |
| Shopify | product met opties en varianten | 3 opties, 2.048 varianten; productSet vervangt de hele set |
| Magento | configurable product met een simple product per variant | de as moet een Dropdown of swatch zijn met globale scope |
| WooCommerce | variable product met variations | attribuut met variation op true; batch van 100 per hoofdproduct |
De gegevens zijn op 3 oktober 2026 nagelezen in de documentatie van Shopify over productSet, Exact Online, Akeneo, Adobe Commerce en WooCommerce. Per systeem: Akeneo, Shopify, Magento, WooCommerce.
Wat een standaardkoppeling hier niet doet
Standaardkoppelingen zetten een artikel uit het ERP over als een product in de webshop. Een ERP dat geen variantmodel heeft, levert dan 24 producten op. Waar een ERP-leverancier zelf een koppeling met Shopify levert, is de documentatie van een van hen duidelijk: de variantcode is de enige optie, een variant voor een Shopify-product met twee of meer opties kan de koppeling niet aanmaken, en een optiematrix bestaat in dat ERP niet.
In een koppeling die voor jouw artikelen is gebouwd, komt het model uit de velden waar het bij jou staat, en blijft elke variant bestaan tot jij hem weghaalt. Voor kleding en schoenen: fashion. Stuur de artikellijst van één model met al zijn kleuren en maten mee, dan hoor je hoe het in jouw webshop één product wordt.
Veelgestelde vragen
Hoe zijn kleur en maat bij ons gemodelleerd: als varianten of als losse artikelen?
Dat is de eerste vraag bij elke koppeling. Kent je ERP een model met varianten, dan volgt de koppeling dat. Kent het alleen losse artikelen, zoals Exact Online, dan moet ergens per artikel staan bij welk model het hoort en welke kleur en maat het heeft: in vrije velden of in een vast patroon van de artikelcode.
Houdt elke variant zijn eigen voorraad en prijs?
Ja. Een variant is in elk platform een eigen regel met een eigen SKU. Voorraad en prijs gaan per artikel uit het ERP naar de variant met dezelfde code. Een maat 56 die op is, staat op nul terwijl de maten 48 tot 54 bestelbaar blijven.
Wat gebeurt er als er een kleur bijkomt?
Dan komen er 6 artikelen bij in het ERP en 6 varianten in de webshop: 4 kleuren worden er 5 en 24 varianten worden er 30. Is de nieuwe kleurcode nog niet vertaald, bijvoorbeeld OLV zonder regel naar Olijf, dan gaat het product op de controlelijst en verschijnt OLV niet als kleur op de productpagina.
Kunnen varianten verschillende foto's hebben?
Ja, per kleur. In productSet heeft elke variant een eigen veld file voor zijn afbeelding. De koppeling geeft alle varianten met dezelfde kleurcode dezelfde foto, zodat de klant bij het kiezen van Grijs de grijze broek ziet. Zie ook productdata 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