BR-CO-16: Fälliger Betrag (BT-115) stimmt nicht
Offizielle Meldung
[BR-CO-16] Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
[BR-CO-16] Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
[BR-CO-16] Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
- Schweregrad
- Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
- Gilt für
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Betroffene Felder
- BT-115, BT-112, BT-113, BT-114
Was bedeutet das?
Der fällige Zahlungsbetrag (Amount due for payment, BT-115) muss sich aus dem Gesamtbetrag einschließlich Umsatzsteuer (BT-112) abzüglich des bereits gezahlten Betrags (BT-113) und zuzüglich des Rundungsbetrags (BT-114) ergeben. Der Wert in BT-115 weicht davon ab.
Geprüft wird: BT-115 = BT-112 − BT-113 + BT-114; fehlt BT-113 oder BT-114, zählt der Wert als 0. In CII wird dabei nicht gerundet, der Wert muss exakt stimmen. Beispiel: 399.25 − 100.00 + 0.00 = 299.25.
Typische Ursachen
Eine Anzahlung oder Teilzahlung wurde in BT-115 abgezogen, aber nicht als bereits gezahlter Betrag (BT-113) angegeben, oder umgekehrt.
Der fällige Betrag wurde gerundet, ohne die Differenz als Rundungsbetrag (BT-114) anzugeben, oder BT-114 hat das falsche Vorzeichen.
Vom fälligen Betrag wurde etwas abgezogen, das in der Formel nicht vorkommt, z. B. ein Skonto.
BT-112, BT-113 oder BT-114 wurde geändert, ohne BT-115 neu zu berechnen.
So beheben Sie den Fehler
BT-115 als BT-112 − BT-113 + BT-114 berechnen.
Wird der Zahlbetrag gerundet, die Differenz mit Vorzeichen in BT-114 angeben, z. B. 399.25 auf 399.00 gerundet: BT-114 = −0.25.
CII: ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:DuePayableAmount, UBL: cac:LegalMonetaryTotal/cbc:PayableAmount.
Die Rechnung erneut erzeugen und prüfen.
In E-Rechnungsfreund
Im Rechnungsformular wird BT-115 beim Erzeugen der XML aus BT-112 und den Feldern „Bereits gezahlt (BT-113)“ und „Rundungsbetrag (BT-114)“ im Abschnitt „Belegsummen (BG-22)“ berechnet; der Wert im Feld „Fälliger Betrag (BT-115)“ wird dafür nicht übernommen. Die beiden Felder prüfen und die Rechnung erneut prüfen.
Beispiel
Fehlerhaft
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:GrandTotalAmount>399.25</ram:GrandTotalAmount>
<ram:TotalPrepaidAmount>100.00</ram:TotalPrepaidAmount>
<ram:DuePayableAmount>399.25</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Richtig
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:GrandTotalAmount>399.25</ram:GrandTotalAmount>
<ram:TotalPrepaidAmount>100.00</ram:TotalPrepaidAmount>
<ram:DuePayableAmount>299.25</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Für Entwickler: Prüfausdruck je Syntax
EN 16931 (CII) (CII)
Kontext: //ram:SpecifiedTradeSettlementHeaderMonetarySummation
(xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) - xs:decimal(ram:TotalPrepaidAmount[1]) + xs:decimal(ram:RoundingAmount[1])) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) + xs:decimal(ram:RoundingAmount[1])) and not(ram:TotalPrepaidAmount)) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) - xs:decimal(ram:TotalPrepaidAmount[1])) and not(ram:RoundingAmount)) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1])) and not(ram:TotalPrepaidAmount) and not(ram:RoundingAmount))
EN 16931 (UBL) (UBL)
Kontext: cac:LegalMonetaryTotal
(exists(cbc:PrepaidAmount) and not(exists(cbc:PayableRoundingAmount)) and (xs:decimal(cbc:PayableAmount) = (round((xs:decimal(cbc:TaxInclusiveAmount) - xs:decimal(cbc:PrepaidAmount)) * 10 * 10) div 100))) or (not(exists(cbc:PrepaidAmount)) and not(exists(cbc:PayableRoundingAmount)) and xs:decimal(cbc:PayableAmount) = xs:decimal(cbc:TaxInclusiveAmount)) or (exists(cbc:PrepaidAmount) and exists(cbc:PayableRoundingAmount) and ((round((xs:decimal(cbc:PayableAmount) - xs:decimal(cbc:PayableRoundingAmount)) * 10 * 10) div 100) = (round((xs:decimal(cbc:TaxInclusiveAmount) - xs:decimal(cbc:PrepaidAmount)) * 10 * 10) div 100))) or (not(exists(cbc:PrepaidAmount)) and exists(cbc:PayableRoundingAmount) and ((round((xs:decimal(cbc:PayableAmount) - xs:decimal(cbc:PayableRoundingAmount)) * 10 * 10) div 100) = xs:decimal(cbc:TaxInclusiveAmount)))
Factur-X / ZUGFeRD EN 16931 (CII)
Technische ID in der Quelle: FX-SCH-A-000122
Kontext: //ram:SpecifiedTradeSettlementHeaderMonetarySummation
(xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) - xs:decimal(ram:TotalPrepaidAmount) + xs:decimal(ram:RoundingAmount)) or ((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) + xs:decimal(ram:RoundingAmount)) and not (xs:decimal(ram:TotalPrepaidAmount))) or ((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) - xs:decimal(ram:TotalPrepaidAmount)) and not (xs:decimal(ram:RoundingAmount))) or ((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount)) and not (xs:decimal(ram:TotalPrepaidAmount)) and not (xs:decimal(ram:RoundingAmount)))
Verwandte Prüfregeln
- BR-CO-03: Steuerfälligkeitsdatum (BT-7) und Steuerfälligkeitscode (BT-8) schließen sich aus
- BR-CO-04: Steuerkategorie der Position (BT-151) fehlt
- BR-CO-05: Code des Abschlagsgrunds (BT-98) und Abschlagsgrund (BT-97) müssen dieselbe Art beschreiben
- BR-CO-06: Code des Zuschlagsgrunds (BT-105) und Zuschlagsgrund (BT-104) müssen dieselbe Art beschreiben
- BR-CO-07: Code des Abschlagsgrunds der Position (BT-140) und Abschlagsgrund (BT-139) müssen dieselbe Art beschreiben
- BR-CO-08: Code des Zuschlagsgrunds der Position (BT-145) und Zuschlagsgrund (BT-144) müssen dieselbe Art beschreiben
Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.