Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-01: Die Spezifikationskennung in CustomizationID angeben

Das Wurzelelement des Dokuments benötigt ein nicht leeres cbc:CustomizationID. Für Peppol BIS Billing 3.0 ist es ein fester Wert, der nicht aus Quelldaten gelesen wird.

EN 16931Fehler: Das Dokument ist ungültigKernfelderProzess und Referenzen

Auf dieser Seite

Die kurze Antwort

BR-01 schlägt fehl, wenn das Wurzelelement Invoice oder CreditNote kein cbc:CustomizationID enthält oder nur eines ohne Inhalt. Fügen Sie das Element vor cbc:ProfileID ein und geben Sie ihm den Wert für Peppol BIS Billing 3.0: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0.

Diese Regel verlangt nur irgendeinen Text. Ob der Text die richtige Kennung ist, prüft eine eigene Regel, PEPPOL-EN16931-R004, und eine fehlende Kennung lässt beide fehlschlagen.

Was die Regel prüft

Die Regel betrachtet das cbc:CustomizationID, das ein direktes Kindelement des Wurzelelements ist, und schlägt fehl, wenn es fehlt oder nur Leerraum enthält. Jeder andere Text erfüllt sie: Ein Dokument mit dem bloßen urn:cen.eu:en16931:2017 besteht BR-01 und wird allein von PEPPOL-EN16931-R004 gemeldet.

Fehlend und leer verhalten sich etwas unterschiedlich. Das UBL-Schema behandelt cbc:CustomizationID als optional, daher besteht ein Dokument ohne dieses Element den XSD-Prüfschritt und meldet BR-01 und PEPPOL-EN16931-R004. Ein Element, das vorhanden, aber leer ist oder nur Leerraum enthält, meldet diese beiden und zusätzlich PEPPOL-EN16931-R008, die Peppol-Regel gegen leere Elemente.

Leerraum um einen korrekten Wert schadet hier nicht. Ein formatiert ausgegebenes Element, in dem die Kennung auf einer eigenen Zeile steht, besteht jeden Prüfschritt.

BegriffBedeutungUBL-Element
BT-24Spezifikationskennungcbc:CustomizationID

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Die Kennung ist eine Konfigurationskonstante, die für die Rechnungsvorlage gesetzt wurde, aber nie für die Gutschriftvorlage.
  • Der Serialisierer lässt Elemente weg, deren Quellwert null ist, und die Kennung wird pro Empfänger oder pro Profil aus einer Tabelle gelesen, die für diesen Fall keinen Eintrag hat.
  • Dieselbe Abfrage liefert eine leere Zeichenkette, sodass das Element ohne Inhalt geschrieben wird.
  • Der UBL-Export wurde für einen Empfänger außerhalb von Peppol gebaut und hat nie eine Spezifikationskennung enthalten.
  • Die Integration trägt die Kennung im Transportumschlag ein und geht davon aus, dass das Dokument selbst sie nicht braucht.

So korrigieren Sie das Dokument

  1. Geben Sie cbc:CustomizationID als direktes Kindelement des Wurzelelements Invoice oder CreditNote aus, vor cbc:ProfileID.
  2. Setzen Sie den Wert aus einer Konstante für die Spezifikation, die Sie erzeugen. Für Peppol BIS Billing 3.0 ist das urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0.
  3. Verwenden Sie dieselbe Konstante für Gutschriften; Element und Wert sind identisch.
  4. Belassen Sie cbc:ProfileID als Kennung des Geschäftsprozesses. Es sind zwei verschiedene Felder, und keines kann das andere ersetzen.

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.

Anfang der fehlerhaften Rechnung: Auf das Wurzelelement folgt direkt die Profilkennung

<!-- first children of the Invoice root; there is no cbc:CustomizationID -->
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<!-- rest of the document omitted -->

Anfang der korrigierten Rechnung: Die Spezifikationskennung steht an erster Stelle

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<!-- rest of the document omitted -->

Die korrigierte Rechnung enthält das Element cbc:CustomizationID, die fehlerhafte nicht; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem PEPPOL-EN16931-R004, das verlangt, dass die Kennung mit dem Wert für Peppol BIS Billing 3.0 beginnt, und das eine nicht vorhandene Kennung nicht erfüllen kann. Das Element mit diesem Wert zu ergänzen behebt beide Befunde.

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 UBL Invoice und CreditNote. Die aufgezeichnete Gutschrift ohne das Element meldet dieselben zwei Regeln.
  • Der hier angegebene Wert gilt für Peppol BIS Billing 3.0, den Gegenstand dieser Referenz. Andere Spezifikationen auf Grundlage von EN 16931 haben eigene Kennungen und eigene Regeln dafür.
  • Die Kennung gibt an, welcher Spezifikation das Dokument nach eigener Angabe folgt. Sie sagt nichts darüber aus, ob der Empfänger für die Annahme dieses Dokumenttyps registriert ist.

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-20.

Die offizielle Definition von BR-01 (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.