Auf dieser Seite
Die kurze Antwort
PEPPOL-EN16931-R001 schlägt fehl, wenn die Wurzel Invoice oder CreditNote kein Kindelement cbc:ProfileID hat. Fügen Sie das Element direkt nach cbc:CustomizationID ein und geben Sie ihm die Kennung des Peppol-Billing-Prozesses, urn:fdc:peppol.eu:2017:poacc:billing:01:1.0.
Dasselbe Dokument meldet außerdem PEPPOL-EN16931-R007. Diese Regel prüft den Wert der Kennung, und ein fehlendes Element hat keinen zugelassenen Wert. Das Element mit dem richtigen Wert hinzuzufügen behebt beide.
Was die Regel prüft
Die Regel ist eine Anwesenheitsprüfung für ein Element: cbc:ProfileID als direktes Kindelement der Dokumentwurzel. Sie liest den Wert nicht.
Weil nur die Anwesenheit geprüft wird, meldet eine leere cbc:ProfileID diese Regel nicht. Sie meldet stattdessen PEPPOL-EN16931-R007 für den Wert und PEPPOL-EN16931-R008 für das leere Element.
Ein vorhandenes Element mit einer Kennung, die das Peppol-Artefakt nicht kennt, meldet nur PEPPOL-EN16931-R007. Diese Prüfung ignoriert Leerraum vor oder nach einer bekannten Kennung.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-23 | Geschäftsprozesstyp | cbc:ProfileID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Zuordnung wurde gegen reines EN 16931 gebaut, wo der Geschäftsprozesstyp optional ist, und das Element wurde für Peppol nie ergänzt.
- Die Prozesskennung ist als Einstellung je Kunde oder je Route hinterlegt und für diesen Empfänger leer, daher überspringt der Serialisierer das Element.
- Die Kennung wurde versehentlich in
cbc:CustomizationIDgeschrieben, oder die beiden Kennungen wurden im Quellsystem zu einem Feld zusammengelegt. - Eine Vorlage für Gutschriften wurde ohne die Kopfkennungen aus der Rechnungsvorlage kopiert.
So korrigieren Sie das Dokument
- Geben Sie
cbc:ProfileIDals zweites Kindelement der Wurzel aus, unmittelbar nachcbc:CustomizationID. Das UBL-Schema legt diese Reihenfolge fest. - Setzen Sie den Wert auf
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0. Behandeln Sie ihn als Konstante des Billing-Profils, nicht als Daten, die je Kunde variieren. - Verfahren Sie bei
CreditNote-Dokumenten ebenso; Name und Position des Elements sind identisch.
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: Der Kopf geht von der Spezifikationskennung direkt zur Rechnungsnummer
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<!-- rest of the document omitted from this fragment -->Ausschnitt der korrigierten Rechnung: Die Geschäftsprozesskennung folgt auf die Spezifikationskennung
<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 from this fragment -->Der einzige Unterschied ist die Zeile cbc:ProfileID. Das fehlerhafte Dokument meldet zwei Befunde, beide im Peppol-Prüfschritt: PEPPOL-EN16931-R001, weil das Element fehlt, und PEPPOL-EN16931-R007, weil diese Regel den Prozess aus der Kennung ableitet und ihn, da nichts zu lesen ist, als unbekannt behandelt. Der Prüfschritt EN 16931 besteht, da der Kernstandard das Element nicht verlangt.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet PEPPOL-EN16931-R001 und PEPPOL-EN16931-R007. 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 UBL
InvoiceundCreditNote. Eine Gutschrift ohnecbc:ProfileIDmeldet dieselben zwei Regeln. - Dies ist eine Peppol-Anforderung zusätzlich zu EN 16931. Ein Dokument kann den Prüfschritt EN 16931 bestehen und hier trotzdem fehlschlagen.
- Die Regel betrachtet
cbc:CustomizationIDnicht. Diese Kennung wird gesondert geprüft und muss ebenfalls vorhanden sein.
Verwandte Regeln
- PEPPOL-EN16931-R004 prüft die Spezifikationskennung, die neben dem Geschäftsprozess steht
- BR-01 verlangt, dass die Spezifikationskennung überhaupt vorhanden ist
- PEPPOL-EN16931-R008 ist das, was ein leeres Geschäftsprozesselement meldet
- PEPPOL-EN16931-R003 ist eine weitere reine Peppol-Anforderung an den Kopf: eine Käufer- oder Bestellreferenz
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): How Peppol invoice validation actually works
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 PEPPOL-EN16931-R001 (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.

