Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-50: Die Kontokennung im Zahlungskonto des Zahlungsempfängers ergänzen

Eine Überweisung mit Code 30 oder 58 hat ein cac:PayeeFinancialAccount, aber keine Kontonummer in dessen cbc:ID. Ergänzen Sie die tatsächliche Kontokennung.

EN 16931Fehler: Das Dokument ist ungültigKernfelder

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.

BegriffBedeutungUBL-Element
BT-81Code für die Zahlungsartcac:PaymentMeans/cbc:PaymentMeansCode
BG-17Überweisungcac:PaymentMeans/cac:PayeeFinancialAccount
BT-84Kennung des Zahlungskontoscac: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:ID gesetzt, wohin die Bankkennung, etwa eine BIC, gehört.
  • Die Kontonummer wurde in cbc:PaymentID oder in eine Bemerkung geschrieben, und das Kontoelement wurde aus den übrigen Feldern aufgebaut.

So korrigieren Sie das Dokument

  1. 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.
  2. Schreiben Sie sie als cbc:ID, das erste Kindelement von cac:PayeeFinancialAccount, vor cbc:Name und cac:FinancialInstitutionBranch.
  3. Belassen Sie die Bankkennung in cac:FinancialInstitutionBranch/cbc:ID. Sie steht neben der Kontokennung und ersetzt sie nicht.
  4. Wenn der Käufer nicht per Überweisung zahlen wird, ändern Sie cbc:PaymentMeansCode auf den Code der tatsächlichen Zahlungsart und entfernen Sie das Kontoelement, statt eine Überweisung ohne Konto zu senden.

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: 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

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. Eine Gutschrift mit einem Überweisungskonto ohne Kennung meldete im Versuch BR-50 und BR-61.
  • Beide Befunde stammen aus dem Prüfschritt EN 16931; der Peppol-Prüfschritt besteht im aufgezeichneten Beispiel.
  • Jedes cac:PaymentMeans wird 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ässt BR-CL-16 fehlschlagen und nimmt das Zahlungsmittel hier aus dem Geltungsbereich, daher kann die Korrektur des Codes auf 30 diesen Befund als Nächstes hervorbringen.

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.