WarnungXRechnung (DE)DEEingabe nötig

BR-DE-19

"Payment account identifier" (BT-84) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 58 SEPA als Zahlungsmittel gefordert wird.

Was bedeutet diese Regel?

Bei einer Überweisung ist die IBAN (BT-84) fehlerhaft.

Wenn die Zahlungsart Überweisung ist, muss BT-84 eine formal gültige IBAN sein.

BT-81
Code der Zahlungsart (UNTDID 4461)
BT-84
Zahlungskonto/IBAN des Empfängers
Offizielle Regelmeldung (Norm)

"Payment account identifier" (BT-84) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 58 SEPA als Zahlungsmittel gefordert wird.

Wo die Regel greift

Syntax: CII · UBL

Dieselbe Regel, zweimal ausgedrückt: UBL und CII benennen dieselben Felder mit unterschiedlichen Pfaden. Prüfst du eine CII-Datei gegen die UBL-Regeln, bekommst du deshalb Fehler, die nichts bedeuten.

UBL

  • /ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]

CII

  • /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('30','58')]

Technische Prüfung

Die Regel ist erfüllt, wenn dieser Schematron-Ausdruck zutrifft:

not(normalize-space(ram:TypeCode) = '58') or                     matches(normalize-space(replace(ram:PayeePartyCreditorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and                     xs:integer(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(ram:PayeePartyCreditorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(ram:PayeePartyCreditorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(ram:PayeePartyCreditorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),3,2))) return  (if($cp > 64) then string($cp - 55) else  string($cp - 48)),'')) mod 97 = 1

So behebst du den Fehler

Eine fehlende oder falsche Geschäftsangabe, die nur du liefern kannst. Ergänze bzw. korrigiere sie und prüfe erneut.

Korrigiere die IBAN des Zahlungskontos.

Korrigiere die betroffene Angabe in deiner XML und prüfe die Rechnung anschließend erneut. Die Prüfung läuft lokal in deinem Browser — deine Datei verlässt deinen Rechner nicht.

E-Rechnung hier prüfen

Ziehe eine XML- oder ZUGFeRD-PDF-Datei hierein. Die Prüfung läuft lokal in deinem Browser gegen die EN 16931 — deine Datei verlässt deinen Rechner nicht.

100 % lokal — kein Upload, kein Konto.

Verwandte Regeln

← Zur Fehler-Bibliothek