Naar hoofdinhoud

Meeteenheden in productdata: basiseenheid, verkoopeenheid, eenheidsprijs

Meeteenheden in productdata: basis-, verkoop- en besteleenheid, verpakkingsinhoud, de eenheidsprijs, Google unit_pricing en UN/CEFACT-codes.

Meeteenheden in productdata: basiseenheid, verkoopeenheid, eenheidsprijs

Een meeteenheid (unit of measure, UoM) is de eenheid waarin een hoeveelheid wordt uitgedrukt: een stuk, een kilogram, een liter, een meter. In productdata beantwoordt hij bij elk getal dezelfde vraag: 330 wat? Prijs, voorraad, netto-inhoud, bestelaantal en verpakkingsgrootte hebben allemaal een eenheid nodig, en dat hoeft niet steeds dezelfde te zijn.

De meeste catalogi hebben vier begrippen nodig: de basiseenheid (het kleinste dat je telt, één blikje), de verkoopeenheid (wat de klant in de winkelwagen legt, een sixpack), de besteleenheid (wat jij bij de leverancier inkoopt, een tray van 24) en de netto-inhoud met eenheid (330 ml per blikje). Klopt dat, dan volgen eenheidsprijzen, feeds en B2B-bestelregels vanzelf. In dit artikel zie je de velden, de Europese en Google-regels voor eenheidsprijzen, de standaardcodes en een rekenvoorbeeld om leverancierswaarden als 500gr, 0,5 kg en 500 g op te schonen.

Basiseenheid, verkoopeenheid en besteleenheid op één blikje bruiswater

Neem bruiswater in blikjes van 330 ml. De leverancier levert trays van 24 blikjes en pallets van 84 trays. Je webshop verkoopt losse blikjes aan kantoren en sixpacks aan consumenten. Eén product, vijf niveaus:

Eenheidsniveaus voor één product: bruiswater 330 ml

Basiseenheid1 blikje1H87 (stuk)Voorraad tellen, eenheidsprijs
Netto-inhoud330 ml per blikjen.v.t.MLT (milliliter)Etiket, eenheidsprijs, feeds
Verkoopeenheid (consument)Sixpack6XPK (verpakking)Webshopprijs en winkelwagen
BesteleenheidTray van 2424XPK (verpakking)Inkoop, B2B-bestelregels
Logistieke eenheidPallet van 84 trays2.016Verpakkingscode volgens afspraak met vervoerderMagazijn en transport
Elk niveau bevat een eigen aantal basiseenheden, en elke prijs of voorraad moet zeggen over welk niveau het gaat.

Het gaat mis zodra een prijs of voorraad zijn niveau kwijtraakt. Een inkoopprijs van € 7,20 geldt per tray van 24, dus € 0,30 per blikje. Importeer je die in een veld dat de webshop leest als prijs per sixpack, dan verkoop je met verlies. Een voorraad van 10 kan 10 blikjes of 10 trays (240 blikjes) zijn, en een voorraad in de verkeerde eenheid zet ook je backorder-limieten en de beschikbaarheid in feeds scheef. De oplossing is saai maar werkt: sla bij elke hoeveelheid het niveau op.

Verpakkingsgrootte, netto-inhoud en omrekenfactoren als velden

Een minimaal eenhedenmodel past in een handvol attributen. Gebruik in de hele catalogus dezelfde codes en zet getal en eenheid in aparte velden, zodat systemen met het getal kunnen rekenen.

  • net_content_value en net_content_unit: 330 en ml. De hoeveelheid product in één basiseenheid, zoals op het etiket.
  • sales_unit en units_per_sales_unit: verpakking en 6. Wat één orderregel met aantal 1 bevat.
  • order_unit en units_per_order_unit: verpakking en 24. Wat één inkoopregel met aantal 1 bevat; daar horen ook de minimale bestelhoeveelheid en bestelveelvouden bij.
  • price_quantity: standaard 1; 100 als de leverancier per 100 stuks prijst, gebruikelijk bij schroeven en bevestigingsmateriaal.
  • net_weight en gross_weight met eenheid: voor verzendregels en douane, niet voor de eenheidsprijs.
  • unit_pricing_measure en unit_pricing_base_measure: alleen waar een eenheidsprijs verplicht is (zie hieronder).

B2B-catalogusformaten werken hetzelfde. BMEcat beschrijft een artikel bijvoorbeeld met een ORDER_UNIT, een CONTENT_UNIT, het aantal inhoudseenheden per besteleenheid (NO_CU_PER_OU) en een PRICE_QUANTITY, zodat een doos van 100 schroeven met een prijs per doos ondubbelzinnig is voor het systeem van de inkoper.

De eenheidsprijs volgens de Europese prijsaanduidingsrichtlijn

In de EU moeten producten die je aan consumenten aanbiedt naast de verkoopprijs een eenheidsprijs tonen. Richtlijn 98/6/EG definieert die als de eindprijs inclusief btw en andere belastingen voor één kilogram, één liter, één meter, één vierkante meter of één kubieke meter, of een andere eenheid die in de lidstaat voor dat product gebruikelijk is. Bij los verkochte producten volstaat de eenheidsprijs, en een advertentie met een verkoopprijs moet ook de eenheidsprijs noemen.

In Nederland is dit uitgewerkt in het Besluit prijsaanduiding producten. Volgens Ondernemersplein vermeld je bij verpakte producten ook de prijs per meeteenheid, bijvoorbeeld per kilo, liter of meter, en hoeft dat niet bij verschillende producten in één verpakking; de volledige uitzonderingen staan in de bijlagen van het besluit. Verkoop je ook in België of Duitsland, check dan de regels per land. Het rekenwerk is eenvoudig, en de unit price calculator doet het per product:

  • Koffiebonen, 500 g voor € 7,49: 7,49 / 0,5 = € 14,98 per kg.
  • Olijfolie, 750 ml voor € 8,95: 8,95 / 0,75 = € 11,93 per liter.
  • Bruiswater, 6 x 330 ml voor € 5,40: 6 x 0,33 = 1,98 l, dus 5,40 / 1,98 = € 2,73 per liter.

Geen van deze bedragen kun je uitrekenen als de netto-inhoud ontbreekt, als tekst in de producttitel staat of een eenheid gebruikt die de webshop niet herkent. Een eenheidsprijs is eerst een productdataprobleem.

unit_pricing_measure en unit_pricing_base_measure in Google Merchant Center

Google Shopping toont eenheidsprijzen op basis van twee attributen. unit_pricing_measure is de hoeveelheid zoals verkocht, bijvoorbeeld 750ml; verplicht voor producten die je adverteert in de EU, de EVA-landen, het VK, Australië en Nieuw-Zeeland als lokale regels een eenheidsprijs eisen, en elders optioneel. unit_pricing_base_measure is de noemer, bijvoorbeeld 1l of 100ml.

  • Ondersteunde eenheden: gewicht oz, lb, mg, g, kg; volume floz, pt, qt, gal, ml, cl, l, cbm; lengte in, ft, yd, cm, m; oppervlakte sqft, sqm; per stuk ct (sheet en item alleen in Australië en Nieuw-Zeeland).
  • Waarden voor de basismaat: de hele getallen 1, 10, 100, 2, 4 en 8 met een eenheid, plus de metrische combinaties 75cl, 750ml, 50kg en 1000kg.
  • Decimalen: maximaal twee cijfers achter de komma; Google rondt de rest af.
  • Conflict: heeft een product ook energy_efficiency_class, dan toont Google het energielabel en niet de eenheidsprijs.

Voor de drie voorbeelden hierboven wordt dat 500g met basis 1kg, 750ml met basis 1l en 1980ml met basis 1l voor de sixpack. Let op: de feed gebruikt kleine letters zoals ml en sqm, niet de UN/CEFACT-codes die je ERP misschien exporteert, en een punt als decimaalteken. Meer over feedattributen lees je in de gids over Google Merchant Center.

Standaardcodes voor eenheden: UN/CEFACT Recommendation 20 en ETIM

Systemen die orders en facturen uitwisselen, schrijven geen kg of stuks maar codes. De gangbare lijst is UN/ECE Recommendation 20, aangevuld met verpakkingscodes uit Recommendation 21 met de prefix X. De Peppol-codelijst voor Recommendation 20, die voor Europese e-facturatie wordt gebruikt, is een handige plek om ze op te zoeken.

Eén eenheid, drie schrijfwijzen: etiket, UN/CEFACT en Google

KilogramKGMkgkg
GramGRMgg
LiterLTRll
MilliliterMLTmlml
CentiliterCLTclcl
MeterMTRmm
CentimeterCMTcmcm
Vierkante meterMTKsqmm²
Kubieke meterMTQcbmm³
StukH87 of C62 (one)ctst.
VerpakkingXPKn.v.t.pak
11 van 11 rijen
Sla de code op als waarde en leid het etiket en het feedsymbool daarvan af, in plaats van de schrijfwijze van de leverancier over te nemen.

H87 (piece) en C62 (one, ook gebruikt als unit) tellen allebei losse stuks; handelspartners spreken meestal één van de twee af. De technische groothandel voegt nog een laag toe: in ETIM hebben numerieke kenmerken zoals lengte of vermogen een vaste eenheid, dus een kabellengte reken je om naar de eenheid die het ETIM-kenmerk verwacht voordat je hem uitwisselt.

Rommelige leverancierseenheden normaliseren: een rekenvoorbeeld

Leveranciersbestanden zijn het zelden eens over eenheden. De een stuurt 500gr, de ander 0,5 kg, een derde zet 500 g alleen in de titel. Zo worden tien ruwe waarden uit drie leveranciersbestanden een waarde, een eenheidscode en een waarde in de basiseenheid van het attribuut.

Tien leverancierswaarden, genormaliseerd

500gr500GRM0,5 kggr is een alias voor g
0,5 kg0,5KGM0,5 kgDecimale komma, geen duizendtalscheiding
500 g500GRM0,5 kgAl schoon
1/2 kilo0,5KGM0,5 kgBreuk en alias
1.000 g1000GRM1 kgPunt als duizendtalscheiding (Nederlandse en Duitse bestanden)
1,5L1,5LTR1,5 lHoofdletter L, decimale komma
75cl75CLT0,75 lHoud cl aan als het etiket cl zegt
750 ML750MLT0,75 lAlleen hoofdletters
6 x 330 ml330MLT0,33 l per blikjeMultipack: units_per_sales_unit = 6
25 stuks25H8725 stuksAantal, hoort bij verpakkingsgrootte
10 van 10 rijen
Waarde en eenheid komen in aparte velden, de decimale komma wordt opgelost vóór het omrekenen, en elke regel eindigt in de basiseenheid van het attribuut.

De regels achter de tabel gelden voor elk attribuut:

  1. Bewaar de ruwe waarde in een eigen kolom, zodat je elke omrekening later kunt controleren.
  2. Bepaal het getalformaat per bron. 1.000 van een Duitse leverancier is duizend; 1.000 van een Amerikaanse leverancier is één. Beslis per bestand, nooit per waarde.
  3. Splits het getal van de eenheid en koppel aliassen (gr, gram, grams, G) aan één code.
  4. Kies één basiseenheid per attribuut (kg voor gewicht, l voor volume, mm of cm voor afmetingen) en reken om met een vaste factor.
  5. Splits multipacks in inhoud per stuk en stuks per verpakking, zodat eenheidsprijs en verpakkingsgrootte allebei kloppen.
  6. Sla het resultaat op in numerieke velden en maak weergavetekst als 500 g daaruit, niet andersom.
Een eenheid omzetten voor een selectie past de omrekenfactor toe op de waarden, met een voorbeeld vooraf, in plaats van alleen het label te wijzigen.

Het is dezelfde aanpak als bij attribuutstandaardisatie in het algemeen: spreek eerst de toegestane waarden af, herstel dan de data in bulk en houd nieuwe afwijkingen aan de poort tegen.

Opgeslagen eenheden vs getoonde eenheden per markt

Normaliseren betekent niet dat elke markt dezelfde tekst ziet. Sla één waarde op in één basiseenheid en maak er bij de output per taal en kanaal de juiste notatie van. Een zak van 0,5 kg staat als 0.5 kg op een Engelstalige pagina, als 0,5 kg op een Nederlandse of Duitse pagina en als 500g in een Google-feed.

  • Getalnotatie: het decimaalteken en de duizendtalscheiding volgen de taal van de pagina, nooit het leveranciersbestand.
  • Eenheidslabel: stuk is st. in het Nederlands, Stk. in het Duits en pc in het Engels; de opgeslagen code (H87) blijft gelijk.
  • Metrisch en imperiaal: verkoop je in de VS, reken 500 g dan bij de weergave om naar 17,6 oz, maar bewaar gram als opgeslagen waarde zodat de Europese eenheidsprijs exact blijft. De Britse feed moet metrische waarden gebruiken.
  • Afronden: rond alleen de getoonde waarde af. Wie de opgeslagen waarde bij elke omrekening afrondt, schuift weg: 17,6 oz terugrekenen geeft 498,95 g.

Die scheiding houdt ook vertalen eenvoudig. Een vertaler komt nooit aan 500 g; het sjabloon dat het label maakt wel.

Zeven eenheidsfouten die eenheidsprijzen en feeds breken

  1. De eenheid zit in de waarde. 500g in een tekstveld kun je niet sorteren, filteren of delen. Splits het.
  2. Decimale komma gelezen als duizendtalscheiding. 0,5 kg wordt 5 kg, en de eenheidsprijs zakt met een factor tien.
  3. Prijs van een multipack vergeleken met een losse stuksprijs. De sixpack en het losse blikje tonen eenheidsprijzen op basis van verschillende hoeveelheden.
  4. Brutogewicht gebruikt als netto-inhoud. De verpakking telt mee, dus de eenheidsprijs is te laag.
  5. Uitlekgewicht vergeten. Bij producten op vloeistof, zoals olijven op pekel, staat de richtlijn de eenheidsprijs op het netto uitlekgewicht toe als dat gewicht verplicht vermeld wordt.
  6. Fluid ounces verward met ounces. floz is volume en oz is gewicht; Google ziet ze als verschillende eenheden.
  7. Alleen het label omzetten. cm veranderen in mm zonder de waarde met 10 te vermenigvuldigen, maakt van een plank van 30 cm er een van 30 mm.

Eenheidssets, omrekeningen en controles in WISEPIM

WISEPIM behandelt eenheden als data, niet als tekst. Met de workspace-functie Classification aan groeperen UOM code sets (eenheidssets) verwante eenheden (gewicht, lengte, volume en meer) met een code, een symbool, gelokaliseerde namen en een omrekenfactor naar de basiseenheid van de set, plus instellingen voor weergave en export. De actie Change Unit of Measure in bulkbewerkingen en in automatiseringen rekent waarden om voor een selectie, of wijzigt alleen het label als waarden verkeerd gelabeld waren.

Een eenheidsset heeft één basiseenheid met factor 1; elke andere eenheid geeft aan hoeveel basiseenheden ze is.

Daaromheen helpen bestaande functies bij rommelige eenheden. De pagina attribute values (attribuutwaarden, voor tekst- en keuzeattributen) groepeert waarden die alleen verschillen in hoofdletters, spaties of leestekens, zoals 500gr, 500 GR en 500 gr, of 1,5 ml en 1.5 ml, en laat je elke groep in één stap samenvoegen tot één waarde, met ongedaan maken (zie attribuutwaarde-normalisatie). Gr en g ziet de pagina niet als dezelfde eenheid, en gram rekent ze niet om naar kilogram: 500 g en 0,5 kg blijven aparte waarden tot je ze omrekent. Maakt de CSV-import attributen aan uit leverancierskolommen, dan kan hij de eenheidskolom van een leverancier achter de waarde zetten, in een apart _uom-attribuut bewaren of weglaten. AI-verrijking kan de netto-inhoud uit omschrijvingen halen en in attributen zetten. Regels in kwaliteitsbewaking (Quality Guard) waarschuwen of blokkeren als een eenheidsveld leeg is of niet aan een patroon voldoet. De BMEcat-export in Feed Hub vult ORDER_UNIT, CONTENT_UNIT, NO_CU_PER_OU en PRICE_QUANTITY uit attributen zoals order_unit en pack_size, en zet waarden als stuks of pcs om naar UN/CEFACT-codes. WISEPIM rekent geen eenheidsprijzen uit, en de Google Shopping-feedtemplate en de Merchant Center-koppeling sturen geen unit_pricing_measure of unit_pricing_base_measure mee. Wel houdt WISEPIM netto-inhoud, verpakkingsgrootte en eenheid consistent, zodat je webshop of de tool die die feedvelden opbouwt schone invoer krijgt.

Diego Nijboer

CTO and Co-Founder at WISEPIM, building AI-powered solutions that transform product data management for e-commerce businesses. Over 10 years of experience solving complex technical challenges in e-commerce and PIM systems.

Veelgestelde vragen

Nog vragen?

Kan je het antwoord niet vinden? Neem contact op met ons team.

Contact opnemen

UoM staat voor unit of measure, in het Nederlands meeteenheid: de eenheid waarin een hoeveelheid wordt uitgedrukt, zoals stuk, kilogram, liter of meter. In productdata en ERP-systemen vertelt hij waar een prijs, voorraad of bestelaantal op slaat. Een product heeft er meestal meerdere, zoals een basiseenheid van één blikje en een verkoopeenheid van een sixpack.

De basiseenheid is de kleinste eenheid waarmee je telt en prijst, zoals één blikje of één schroef. De verkoopeenheid is wat een klant in één orderregel koopt, zoals een sixpack of een doos van 100. De omrekening daartussen, stuks per verkoopeenheid, laat een systeem voorraad, eenheidsprijzen en bestelaantallen correct berekenen.

Volgens richtlijn 98/6/EG tonen producten die je aan consumenten aanbiedt naast de verkoopprijs een eenheidsprijs per kilogram, liter, meter, vierkante meter of kubieke meter, of een andere gebruikelijke eenheid. In Nederland geldt dat volgens het Besluit prijsaanduiding producten voor verpakte producten, met uitzonderingen in de bijlagen. Verkoop je in meer landen, check dan per land de regels.

Google accepteert mg, g, kg, oz en lb voor gewicht; ml, cl, l, cbm, floz, pt, qt en gal voor volume; cm, m, in, ft en yd voor lengte; sqm en sqft voor oppervlakte; en ct voor aantallen. De basismaat is 1, 2, 4, 8, 10 of 100 van een eenheid, of 75cl, 750ml, 50kg of 1000kg.

De code voor kilogram in UN/ECE Recommendation 20 is KGM. Andere veelgebruikte codes zijn GRM voor gram, LTR voor liter, MLT voor milliliter, MTR voor meter, MTK voor vierkante meter, MTQ voor kubieke meter en H87 voor stuk. Verpakkingscodes uit Recommendation 21 krijgen de prefix X, zoals XPK voor verpakking en XBX voor doos.

Verder ontdekken

Zorgvuldig gekozen vervolgstappen om dieper te gaan.

Betere productdata, betere resultaten.Verkoop meer producten.

4,7