GTIN, Seriennummer & Prüfziffer: die Formatregeln
Hinter jedem Batteriepass-QR-Code steckt eine Kennung, die exakten Regeln folgt: feste Zeichenlängen, ein definierter Zeichensatz und eine Prüfziffer, die Tippfehler auffliegen lässt. Dieser Leitfaden erklärt die Regeln, rechnet die Prüfziffer Schritt für Schritt vor und zeigt an einem Beispiel, woran eine ungültige Seriennummer scheitert.
- Zwei Nummern, zwei Regelwerke. Die GTIN identifiziert das Modell und besteht aus 8, 12, 13 oder 14 Ziffern. Die Seriennummer identifiziert die einzelne Batterie und darf 1 bis 20 Zeichen lang sein.
- Die letzte GTIN-Stelle rechnet man nicht mit, man rechnet sie aus. Die Prüfziffer nach Modulo 10 macht vertippte oder vertauschte Ziffern sofort sichtbar - und sie ist der häufigste Grund, warum ein Import abgelehnt wird.
- Der Zeichensatz ist enger als erwartet. CSET 82 kennt weder Leerzeichen noch Umlaute. „BPW 2027#Ü01" ist keine gültige Seriennummer, „BPW-2027-UE01" schon.
- Batteriepasswerk prüft beides beim Speichern - in der Datenbank, nicht nur im Formular. Damit gelten dieselben Regeln für die Eingabemaske, den CSV-Import und die API.
Warum das Format eine Rechtsfrage ist
Formatregeln klingen nach Kleinkram für die IT. Bei der Batteriekennung sind sie es nicht: Der Identifier ist der einzige Anker, über den ein Pass Jahre später noch gefunden wird.
Artikel 77 Absatz 3 der Verordnung (EU) 2023/1542 verlangt, dass QR-Code und individuelle Kennung der Normenreihe ISO/IEC 15459 entsprechen. Diese Normenreihe schreibt keine bestimmte Nummer vor - sie verlangt, dass die Kennung von einer akkreditierten Vergabestelle stammt und weltweit eindeutig ist. GS1 ist eine solche Vergabestelle. Eine serialisierte GTIN - also die Kombination aus Modellnummer und Seriennummer der Einzelbatterie - erfüllt die Anforderung deshalb, solange drei Bedingungen gelten:
Eine der vier zulässigen Längen, ausschließlich Ziffern und eine korrekte Prüfziffer an letzter Stelle.
Höchstens 20 Zeichen, ausschließlich aus dem GS1-Zeichensatz CSET 82 - sonst lässt sich der Wert nicht als AI 21 übertragen.
Die Kombination aus GTIN und Seriennummer darf es weltweit genau einmal geben - sonst führt derselbe Scan zu zwei Batterien.
Der Unterschied zwischen „scanbar" und „konform"
Ein QR-Code mit einer beliebigen URL lässt sich scannen und zeigt eine Seite an - das genügt aber nicht. Verlangt ist eine Kennung nach einem anerkannten Nummernsystem, die auch ein Recycler-System oder eine Marktaufsicht maschinell auflösen kann, ohne die Konvention des jeweiligen Herstellers zu kennen. Genau hier trennt sich der Bastel-QR vom konformen Identifier.
Wie die Kennung im QR-Code steckt
Der GS1 Digital Link verpackt beide Nummern in eine gewöhnliche URL. Die kurzen Zahlen zwischen den Schrägstrichen sind Anwendungsbezeichner (engl. Application Identifier, kurz AI): Sie sagen dem lesenden System, was der Wert dahinter bedeutet.
| Bestandteil | Bedeutung | Formatregel |
|---|---|---|
| AI 01 | GTIN - identifiziert das Modell (die Handelseinheit) | Im Digital Link immer 14 Ziffern - GTIN-8/12/13 mit führenden Nullen aufgefüllt |
| AI 21 | Seriennummer - identifiziert die einzelne Batterie | 1-20 Zeichen aus CSET 82, Groß-/Kleinschreibung zählt |
| AI 01 + AI 21 | Serialisierte GTIN - die Kennung nach ISO/IEC 15459 | Kombination weltweit eindeutig |
Wie der QR-Code selbst gestaltet sein muss - Kontrast, Größe, Dauerhaftigkeit - steht im Leitfaden QR-Code auf Batterien ab 2027.
Vier zulässige GTIN-Längen - und keine fünfte
GS1 vergibt Nummern in genau vier Längen. Welche davon ein Unternehmen nutzt, hängt vom Produkt und vom Absatzmarkt ab - nicht von der internen Systematik.
| Format | Länge | Typischer Einsatz | Hinweis |
|---|---|---|---|
| GTIN-8 | 8 Ziffern | Sehr kleine Artikel, für die kein längerer Code aufs Etikett passt | Selten im Batterieumfeld |
| GTIN-12 | 12 Ziffern | Nordamerikanisches UPC-Format | Relevant beim Export in die USA und nach Kanada |
| GTIN-13 | 13 Ziffern | Das in Europa übliche EAN-Format - der Normalfall | Beginnt in Deutschland meist mit 400-440 |
| GTIN-14 | 14 Ziffern | Umverpackungen und Handelseinheiten, führende Indikatorziffer | Pflicht-Schreibweise im Digital Link (GS1 DL 1.4.0+) |
Im Digital Link steht die GTIN immer 14-stellig
Alle vier Formate werden für den Digital Link auf 14 Stellen aufgefüllt: Aus der GTIN-13 4006381333931 wird 04006381333931. Die Prüfziffer ändert sich dabei nicht, weil die Gewichtung von rechts beginnt und eine führende Null nichts zur Summe beiträgt. Seit Version 1.4.0 der GS1-Digital-Link-URI-Syntax (aktuell 1.6.0, März 2025) ist das keine Empfehlung mehr, sondern Vorgabe: Neue Implementierungen müssen die GTIN 14-stellig schreiben, nur bestehende Resolver sollen die kürzeren Altformen weiter annehmen. In Tabellen überlebt die führende Null nur, wenn die Spalte als Text formatiert ist.
Die letzte Ziffer rechnet mit
Die Prüfziffer ist keine laufende Nummer, sondern das Ergebnis einer Rechnung über alle vorherigen Stellen. Sie kostet eine Stelle und fängt dafür die zwei häufigsten Erfassungsfehler ab: die vertippte und die vertauschte Ziffer.
- Gewichtete Summe
- 89
- Nächste Zehnerzahl
- 90
- Erwartete Prüfziffer
- 90 − 89 = 1
- Angegeben
- 1
Gültige GTIN - wird gespeichert
- Gewichtete Summe
- 89
- Nächste Zehnerzahl
- 90
- Erwartete Prüfziffer
- 90 − 89 = 1
- Angegeben
- 2
Prüfziffer stimmt nicht - Speichern wird abgelehnt
Das Verfahren ist für alle vier GTIN-Längen identisch und heißt Modulo 10 mit Gewichtung 3/1. Es erkennt jeden einzelnen falsch erfassten Ziffernwert - eine 7 statt einer 1 verändert die gewichtete Summe zwingend. Bei vertauschten Nachbarziffern greift es fast immer; die einzige Lücke sind Paare, deren Werte sich um genau 5 unterscheiden (etwa 16 statt 61). Wer das ausschließen will, braucht einen zweiten Abgleich gegen den eigenen Artikelstamm.
Prüfziffern werden berechnet, nicht hochgezählt
Der klassische Fehler beim Anlegen neuer Modelle: Man nimmt die GTIN des Vorgängermodells und zählt sie um eins hoch. Der Basisteil stimmt dann, die Prüfziffer aber nur zufällig in einem von zehn Fällen. Neue GTINs kommen aus dem eigenen GS1-Nummernkreis, die Prüfziffer rechnet das System.
CSET 82: 82 Zeichen, mehr nicht
Anders als die GTIN darf die Seriennummer Buchstaben enthalten - aber nicht beliebige. Der GS1-Zeichensatz CSET 82 umfasst exakt 82 Zeichen, und alles außerhalb davon lässt sich nicht als AI-21-Wert übertragen.
| Gruppe | Zeichen | Anzahl |
|---|---|---|
| Großbuchstaben | A-Z | 26 |
| Kleinbuchstaben | a-z | 26 |
| Ziffern | 0-9 | 10 |
| Sonderzeichen | ! " % & ' ( ) * + , - . / : ; < = > ? _ | 20 |
| Nicht enthalten | Leerzeichen, # $ @ [ \ ] ^ ` { | } ~, Umlaute, Akzente, alle Nicht-ASCII-Zeichen | - |
Zwei Details werden regelmäßig übersehen. Erstens ist die Groß- und Kleinschreibung bedeutungstragend: BPW-0001a und BPW-0001A sind zwei verschiedene Seriennummern. Wer sie im Lager gleich behandelt, produziert Verwechslungen, die formal keine sind. Zweitens sind einige erlaubte Zeichen - /, ?, &, %, + - gleichzeitig Steuerzeichen in URLs. Sie sind als Seriennummer zulässig, müssen im Digital Link aber maskiert werden, sonst zerlegt der Browser die Adresse an der falschen Stelle. Solange die Software das übernimmt, ist das kein Problem - beim handgeschriebenen Link ist es eines.
Gültig und ungültig nebeneinander
Beide Seriennummern unten stammen aus derselben internen Systematik und wirken gleich brauchbar. Nur die linke lässt sich als GS1-Kennung kodieren - die rechte scheitert an drei einzelnen Zeichen.
- Länge14 von 20 Zeichen
- Zeichensatz GS1 CSET 82alle Zeichen zulässig
- Eindeutig je Firmafrei
- Länge12 von 20 Zeichen
- Zeichensatz GS1 CSET 823 unzulässige Zeichen
- Eindeutig je Firmafrei
- Leerzeichen. CSET 82 enthält kein Leerzeichen - in einer Pfadkomponente wäre es ohnehin nur maskiert (%20) transportierbar.
- Das Zeichen # ist nicht Teil von CSET 82. In einer URL leitet es zusätzlich den Fragment-Teil ein, der Scan bräche die Kennung ab.
- Umlaute und alle anderen Zeichen außerhalb von ASCII sind nicht zulässig - CSET 82 kennt nur A-Z, a-z, 0-9 und 20 Sonderzeichen.
So geht es richtig: Aus BPW 2027#Ü01 wird BPW-2027-UE01 - gleiche Aussage, kodierbarer Zeichensatz.
Sechs Fehler, die in echten Importen auftauchen
| Fehler | Was passiert | Was hilft |
|---|---|---|
| Führende Null verschwindet | Tabellenkalkulationen deuten die GTIN als Zahl. Aus 04006381333931 wird 4006381333931 - oder schlimmer: 4,00638E+12. | Spalte vor dem Import als Text formatieren, GTIN nie als Zahlenwert speichern. |
| Umlaute in der Seriennummer | Ü, ä, é oder ß gehören nicht zu CSET 82 und lassen sich nicht als AI-21-Wert kodieren. | Auf A-Z, a-z, 0-9 und die 20 erlaubten Sonderzeichen umstellen (Ü → UE). |
| Leerzeichen als Trenner | „BPW 2027 0001" wirkt sauber, ist aber kein gültiger AI-21-Wert - CSET 82 kennt kein Leerzeichen. | Bindestrich oder Punkt verwenden, beide sind Teil des Zeichensatzes. |
| Interne Nummer zu lang | ERP-Seriennummern haben oft 24 oder 32 Stellen. Ab Zeichen 21 ist die Kennung nicht mehr AI-21-konform. | Verkürzte Ableitung definieren und deren Eindeutigkeit prüfen - nicht blind abschneiden. |
| Prüfziffer selbst gewürfelt | Wer eine GTIN von Hand weiterzählt, erhält irgendwann eine Nummer, deren letzte Stelle nicht mehr passt. | Prüfziffer immer berechnen lassen, nie fortschreiben. |
| GTIN doppelt vergeben | Zwei Modelle mit derselben GTIN machen die Auflösung mehrdeutig - der Scan weiß nicht, welchen Pass er zeigen soll. | Je GTIN genau ein Modell. Varianten brauchen eigene GTINs. |
Wo die Regeln bei uns durchgesetzt werden
Formatregeln, die nur im Eingabeformular geprüft werden, gelten für den CSV-Import und die API nicht mehr. Deshalb liegt die Prüfung bei uns eine Ebene tiefer - in der Datenbank, hinter allen Schreibwegen.
Ohne GTIN gibt es einen Ersatz-Link - aber keinen GS1-Identifier
Modelle ohne GTIN bekommen bei uns eine Ersatz-Adresse, die auf die interne Pass-Kennung zeigt. Der QR-Code ist damit scanbar und der Pass öffentlich erreichbar - für Artikel 77 Absatz 3 reicht das aber nicht, weil die Kennung dann aus keinem akkreditierten Nummernsystem stammt. Wer den Pass konform ausliefern will, braucht eine GS1-Nummer am Modell. Die QR-Seite weist beim Erzeugen darauf hin, damit die Lücke nicht bis in die Produktion durchrutscht.
Wie aus einem Modell tausende serialisierte Pässe werden, zeigt die Anleitung Batteriepass erstellen. Welche Datenfelder sonst noch Pflicht sind, steht in Welche Daten kommen in den Batteriepass.
Häufige Fragen zu GTIN und Seriennummer
Wie viele Stellen hat eine GTIN?
Wie berechnet man die GS1-Prüfziffer?
Welche Zeichen sind in einer GS1-Seriennummer erlaubt?
Warum darf eine Seriennummer höchstens 20 Zeichen haben?
Was passiert, wenn GTIN oder Seriennummer nicht formatkonform sind?
Quellen & Weiterlesen
GTIN und Seriennummer werden beim Speichern geprüft - nicht erst beim Scan
Batteriepasswerk validiert Länge, Zeichensatz und Prüfziffer in der Datenbank und erzeugt daraus je Einheit einen GS1-Digital-Link-QR - konform zu EU 2023/1542 und DIN DKE SPEC 99100, gehostet in der EU.