Zum Inhalt springen

BR-CO-12: Summe der Zuschläge auf Dokumentenebene (BT-108) stimmt nicht

Offizielle Meldung

[BR-CO-12] Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

EN 16931 (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-CO-12] Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

EN 16931 (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-CO-12] Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

Factur-X / ZUGFeRD EN 16931 · Fehler · Sprache der Meldung: Englisch · Stand: Factur-X 1.08 / ZUGFeRD 2.4
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-108, BT-99

Was bedeutet das?

Die Summe der Zuschläge auf Dokumentenebene (Sum of charges on document level, BT-108) muss der Summe der einzelnen Zuschlagsbeträge (BT-99) entsprechen. Der Wert in BT-108 weicht davon ab oder fehlt, obwohl Zuschläge vorhanden sind.
Geprüft wird: BT-108 = Σ BT-99, die Summe auf zwei Nachkommastellen gerundet. Beispiel: 12.50 + 7.50 = 20.00.
In der Factur-X/ZUGFeRD-Prüfung zählen zusätzlich Logistikkosten (ram:SpecifiedLogisticsServiceCharge/ram:AppliedAmount) zur Summe.

Typische Ursachen

Ein Zuschlag wurde hinzugefügt, geändert oder entfernt, ohne BT-108 neu zu berechnen.
BT-108 fehlt, obwohl es mindestens einen Zuschlag auf Dokumentenebene gibt.
Zuschläge auf Positionsebene (BT-141) wurden in BT-108 eingerechnet; sie sind bereits im Positionsnettobetrag (BT-131) enthalten.
Abschläge (BT-92) wurden mit den Zuschlägen verrechnet.

So beheben Sie den Fehler

BT-108 als Summe aller Zuschlagsbeträge auf Dokumentenebene (BT-99) berechnen und auf zwei Nachkommastellen runden.
Gibt es Zuschläge auf Dokumentenebene, BT-108 immer angeben; ohne Zuschläge kann BT-108 entfallen.
Den Gesamtbetrag ohne Umsatzsteuer (BT-109) und die davon abhängigen Summen neu berechnen (BR-CO-13).
CII: ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount, UBL: cac:LegalMonetaryTotal/cbc:ChargeTotalAmount.

In E-Rechnungsfreund

Im Rechnungsformular wird BT-108 beim Erzeugen der XML aus den Einträgen vom Typ „Zuschlag (BG-21)“ im Abschnitt „Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)“ (Ansicht „Experte“) berechnet und auf zwei Nachkommastellen gerundet; der Wert im Abschnitt „Belegsummen (BG-22)“ im Feld „Summe Zuschläge (BT-108)“ wird dafür nicht übernommen. Die Einträge prüfen und die Rechnung erneut prüfen.

Beispiel

Fehlerhaft

<!-- Zuschläge auf Dokumentenebene: BT-99 = 12.50 und 7.50 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:ChargeTotalAmount>12.50</ram:ChargeTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Richtig

<!-- Zuschläge auf Dokumentenebene: BT-99 = 12.50 und 7.50 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:ChargeTotalAmount>20.00</ram:ChargeTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Für Entwickler: Prüfausdruck je Syntax

EN 16931 (CII) (CII)

Kontext: //ram:SpecifiedTradeSettlementHeaderMonetarySummation

(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()])and not (ram:ChargeTotalAmount)) or ram:ChargeTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:ActualAmount[1])* 10 * 10 ) div 100)

EN 16931 (UBL) (UBL)

Kontext: cac:LegalMonetaryTotal

xs:decimal(cbc:ChargeTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:ChargeTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]))

Factur-X / ZUGFeRD EN 16931 (CII)

Technische ID in der Quelle: FX-SCH-A-000119

Kontext: //ram:SpecifiedTradeSettlementHeaderMonetarySummation

(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true'])and not (ram:ChargeTotalAmount)) or (round (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount * 10 * 10) div 100)= round(((round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:ActualAmount)* 10 * 10 ) div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge/ram:AppliedAmount)* 10 * 10 ) div 100))*10*10) div 100

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

Häufige Fragen

Muss BT-108 angegeben werden, wenn es keine Zuschläge gibt?

Nein. Ohne Zuschläge auf Dokumentenebene darf BT-108 fehlen oder 0.00 sein. Sobald mindestens ein Zuschlag vorhanden ist, muss BT-108 angegeben werden und der Summe entsprechen.

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.