BR-DE-18: Skontoangabe in den Zahlungsbedingungen (BT-20) hat das falsche Format
Offizielle Meldung
[BR-DE-18] Skonto Zeilen in … muessen diesem regulärem Ausdruck entsprechen: …. 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.
[BR-DE-18] Skonto Zeilen in … müssen diesem regulärem Ausdruck entsprechen: …. 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.
- Schweregrad
- Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
- Gilt für
- XRechnung (CII), XRechnung (UBL)
- Betroffene Felder
- BT-20, BT-115
Was bedeutet das?
Skonto wird in der XRechnung in den Zahlungsbedingungen (Payment terms, BT-20) in einem festen Zeilenformat angegeben, z. B. #SKONTO#TAGE=14#PROZENT=2.00#. Mindestens eine Zeile, die mit # beginnt, entspricht nicht diesem Format, oder nach der letzten Skontozeile fehlt der Zeilenumbruch.
Typische Ursachen
Der Prozentsatz hat nicht genau zwei Nachkommastellen oder ein Komma statt eines Punkts (z. B. PROZENT=2 oder PROZENT=2,00).
Die Angaben sind in Kleinbuchstaben geschrieben (z. B. #skonto#) oder enthalten Leerzeichen.
Ein Segment fehlt, steht in der falschen Reihenfolge oder die Zeile endet nicht mit #.
Nach der letzten Skontozeile folgt kein Zeilenumbruch.
So beheben Sie den Fehler
Jede Skontoangabe in eine eigene Zeile schreiben: #SKONTO#TAGE=n#PROZENT=n.nn#, optional mit viertem Segment #BASISBETRAG=n.nn#, wenn sich das Skonto nicht auf den fälligen Betrag (BT-115) bezieht.
Nur Großbuchstaben, keine Leerzeichen oder Tabulatoren, Prozent und Basisbetrag mit Punkt und genau zwei Nachkommastellen, Prozent ohne Vorzeichen.
Jede Skontozeile mit einem Zeilenumbruch abschließen, auch die letzte.
CII: ram:SpecifiedTradePaymentTerms/ram:Description, UBL: cac:PaymentTerms/cbc:Note; geprüft wird jeweils das erste Element.
Die Rechnung erneut erzeugen und prüfen.
In E-Rechnungsfreund
Im Rechnungsformular im Abschnitt „Datum & Zeiträume“ im Feld „Zahlungsbedingungen (BT-20)“ die Skontozeilen im oben genannten Format eintragen, jede in einer eigenen Zeile, und die Rechnung erneut prüfen. Den Zeilenumbruch nach der letzten Skontozeile setzt die Anwendung beim Erzeugen der XML selbst.
Beispiel
Fehlerhaft
<ram:SpecifiedTradePaymentTerms>
<ram:Description>#SKONTO#TAGE=14#PROZENT=2#</ram:Description>
</ram:SpecifiedTradePaymentTerms>
Richtig
<ram:SpecifiedTradePaymentTerms>
<ram:Description>#SKONTO#TAGE=14#PROZENT=2.00#
</ram:Description>
</ram:SpecifiedTradePaymentTerms>
Für Entwickler: Prüfausdruck je Syntax
XRechnung (CII) (CII)
Kontext: /rsm:CrossIndustryInvoice
every $line in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description[1]/tokenize(. , '(\r?\n)')[starts-with( normalize-space(.) , '#')] satisfies matches ( normalize-space ($line), $XR-SKONTO-REGEX ) and matches( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description[1]/tokenize(. , '#.+#')[last()], '^\s*\n' )
XRechnung (UBL) (UBL)
Kontext: /ubl:Invoice | /cn:CreditNote
every $line in cac:PaymentTerms/cbc:Note[1]/tokenize(. , '(\r?\n)')[starts-with( normalize-space(.) , '#')] satisfies matches ( normalize-space ($line), $XR-SKONTO-REGEX) and matches( cac:PaymentTerms/cbc:Note[1]/tokenize(. , '#.+#')[last()], '^\s*\n' )
Verwandte Prüfregeln
- BR-DE-1: Zahlungsanweisungen (BG-16) fehlen
- BR-DE-10: Ort der Lieferanschrift (BT-77) fehlt
- BR-DE-11: Postleitzahl der Lieferanschrift (BT-78) fehlt
- BR-DE-14: Steuersatz in der Steueraufschlüsselung (BT-119) fehlt
- BR-DE-15: Käuferreferenz (BT-10) fehlt
- BR-DE-16: USt-IdNr., Steuernummer oder Steuervertreter des Verkäufers fehlt
Häufige Fragen
Wird ein Skonto im Freitext („2 % Skonto bei Zahlung in 14 Tagen“) auch geprüft?
Nein. Die Regel prüft nur Zeilen, die mit
Können mehrere Skontostufen angegeben werden?
Ja. Jede Stufe steht in einer eigenen Zeile im selben Format, z. B. eine Zeile mit TAGE=7 und PROZENT=3.00 und eine weitere mit TAGE=14 und PROZENT=2.00.
Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.