Europese artikelnummering

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.

Codering EAN-13
de cijfers met code L
de cijfers met code G
de cijfers met code R

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 cijfer2e - 7e cijfer8e - 13e cijfer
0LLLLLLRRRRRR
1LLGLGGRRRRRR
2LLGGLGRRRRRR
3LLGGGLRRRRRR
4LGLLGGRRRRRR
5LGGLLGRRRRRR
6LGGGLLRRRRRR
7LGLGLGRRRRRR
8LGLGGLRRRRRR
9LGGLGLRRRRRR

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
cijferL-codeG-codeR-code
0000110101001111110010
1001100101100111100110
2001001100110111101100
3011110101000011000010
4010001100111011011100
5011000101110011001110
6010111100001011010000
7011101100100011000100
8011011100010011001000
9000101100101111110100

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

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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.