E-Rechnung: Fehlercode erklärt

BR-DE-18: Skonto-Angabe hat das falsche Format

XRechnung hat eine feste Schreibweise für Skonto in den Zahlungsbedingungen (BT-20), damit die Software des Käufers den Abzug berechnen kann.

Was die Regel prüft

XRechnung hat eine feste Schreibweise für Skonto in den Zahlungsbedingungen (BT-20), damit die Software des Käufers den Abzug berechnen kann. Die Regel prüft nur Zeilen in BT-20, die mit # beginnen. Zahlungsbedingungen als normaler Text ohne # sind nicht betroffen.

Offizieller Regeltext

Skonto Zeilen in rsm:CrossIndustryInvoice muessen diesem regulärem Ausdruck entsprechen: (^|\r?\n)#(SKONTO)#TAGE=([0-9]+#PROZENT=[0-9]+\.[0-9]{2})(#BASISBETRAG=-?[0-9]+\.[0-9]{2})?#$. Die Informationen zur Gewährung von Skonto müssen wie folgt im Element "Payment terms" (BT-20) übermittelt werden: Anzugeben ist im ersten Segment "SKONTO", im zweiten "TAGE=n", im dritten "PROZENT=n". Prozentzahlen sind ohne Vorzeichen sowie mit Punkt getrennt von zwei Nachkommastellen anzugeben. Liegt dem zu berechnenden Betrag nicht BT-115, "fälliger Betrag" zugrunde, sondern nur ein Teil des fälligen Betrags der Rechnung, ist der Grundwert zur Berechnung von Skonto als viertes Segment "BASISBETRAG=n" gemäß dem semantischen Datentypen Amount anzugeben. Jeder Eintrag beginnt mit einer #, die Segmente sind mit einer # getrennt und eine Zeile schließt mit einer # ab. Am Ende einer vollständigen Skontoangabe muss ein XML-konformer Zeilenumbruch folgen. Alle Angaben zur Gewährung von Skonto müssen in Großbuchstaben gemacht werden. Zusätzliches Whitespace (Leerzeichen, Tabulatoren oder Zeilenumbrüche) ist nicht zulässig. Andere Zeichen oder Texte als in den oberen Vorgaben genannt sind nicht zulässig.

Quelle: KoSIT-Konfiguration XRechnung 3.0.2 (31.01.2026).

Typische Ursachen

  • Kleinbuchstaben, zum Beispiel #Skonto#Tage=14#.
  • Prozentsatz ohne zwei Nachkommastellen oder mit Komma: PROZENT=2 oder PROZENT=2,00.
  • Leerzeichen innerhalb der Zeile, zum Beispiel TAGE = 14.
  • Das abschließende # fehlt, oder nach der letzten Skonto-Zeile folgt kein Zeilenumbruch.

So beheben Sie den Fehler

Schreiben Sie jede Skontostufe in eine eigene Zeile: #SKONTO#TAGE=14#PROZENT=2.00# und danach einen Zeilenumbruch. Gilt das Skonto nur für einen Teil des Betrags, hängen Sie BASISBETRAG an: #SKONTO#TAGE=14#PROZENT=2.00#BASISBETRAG=1000.00#. Lesbarer Text wie „Zahlbar innerhalb 30 Tagen netto“ darf in eigenen Zeilen ohne # davor oder danach stehen. In CII ist das Feld ram:SpecifiedTradePaymentTerms/ram:Description.

Beispiel

Falsch (CII)

<ram:SpecifiedTradePaymentTerms>
  <ram:Description>#Skonto#Tage=14#Prozent=2,0#</ram:Description>
</ram:SpecifiedTradePaymentTerms>

Richtig (CII)

<ram:SpecifiedTradePaymentTerms>
  <ram:Description>#SKONTO#TAGE=14#PROZENT=2.00#
</ram:Description>
</ram:SpecifiedTradePaymentTerms>

In Dynamics 365, Business Central und Finance

Sales / Project Operations: Sales und Project Operations erzeugen von Haus aus keine E-Rechnung. Im WBS Invoice Accelerator for Dynamics 365 steht die Zahlungsbedingung als normaler Text in BT-20, zum Beispiel „Zahlbar innerhalb 14 Tagen ohne Abzug.“. Der Accelerator schreibt keine Skonto-Zeilen, BR-DE-18 kommt also nicht aus seiner Ausgabe.

Business Central: Skonto wird in den Zahlungsbedingungen (Payment Terms) mit Discount % und Discount Date Calculation eingerichtet. Schreibt Ihr Export daraus Skonto-Zeilen, prüfen Sie deren Format in der Datei.

Verwandte Fehlercodes

Prüfen Sie Ihre Rechnung kostenlos. Der Validator zeigt alle Meldungen mit Erklärung und die Stelle in der XML.