Die GS1 Application Identifier (3922) und (3932) kennzeichnen einen zu zahlenden Betrag für einen mengenvariablen Handelsartikel. Bei (3922) enthält das Datenfeld nur den Betrag; die Währung muss aus dem festgelegten Währungsraum oder dem Anwendungskontext hervorgehen. Bei (3932) stehen dagegen zuerst ein dreistelliger ISO-Währungscode und danach der Betrag im Barcode.
Die letzte Ziffer der Kennung legt bei beiden Varianten die Zahl der Dezimalstellen fest. Die Endziffer 2 bedeutet somit: Die letzten zwei Ziffern des codierten Betrags sind Nachkommastellen. Ein Scanner muss den Dateninhalt nach den GS1-Regeln auswerten; die bloße Ziffernfolge unter einem Barcode ist ohne Kenntnis der Feldstruktur nicht eindeutig.
Der Unterschied zwischen (3922) und (3932)
Beide Kennungen gehören zur selben Preislogik, unterscheiden sich aber darin, ob die Währung im Datenfeld mitgeführt wird:
- (3922) steht für einen Zahlbetrag mit zwei Dezimalstellen in einem vorgegebenen, einheitlichen Währungsraum. Das Datenfeld enthält keinen eigenen Währungscode.
- (3932) steht ebenfalls für einen Zahlbetrag mit zwei Dezimalstellen, enthält vor dem Betrag aber zusätzlich den dreistelligen numerischen Währungscode nach ISO 4217.
Die Wahl hängt somit nicht von der Höhe des Preises ab. Entscheidend ist, ob das empfangende System die Währung bereits eindeutig kennt. Ist sie durch Markt, Prozess oder Systemvereinbarung festgelegt, kann (3922) ausreichen. Muss die Währung zusammen mit dem Betrag übertragen werden, ist (3932) die passende Kennung.
So wird der Betrag aus den Ziffern gelesen
Bei den Kennungen (392n) und (393n) ist das n kein Teil des Preises. Es bezeichnet die Position des gedachten Dezimalzeichens. Die Werte 0 bis 5 stehen für null bis fünf Nachkommastellen.
Ein Datenfeld mit (3922) und der Ziffernfolge 1234 wird als Betrag 12,34 gelesen. Welche Währung gemeint ist, lässt sich aus diesem Feld allein nicht bestimmen.
Bei (3932) folgen unmittelbar nach der Kennung zunächst drei Ziffern für die Währung. Die beispielhafte Folge 9781234 zerfällt in den ISO-4217-Code 978 für Euro und den Betrag 12,34. Der Währungscode wird nicht durch die Dezimalregel verändert; diese gilt nur für die nachfolgenden Preisziffern.
- Application Identifier bestimmen: (3922) oder (3932).
- Bei (3932) die ersten drei Datenziffern als ISO-Währungscode abtrennen.
- Die verbleibende Betragsfolge lesen.
- Wegen der Endziffer 2 vor den letzten beiden Ziffern das Dezimalzeichen setzen.
Warum (3922) keine Währung erkennen lässt
Der Preis hinter (3922) ist nur dann vollständig interpretierbar, wenn die Währung außerhalb dieses Datenfeldes eindeutig festgelegt ist. Das kann etwa durch den vereinbarten Markt, die Systemkonfiguration oder den Geschäftsvorgang geschehen. Aus (3922) darf daher nicht automatisch auf Euro geschlossen werden.
Für grenzüberschreitende Datenflüsse oder Systeme, die mehrere Währungen verarbeiten, ist (3932) eindeutiger. Der numerische ISO-Code reist mit dem Betrag und erlaubt dem empfangenden System, beispielsweise Euro von einer anderen Währung zu unterscheiden.
Die Kennungen gelten für mengenvariable Handelsartikel
Die beiden Application Identifier sind für den Zahlbetrag eines mengenvariablen Handelsartikels vorgesehen. Gemeint sind Artikel, deren tatsächliche Menge und daraus resultierender Preis erst bei der Kennzeichnung feststehen können, etwa Ware mit variablem Gewicht.
Das unterscheidet (3922) und (3932) von einer Kennung für einen Preis pro Maßeinheit. Die hier behandelten Felder übermitteln den zu zahlenden Betrag für das gekennzeichnete variable Exemplar. Sie beschreiben nicht, wie viel ein Kilogramm, Liter oder eine andere Einheit kostet.
Klammern und Feldende richtig einordnen
Die runden Klammern dienen in der Klarschriftdarstellung dazu, den Application Identifier sichtbar vom Dateninhalt zu trennen. Sie werden nicht als normale Datenzeichen in den Barcode geschrieben. Ein gedruckter Text wie (3932)9781234 macht die Feldaufteilung für Menschen erkennbar, während der maschinenlesbare Datenträger die GS1-Feldstruktur verwendet.
Die Preisfelder besitzen eine variable Länge. Folgt danach ein weiteres Datenfeld, muss das Ende nach den Regeln des verwendeten GS1-Datenträgers eindeutig gekennzeichnet sein, typischerweise durch ein Trennzeichen. Fehlt diese Trennung, kann ein Scanner nachfolgende Ziffern irrtümlich noch dem Preis zurechnen. Befindet sich das variable Feld am Ende der codierten Daten, ist kein nachfolgendes Feld mehr abzugrenzen.
Prüfreihenfolge bei einem ausgelesenen Barcode
Eine zuverlässige Auswertung beginnt mit der vollständigen Zeichenfolge und nicht mit einer vermuteten Preiszahl. Diese Reihenfolge verhindert, dass Währungscode, Betrag und nachfolgende Felder miteinander verwechselt werden:
- Steht (3922) in der Klarschriftzeile, enthält das zugehörige Feld einen Betrag mit zwei Dezimalstellen, aber keinen Währungscode.
- Steht (3932) dort, müssen die ersten drei Datenziffern als Währungscode und nur die folgenden Ziffern als Betrag gelesen werden.
- Weicht die letzte Ziffer der Kennung von 2 ab, ändert sich die Zahl der Dezimalstellen. (3920) oder (3930) bezeichnet beispielsweise einen Betrag ohne gedachte Nachkommastellen.
- Wirkt der Betrag unerwartet lang, ist zu prüfen, ob bei einem anschließenden Feld das erforderliche Trennzeichen fehlt oder die Software den GS1-Datenträger nur als unstrukturierte Zeichenfolge ausgibt.
- Zeigt ein System bei (3932) keine Währung an, sollte geprüft werden, ob es den dreistelligen ISO-4217-Code verarbeitet und nicht fälschlich als Teil des Betrags behandelt.
Für die technische Kontrolle sind die GS1-Spezifikationen zu den Application Identifiers sowie die ISO-4217-Zuordnung der numerischen Währungscodes maßgeblich. Ein gewöhnlicher Barcode-Scanner kann zwar die Zeichen lesen, muss aber für eine korrekte Anzeige zusätzlich die GS1-Feldlogik unterstützen.