Auf dieser Seite
Die kurze Antwort
BR-50 schlägt fehl, wenn ein cac:PaymentMeans mit Code 30 (Überweisung) oder 58 (SEPA-Überweisung) ein cac:PayeeFinancialAccount enthält, dessen cbc:ID fehlt oder leer ist. Tragen Sie die Nummer des Kontos, auf das der Käufer zahlen soll, etwa eine IBAN oder eine nationale Kontonummer, in cbc:ID als erstes Kindelement dieses Kontoelements ein.
Eine fehlende cbc:ID lässt auch BR-61 fehlschlagen, daher treten beide zusammen auf. Ein vorhandenes, aber leeres Element lässt stattdessen diese Regel und PEPPOL-EN16931-R008 fehlschlagen, ohne BR-61.
Was die Regel prüft
Die Regel schaut nur in Zahlungsmittel, deren cbc:PaymentMeansCode 30 oder 58 ist, und nur, wenn dieses Zahlungsmittel ein cac:PayeeFinancialAccount hat. Sie ist erfüllt, wenn das Konto eine cbc:ID mit anderem Text als Leerraum enthält.
Der Kontoname in cbc:Name und die Bankkennung in cac:FinancialInstitutionBranch zählen nicht. Die aufgezeichnete fehlerhafte Rechnung enthält beide und schlägt trotzdem fehl.
Fehlend und leer werden unterschiedlich gemeldet. Ganz ohne cbc:ID werden BR-50 und BR-61 beide gemeldet. Mit einer leeren cbc:ID oder einer, die nur Leerzeichen enthält, ist BR-61 erfüllt, weil das Element existiert, und diese Regel wird zusammen mit PEPPOL-EN16931-R008 gemeldet; beide Fälle wurden ausprobiert.
Ganz ohne cac:PayeeFinancialAccount hat diese Regel nichts zu prüfen, und BR-61 meldet das fehlende Konto allein.
Der Codevergleich dieser Regel ist exakt. Im Versuch mit einem Leerzeichen vor und nach 30 blieb diese Regel still, und nur BR-61, das den Code vor dem Vergleich von Leerraum befreit, meldete die fehlende Kennung.
Andere Codes für Zahlungsmittel liegen außerhalb des Geltungsbereichs. Ein Konto ohne Kennung unter Code 42 (Zahlung auf Bankkonto) bestand im Versuch jeden Prüfschritt.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-81 | Code für die Zahlungsart | cac:PaymentMeans/cbc:PaymentMeansCode |
| BG-17 | Überweisung | cac:PaymentMeans/cac:PayeeFinancialAccount |
| BT-84 | Kennung des Zahlungskontos | cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Kontonummer liegt in einer Tabelle mit Bankverbindungen, und die Suche schlägt für diese Verkäufergesellschaft oder Währung fehl, während der Kontoname aus dem Unternehmensdatensatz stammt und weiterhin geschrieben wird.
- Der Serialisierer lässt eine Kontonummer ohne Wert weg, behält aber das übergeordnete Element, weil dessen andere Kindelemente Werte haben.
- Die Kontonummer wurde in
cac:FinancialInstitutionBranch/cbc:IDgesetzt, wohin die Bankkennung, etwa eine BIC, gehört. - Die Kontonummer wurde in
cbc:PaymentIDoder in eine Bemerkung geschrieben, und das Kontoelement wurde aus den übrigen Feldern aufgebaut.
So korrigieren Sie das Dokument
- Ermitteln Sie das Konto, auf das der Verkäufer diese Rechnung bezahlt haben möchte: die IBAN oder nationale Kontonummer aus den eigenen Bankverbindungen des Verkäufers für die Gesellschaft und die Währung der Rechnung.
- Schreiben Sie sie als
cbc:ID, das erste Kindelement voncac:PayeeFinancialAccount, vorcbc:Nameundcac:FinancialInstitutionBranch. - Belassen Sie die Bankkennung in
cac:FinancialInstitutionBranch/cbc:ID. Sie steht neben der Kontokennung und ersetzt sie nicht. - Wenn der Käufer nicht per Überweisung zahlen wird, ändern Sie
cbc:PaymentMeansCodeauf den Code der tatsächlichen Zahlungsart und entfernen Sie das Kontoelement, statt eine Überweisung ohne Konto zu senden.
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: Das Konto des Zahlungsempfängers hat einen Namen und eine Filiale, aber keine Kontokennung
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>PAYMENT-001</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:Name>Example Supplier Ltd</cbc:Name>
<cac:FinancialInstitutionBranch>
<cbc:ID>EXAMPLE-BRANCH</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>Ausschnitt der korrigierten Rechnung: Die Kontokennung ist das erste Kindelement des Kontos des Zahlungsempfängers
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>PAYMENT-001</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>EXAMPLE-ACCOUNT-001</cbc:ID>
<cbc:Name>Example Supplier Ltd</cbc:Name>
<cac:FinancialInstitutionBranch>
<cbc:ID>EXAMPLE-BRANCH</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>Die korrigierte Rechnung hat <cbc:ID>EXAMPLE-ACCOUNT-001</cbc:ID> am Anfang von cac:PayeeFinancialAccount, der fehlerhaften fehlt es; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem BR-61, die Begleitregel, die für die Codes 30 und 58 eine Kontokennung verlangt, ob ein Kontoelement existiert oder nicht. BR-50 sitzt am Kontoelement und BR-61 am Zahlungsmittel, aber ein einziges fehlendes Element verursacht beide. EXAMPLE-ACCOUNT-001 ist ein Platzhalter, kein Format für Kontonummern.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-50 und BR-61. 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 mit einem Überweisungskonto ohne Kennung meldete im VersuchBR-50undBR-61. - Beide Befunde stammen aus dem Prüfschritt EN 16931; der Peppol-Prüfschritt besteht im aufgezeichneten Beispiel.
- Jedes
cac:PaymentMeanswird für sich geprüft, und die Fundstelle des Befunds nennt dasjenige ohne Kennung. - Ein Code außerhalb der Liste UNTDID 4461, etwa
BACS, lässtBR-CL-16fehlschlagen und nimmt das Zahlungsmittel hier aus dem Geltungsbereich, daher kann die Korrektur des Codes auf30diesen Befund als Nächstes hervorbringen.
Verwandte Regeln
- BR-61 verlangt die Kontokennung für dieselben zwei Codes und schlägt mit dieser Regel an, wenn die ID fehlt
- PEPPOL-EN16931-R008 wird statt BR-61 gemeldet, wenn das ID-Element des Kontos vorhanden, aber leer ist
- BR-CL-16 prüft den Code des Zahlungsmittels, der entscheidet, ob diese Regel gilt
- PEPPOL-EN16931-R061 ist das Gegenstück für Lastschriften und verlangt eine Mandatsreferenz
- 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-50 (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.

