Auf dieser Seite
Die kurze Antwort
BR-CL-20 schlägt fehl, wenn cbc:AllowanceChargeReasonCode bei einem Zuschlag (cbc:ChargeIndicator mit true) kein Code aus UNTDID 7161 ist, der Liste der Zuschläge und Leistungen. Setzen Sie an seine Stelle den Code für die berechnete Leistung, zum Beispiel FC (Freight service), wo das aufgezeichnete Beispiel FREIGHT schrieb, oder lassen Sie den Code weg und beschreiben Sie den Zuschlag in cbc:AllowanceChargeReason.
PEPPOL-EN16931-CL003 prüft dasselbe Element im Peppol-Prüfschritt gegen dieselbe Liste; daher werden beide gemeldet, und beide verschwinden gemeinsam.
Was die Regel prüft
Die Regel erfasst jeden cbc:AllowanceChargeReasonCode in einem cac:AllowanceCharge, der als Zuschlag gilt, auf Dokumentenebene und in Positionen. Im Versuch wurde FREIGHT beim Zuschlag einer Position der ausführlichen Beispielrechnung an cac:InvoiceLine[1]/cac:AllowanceCharge[2] gemeldet.
Umgebender Leerraum wird entfernt, und der Rest wird unter Beachtung der Groß- und Kleinschreibung verglichen. Im Versuch schlug ein kleingeschriebenes fc fehl, und FC bestand.
Ein Code pro Element. FC DL wurde im Versuch abgelehnt, da jeder Wert mit einem inneren Leerzeichen fehlschlägt.
Codes für Nachlässe zählen hier nicht. Der Code 95 aus UNTDID 5189 beim Zuschlag auf Dokumentenebene schlug genauso fehl wie ein Wort.
Ein leerer cbc:AllowanceChargeReasonCode schlägt ebenfalls an der Listenprüfung fehl und bringt PEPPOL-EN16931-R008 für das leere Element mit sich.
Der Text des Grundes wird nicht gelesen. BR-CO-06, das Code und Text des Zuschlags vergleichen sollte, besteht in diesem Release immer.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-105 | Code für den Grund des Zuschlags auf Dokumentenebene | cac:AllowanceCharge/cbc:AllowanceChargeReasonCode |
| BT-145 | Code für den Grund des Zuschlags auf Ebene der Rechnungsposition | cac:InvoiceLine/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode (cac:CreditNoteLine in a credit note) |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Zuschlagsart aus dem Quellsystem, etwa
FREIGHT,POSTAGEoderHANDLING, wird direkt in das Code-Element geschrieben. - Der Code wird in Kleinbuchstaben gesendet, weil die Zuordnungstabelle so eingegeben wurde oder ein Formatierer Kennungen in Kleinbuchstaben umwandelt.
- Eine einzige Nachschlagetabelle dient Nachlässen und Zuschlägen, sodass ein numerischer Nachlasscode bei einem Zuschlag landet.
- Mehrere Leistungen werden als ein Zuschlag berechnet, und ihre Codes werden zu einem Wert verbunden.
So korrigieren Sie das Dokument
- Bestimmen Sie anhand der Fundstelle des Befunds den Zuschlag:
cac:AllowanceCharge[2]unter der Wurzel im aufgezeichneten Beispiel oder einen Eintrag innerhalb einer Position. - Suchen Sie den Eintrag aus UNTDID 7161 für die Leistung in der Liste, die Peppol veröffentlicht. Einige Einträge daraus:
FCFreight service (Fracht),DLDelivery (Lieferung),PCPacking (Verpackung),CGCleaning (Reinigung). - Schreiben Sie den Code in Großbuchstaben, genau wie gelistet, in
cbc:AllowanceChargeReasonCode, und behalten Sie eine lokale Beschreibung incbc:AllowanceChargeReason. - Werden zwei Leistungen berechnet, senden Sie zwei Elemente
cac:AllowanceChargemit je einem Code, und halten Sie die Summe der Zuschläge und die Umsatzsteueraufschlüsselung im Einklang. - Beschreibt kein Code den Zuschlag, lassen Sie den Code weg und senden Sie nur den Text.
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 Zuschlag auf Dokumentenebene hat das Wort FREIGHT als Code für den Grund
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>FREIGHT</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document charge</cbc:AllowanceChargeReason>
<!-- percentage, amount, base amount and tax category omitted from this fragment -->
</cac:AllowanceCharge>Ausschnitt der korrigierten Rechnung: Der Code für den Grund ist CG, ein Code auf der Liste UNTDID 7161
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document charge</cbc:AllowanceChargeReason>
<!-- percentage, amount, base amount and tax category omitted from this fragment -->
</cac:AllowanceCharge>In der fehlerhaften Rechnung hat der Zuschlag auf Dokumentenebene FREIGHT als Code für den Grund, in der korrigierten Rechnung CG, der auf der Liste steht. Das fehlerhafte Dokument meldet außerdem PEPPOL-EN16931-CL003, weil der Peppol-Prüfschritt eine eigene Kopie der Prüfung gegen UNTDID 7161 enthält und dasselbe Element ablehnt. CG bedeutet Cleaning (Reinigung) und veranschaulicht daher nur einen gültigen Wert; für einen Frachtzuschlag ist der passende Code FC, der im Versuch an derselben Stelle bestand.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CL-20 und
PEPPOL-EN16931-CL003. 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
InvoiceundCreditNote;FREIGHTbeim Zuschlag auf Dokumentenebene einer Gutschrift meldete im Versuch diese Regel undPEPPOL-EN16931-CL003. - Codes für Nachlässe werden von
BR-CL-19gegen UNTDID 5189 geprüft. Welche der beiden Listen gilt, richtet sich nachcbc:ChargeIndicator. - Ob ein Zuschlag auf Dokumentenebene überhaupt einen Grund hat, ist eine eigene Frage, die
BR-CO-22beantwortet.
Verwandte Regeln
- BR-CL-19 ist die Codelisten-Prüfung für die Codes für den Grund von Nachlässen
- BR-CO-22 verlangt, dass ein Zuschlag auf Dokumentenebene einen Code oder Text für den Grund hat
- BR-CO-12 prüft die Summe der Zuschläge, zu der ein aufgeteilter Zuschlag weiterhin passen muss
- 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-20 (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.

