Zum Inhalt springen
E-Rechnung Zentrale

BR-DE-18

Skonto-Angabe in den Zahlungsbedingungen (BT-20) falsch formatiert

Eine mit # beginnende Skonto-Zeile in BT-20 entspricht nicht dem XRechnung-Format #SKONTO#TAGE=n#PROZENT=n.nn#.

Regelwerk
XRechnung (KoSIT)
Stufe
Fehler
Betroffene Felder
BT-20, BT-115
Originaltext der Meldung
[BR-DE-18] Skonto Zeilen in {name} müssen diesem regulärem Ausdruck entsprechen: {$XR-SKONTO-REGEX}. 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.

Was bedeutet BR-DE-18?

XRechnung kennt kein eigenes Feld für Skonto. Stattdessen wird Skonto maschinenlesbar in den Zahlungsbedingungen (BT-20) übermittelt – in einem fest vorgegebenen Format. BR-DE-18 prüft jede Zeile in BT-20, die mit # beginnt, gegen dieses Muster:

#SKONTO#TAGE=14#PROZENT=2.00#

Optional folgt #BASISBETRAG=500.00 vor dem abschließenden #, wenn Skonto nur auf einen Teilbetrag gewährt wird. Die Regeln im Detail:

  • alles in Großbuchstaben, keine Leerzeichen
  • Prozent mit Punkt und genau zwei Nachkommastellen (2.00, nicht 2 oder 2,0)
  • Tage als ganze Zahl
  • nach der letzten Skonto-Zeile muss ein Zeilenumbruch folgen

Geprüft wird die erste Zahlungsbedingung: UBL cac:PaymentTerms/cbc:Note, CII ram:SpecifiedTradePaymentTerms/ram:Description. Normaler Text ohne # am Zeilenanfang ist erlaubt und wird nicht geprüft.

Typische Ursachen

  • Prozentsatz ohne zwei Nachkommastellen oder mit Komma (z. B. PROZENT=2 oder PROZENT=2,00).
  • Kleinbuchstaben oder Leerzeichen in der Skonto-Zeile.
  • Fehlender Zeilenumbruch nach der letzten Skonto-Zeile.
  • Freitext wie „#2 % Skonto bei Zahlung in 10 Tagen" beginnt zufällig mit #.

So beheben Sie den Fehler

  1. Schreiben Sie jede Skontostufe in eine eigene Zeile: #SKONTO#TAGE=10#PROZENT=3.00#.
  2. Verwenden Sie Punkt und zwei Nachkommastellen, Großbuchstaben und keine Leerzeichen.
  3. Beenden Sie die Skontoangabe mit einem Zeilenumbruch; normaler Text darf in weiteren Zeilen folgen.
  4. Wenn Skonto nur auf einen Teilbetrag gilt, ergänzen Sie #BASISBETRAG=500.00.
  5. Validieren Sie erneut.

Beispiel: falsch und richtig

Falsch
<cac:PaymentTerms>
  <cbc:Note>#SKONTO#TAGE=10#PROZENT=2#</cbc:Note>
</cac:PaymentTerms>
Richtig
<cac:PaymentTerms>
  <cbc:Note>#SKONTO#TAGE=10#PROZENT=2.00#
Zahlbar innerhalb von 30 Tagen netto.</cbc:Note>
</cac:PaymentTerms>
Wo die Regel prüft (XPath)
UBL
/ubl:Invoice | /cn:CreditNote
CII
/rsm:CrossIndustryInvoice

Rechnung erneut prüfen

Legen Sie die korrigierte Datei hier ab. Die Prüfung läuft mit den offiziellen Regeln in Ihrem Browser.

E-Rechnung hier ablegen

XRechnung (UBL oder CII), ZUGFeRD und Factur-X als XML oder PDF. Gern auch mehrere Dateien auf einmal.

Ihre Rechnung verlässt nie Ihren Browser. Prüfung und Anzeige laufen auf Ihrem Gerät, es wird nichts hochgeladen oder gespeichert.

Ohne Datei testen: , ,

Fragen zu BR-DE-18

Wie gebe ich zwei Skontostufen an?

Jede Stufe in eine eigene Zeile, z. B. „#SKONTO#TAGE=10#PROZENT=3.00#" und darunter „#SKONTO#TAGE=20#PROZENT=2.00#", danach ein Zeilenumbruch.

Darf ich neben der Skontozeile noch normalen Text schreiben?

Ja. Geprüft werden nur Zeilen, die mit # beginnen. Text wie „Zahlbar innerhalb von 30 Tagen" in einer weiteren Zeile ist erlaubt.

Warum schlägt die Regel an, obwohl das Format stimmt?

Häufig fehlt der Zeilenumbruch nach der letzten Skonto-Zeile, oder es steht ein Leerzeichen am Zeilenende. Manche Programme entfernen beim Speichern Zeilenumbrüche – prüfen Sie das XML direkt.