Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CL-21: Einen ICD-Code nach ISO 6523 in der schemeID der Artikelkennung verwenden

Die schemeID an einer Standardkennung eines Artikels muss ein Code aus der ICD-Liste nach ISO 6523 sein. Für eine GTIN ist das 0160, nicht der Text GTIN.

EN 16931Fehler: Das Dokument ist ungültigCodelistenPositionen und Preise

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.

BegriffBedeutungUBL-Element
BT-157Kennung eines Artikels nach registriertem Schema: Attribut für die Kennung des Schemascac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID (under cac:CreditNoteLine in a credit note)
BT-157Kennung eines Artikels nach registriertem Schemacac: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, EAN oder UPC, und das Mapping kopiert ihn in schemeID.
  • Der ICD-Code ist in einer numerischen Spalte gespeichert und verliert seine führende Null, sodass 0160 als 160 geschrieben 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

  1. Stellen Sie fest, zu welchem Nummernsystem die Kennung gehört. Eine GTIN von GS1, einschließlich der Barcodenummern EAN-13 und UPC, verwendet 0160.
  2. Ordnen Sie Schemanamen in einer einzigen Tabelle ICD-Codes zu, und schreiben Sie den Code als Text mit seinen führenden Nullen in schemeID an cac:StandardItemIdentification/cbc:ID.
  3. Stammt die Kennung aus keinem öffentlichen Schema, etwa Ihre eigene Artikelnummer, verschieben Sie sie nach cac:SellersItemIdentification/cbc:ID und senden Sie sie dort ohne Schema.
  4. Prüfen Sie die Prüfziffer der GTIN selbst, wenn sich der Käufer auf die Nummer verlässt; der Validator tut es nicht.

Korrigierte Rechnung prüfen

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

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 Invoice und CreditNote. Im Versuch meldete eine Gutschrift mit schemeID="GTIN" an der Standardkennung des Artikels allein diese Regel.
  • Die Regel beschränkt sich auf cac:StandardItemIdentification. Eine schemeID an cac:SellersItemIdentification/cbc:ID wird nicht gegen die ICD-Liste geprüft: Im Versuch mit dem Wert GTIN ergab sie nur die Warnung UBL-CR-668, und das Dokument blieb gültig.
  • Parteikennungen verwenden dieselbe ICD-Liste unter einer eigenen Regel, BR-CL-10.

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.