GTIN-13 artikelnummering

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Xqbot (overleg | bijdragen) op 17 apr 2020 om 12:08. (Bot: Replace deprecated <source> tag)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
Codering EAN-13
de cijfers met code L
de cijfers met code G
de cijfers met code R

De Europese artikelnummering is een streepjescode (ook wel "barcode" en "zebracode") die wereldwijd wordt toegepast als artikelcodering in winkels ten behoeve van kassa-afhandeling en voorraadadministratie.

De EAN-code

De Europese artikelnummering, (in het jargon ook European Article Numbering, EAN) is een uitbreiding van de UPC-code. Hij bestaat sinds 1974 en lijkt de nieuwe wereldstandaard te worden. Vrijwel alle verpakte producten die in Nederland en België in de schappen liggen hebben een EAN-13-code, dus een reeks van dertien cijfers. De internationale standaardiseringsorganisatie GS1 heeft een coördinerende functie en geeft codes uit aan fabrikanten die een nieuw product op de markt brengen. De EAN-13 codering wordt tegenwoordig een GTIN-13 code genoemd.

Bij de uitbreiding van de UPC naar de EAN-code werd er één extra cijfer toegevoegd, vóór de 12 cijfers van de UPC-code. Om EAN compatibel te maken met UPC moest het eerste cijfer van de EAN-code impliciet gecodeerd worden, dat wil zeggen dat de EAN-streepjescode dezelfde opbouw houdt als de UPC-streepjescode. De oplossing werd gevonden in een andere codering van de L-cijfers. Van de EAN-code worden nu het tweede tot en met dertiende cijfer op deze nieuwe wijze omgezet in streepjes. Het eerste cijfer zit als het ware verborgen in de streepjes van het tweede tot en met zevende cijfer (de L-cijfers van een UPC-code), op de volgende manier:

Opbouw EAN-13
1e cijfer 2e - 7e cijfer 8e - 13e cijfer
0 LLLLLL RRRRRR
1 LLGLGG RRRRRR
2 LLGGLG RRRRRR
3 LLGGGL RRRRRR
4 LGLLGG RRRRRR
5 LGGLLG RRRRRR
6 LGGGLL RRRRRR
7 LGLGLG RRRRRR
8 LGLGGL RRRRRR
9 LGGLGL RRRRRR

Hierbij staat een L voor codering met gewone linker codes, zoals in UPC, en G voor codering met het 1-complement van de gewone linker codes in omgekeerde volgorde, de R-code is het 1-complement van de L-code:

Codering EAN-13
cijfer L-code G-code R-code
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 0111101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 0000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100

In de codering staat de 0 voor wit en de 1 voor zwart. De codes zijn zodanig gekozen dat elk teken bestaat uit twee zwarte balken op een witte ondergrond. De L- en G-cijfers kunnen met elkaar gecombineerd worden, doordat ze allemaal met wit beginnen en met zwart eindigen. EAN-leesapparatuur kan dus ook de UPC-codes lezen omdat een 12-cijferige UPC-code exact hetzelfde wordt weergegeven als een 13-cijferige EAN-code met als eerste cijfer het getal 0.

De afbeeldingen tonen de L-, G- en R-cijfers tegen een gekleurde achtergrond. De R-cijfers zijn het negatief van de L-cijfers en de G-cijfers zijn gespiegelde R-cijfers. De complete code begint met een witte zone, gevolgd door het scheidingsteken; dit bestaat uit 5 lijntjes ter dikte van 1 eenheid: wit-zwart-wit-zwart-wit (01010). Vaak worden de zwarte lijntjes van het scheidingsteken iets langer gemaakt dan die van de cijfers. Het scheidingsteken staat ook in het midden en aan het eind van de code.

Opbouw EAN-cijferreeks

Nemen we als voorbeeld een streepjescode met het nummer 87 10400 31114 0

  • 87 betekent dat GS1 Nederland (voorheen EAN Nederland) dit nummer heeft uitgegeven (de 'systeemcode'). EAN-organisaties in andere landen hebben een ander tweecijferig getal (België heeft nummer 54). Startgetal 87 zegt overigens niet dat dit artikel in Nederland is gemaakt.
  • Het vervolg van het nummer, 10400, is het nummer dat de aanvrager krijgt (het 'aansluitnummer'). De systeemcode en het aansluitnummer samen worden het 'bedrijfsnummer' genoemd. In dit geval verwijst bedrijfsnummer 87 10400 naar Albert Heijn. Een bedrijf kan meerdere aansluitnummers krijgen.
  • Daarna is 31114 de code voor een bepaald artikel; codes die veel op elkaar lijken kunnen toch heel verschillende producten aanduiden.
  • Het laatste, hier het cijfer 0, is het controlegetal; dat kan ook een ander getal zijn. Het dient als hulpcijfer voor de kassa in geval een van de streepjes is beschadigd.

Er bestaat een uitbreiding op het systeem waarbij uitzonderlijk slechts 8 tekens bestaan: twee voor de landcode en dan 6 cijfers die uniek zijn voor het product. Deze codes worden centraal door de landelijke organisaties toegekend aan één specifiek product, op vraag van de producent. Omdat op die manier slechts 1 miljoen producten kunnen worden geïdentificeerd, staat deze organisatie dit slechts toe in uitzonderlijke gevallen, als kan worden aangetoond dat er op de verpakking onvoldoende plaats voor een 13 tekens lange code voorhanden is.

Sinds 2007 is het Internationaal Standaard Boeknummer (ISBN) van een boek identiek aan het EAN van dat boek, voorheen waren het net iets andere getallen.

De opbouw zoals die hierboven is beschreven is niet voor alle systeemcodes/GS1-organisaties hetzelfde. Sommige GS1-organisaties geven langere of kortere bedrijfsnummers uit. Het artikelvolgnummerdeel varieert dienovereenkomstig. Daarom is het niet aan te raden om het GS1-artikelnummer of Global Trade Item Number GTIN op te splitsen, maar altijd de volledige 13-cijferige reeks te nemen ter unieke identificatie van een artikel.

Barcode zelf maken

VBA

Gebruik:

  • Te gebruiken lettertype bij deze code: Code EAN-13 van Eaglefonts
  • Met of zonder controlecijfer, dit wordt ALTIJD gegenereerd.
  • VBA:
EANtekst = EAN(MijnString)
EANtekst = EAN("12345")
EANtekst = EAN("1234567890123")
  • Excel (in cellen):
=EAN(MijnCel)
Function EAN(Invoer As String) As String
    
    Dim C(1 To 13), CS, i As Integer
    Const L = 65, G = 75, R = 97
    ' Opruimen
    Invoer = Right(String(12, "0") & Left(Invoer, 12), 12)
    ' Klaarzetten
    For i = 1 To 12
        C(i) = Val(Mid(Invoer, i, 1))
    Next
    'CheckSum maken
    CS = C(1) + C(3) + C(5) + C(7) + C(9) + C(11) + ((C(2) + C(4) + C(6) + C(8) + C(10) + C(12)) * 3)
    'Controlegetal genereren
    C(13) = (10 - (CS Mod 10)) Mod 10
    
    '1e cijfer
    EAN = Left(Invoer, 1)
    '2e t/m 7e cijfer
    EAN = EAN & Chr(C(2) + Choose(C(1) + 1, L, L, L, L, L, L, L, L, L, L))
    EAN = EAN & Chr(C(3) + Choose(C(1) + 1, L, L, L, L, G, G, G, G, G, G))
    EAN = EAN & Chr(C(4) + Choose(C(1) + 1, L, G, G, G, L, G, G, L, L, G))
    EAN = EAN & Chr(C(5) + Choose(C(1) + 1, L, L, G, G, L, L, G, G, G, L))
    EAN = EAN & Chr(C(6) + Choose(C(1) + 1, L, G, L, G, G, L, L, L, G, G))
    EAN = EAN & Chr(C(7) + Choose(C(1) + 1, L, G, G, L, G, G, L, G, L, L))
    'Middelste scheiding
    EAN = EAN & "*"
    'Rechtse cijfers
    EAN = EAN & Chr(C(8) + R) & Chr(C(9) + R) & Chr(C(10) + R) & Chr(C(11) + R) & Chr(C(12) + R) & Chr(C(13) + R)
    'Afsluiten
    EAN = EAN & "+"
    
End Function

Energiesector

Zie EAN-codeboek voor het hoofdartikel over dit onderwerp.

Elke Nederlandse aansluiting voor gas en elektriciteit heeft een eigen 18 cijferige EAN-code. De netbeheerders en leveranciers van energie gebruiken deze EAN-codes voor onderlinge communicatie. De netbeheerder geeft iedere aansluiting een EAN-code. De EAN-code van een aansluiting is terug te vinden in het EAN-codeboek.[1] Dit kan iedereen inzien via een gratis toegankelijke website.

Zie ook

Externe links