Auf dieser Seite
Die kurze Antwort
BR-CL-21 schlägt fehl, wenn die schemeID an cac:StandardItemIdentification/cbc:ID kein Code auf der ICD-Liste nach ISO 6523 ist. Das aufgezeichnete Beispiel schreibt GTIN, den Namen des Schemas. Schreiben Sie stattdessen seinen vierstelligen Code: 0160 ist der ICD-Code für GTIN, die Global Trade Item Number.
ICD-Codes bestehen aus Ziffern mit führenden Nullen und müssen als Text gesendet werden, genau wie gelistet. 160 ist nicht 0160, und es schlägt fehl.
Was die Regel prüft
Die Regel gilt für jede cbc:ID in cac:StandardItemIdentification, die eine schemeID hat, und sucht den Wert in den ICD-Codes, die mit den festgelegten Artefakten gebündelt sind. Kennungen ohne das Attribut bleiben BR-64 überlassen.
Leerzeichen um den Wert werden vor dem Nachschlagen entfernt, daher bestand " 0160 " im Versuch. Alles andere muss Zeichen für Zeichen einem gelisteten Code entsprechen: 160, GTIN, der Code SRV aus UNTDID 7143 und ein leeres schemeID="" schlugen alle fehl.
Ob die Kennung zum Schema passt, wird nicht untersucht. Mit 0160 bestand im Versuch eine Nummer mit falscher Prüfziffer nach GS1 alle Prüfschritte.
Jeder gelistete Code besteht, auch Codes für Nummernsysteme von Standorten und Organisationen, die über ein Produkt nichts Nützliches aussagen. Wählen Sie den Code nach dem Schema, unter dem die Nummer vergeben wurde, nicht danach, was die Prüfung besteht.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-157 | Kennung eines Artikels nach registriertem Schema: Attribut für die Kennung des Schemas | cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID (under cac:CreditNoteLine in a credit note) |
| BT-157 | Kennung eines Artikels nach registriertem Schema | cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Produktdaten enthalten das Schema als Namen wie
GTIN,EANoderUPC, und das Mapping kopiert ihn inschemeID. - Der ICD-Code ist in einer numerischen Spalte gespeichert und verliert seine führende Null, sodass
0160als160geschrieben wird. - Ein Code aus UNTDID 7143, der für Klassifizierungen gedacht ist, etwa
SRV, den diese Liste als GS1 Global Trade Item Number definiert, wird hier geschrieben, wo die ICD-Liste gilt.
So korrigieren Sie das Dokument
- Stellen Sie fest, zu welchem Nummernsystem die Kennung gehört. Eine GTIN von GS1, einschließlich der Barcodenummern EAN-13 und UPC, verwendet
0160. - Ordnen Sie Schemanamen in einer einzigen Tabelle ICD-Codes zu, und schreiben Sie den Code als Text mit seinen führenden Nullen in
schemeIDancac:StandardItemIdentification/cbc:ID. - Stammt die Kennung aus keinem öffentlichen Schema, etwa Ihre eigene Artikelnummer, verschieben Sie sie nach
cac:SellersItemIdentification/cbc:IDund senden Sie sie dort ohne Schema. - Prüfen Sie die Prüfziffer der GTIN selbst, wenn sich der Käufer auf die Nummer verlässt; der Validator tut es nicht.
Vorher und nachher
Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.
Ausschnitt der fehlerhaften Rechnung: schemeID enthält den Schemanamen GTIN
<cac:StandardItemIdentification>
<cbc:ID schemeID="GTIN">5012345678900</cbc:ID>
</cac:StandardItemIdentification>Ausschnitt der korrigierten Rechnung: schemeID enthält 0160, den ICD-Code für GTIN
<cac:StandardItemIdentification>
<cbc:ID schemeID="0160">5012345678900</cbc:ID>
</cac:StandardItemIdentification>Nur der Wert von schemeID unterscheidet sich: GTIN in der fehlerhaften Rechnung, 0160 in der korrigierten. Das fehlerhafte Dokument meldet nur BR-CL-21. BR-64 besteht, weil es nur verlangt, dass das Attribut vorhanden ist, gleich was es enthält.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CL-21. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.Fehlerhaftes XML herunterladenKorrigiertes XML herunterladen
Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.
Wo die Regel gilt
- Gilt gleichermaßen für Positionen von UBL
InvoiceundCreditNote. Im Versuch meldete eine Gutschrift mitschemeID="GTIN"an der Standardkennung des Artikels allein diese Regel. - Die Regel beschränkt sich auf
cac:StandardItemIdentification. EineschemeIDancac:SellersItemIdentification/cbc:IDwird nicht gegen die ICD-Liste geprüft: Im Versuch mit dem WertGTINergab sie nur die WarnungUBL-CR-668, und das Dokument blieb gültig. - Parteikennungen verwenden dieselbe ICD-Liste unter einer eigenen Regel,
BR-CL-10.
Verwandte Regeln
- BR-64 verlangt das Attribut schemeID, dessen Wert diese Regel prüft
- BR-CL-13 ist die Codelisten-Prüfung für das Schema des Artikelklassifizierungscodes
- BR-CL-10 prüft die Schemata von Parteikennungen gegen dieselbe ICD-Liste
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): Understanding EN 16931 validation errors
Umfang und Quelle
Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-24.1: Quelle geprüft am 2026-09-24, Erklärung zuletzt aktualisiert am 2026-09-24.
Die offizielle Definition von BR-CL-21 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.
Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.

