BR-CO-12: Summe der Belegzuschläge stimmt nicht

Die Summe der Zuschläge auf Belegebene (BT-108) muss der Summe aller einzelnen Zuschlagsbeträge (BT-99) entsprechen.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-99, BT-108

Offizieller Regeltext

Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Versandkosten werden in der Summe, aber nicht als Zuschlag geführt, oder doppelt gezählt.

So behebst du den Fehler

Die Summe aus den übertragenen Zuschlägen berechnen (UBL cbc:ChargeTotalAmount, CII ram:ChargeTotalAmount).

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Summe der Zuschläge (BT-108) um 1,00 zu hoch, Folgebeträge angepasst.

Falsch – ab Zeile 134
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">501.55</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">489.97</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">582.87</cbc:TaxInclusiveAmount>
  <cbc:AllowanceTotalAmount currencyID="EUR">25.08</cbc:AllowanceTotalAmount>
  <cbc:ChargeTotalAmount currencyID="EUR">13.50</cbc:ChargeTotalAmount>
  <cbc:PayableAmount currencyID="EUR">582.87</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
Richtig – ab Zeile 134
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">501.55</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">488.97</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">581.87</cbc:TaxInclusiveAmount>
  <cbc:AllowanceTotalAmount currencyID="EUR">25.08</cbc:AllowanceTotalAmount>
  <cbc:ChargeTotalAmount currencyID="EUR">12.50</cbc:ChargeTotalAmount>
  <cbc:PayableAmount currencyID="EUR">581.87</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CO-12 Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99). Fundstelle: /Invoice[1]/LegalMonetaryTotal[1]

Vollständige Dateien im Testkorpus: br-co-12-summe-zuschlaege-falsch_ubl.xml (falsch) und belegrabatt_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Summe der Zuschläge (BT-108) um 1,00 zu hoch, Folgebeträge angepasst.

Falsch – ab Zeile 225
  <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    <ram:LineTotalAmount>501.55</ram:LineTotalAmount>
    <ram:ChargeTotalAmount>13.50</ram:ChargeTotalAmount>
    <ram:AllowanceTotalAmount>25.08</ram:AllowanceTotalAmount>
    <ram:TaxBasisTotalAmount>489.97</ram:TaxBasisTotalAmount>
    <ram:TaxTotalAmount currencyID="EUR">92.90</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>582.87</ram:GrandTotalAmount>
    <ram:DuePayableAmount>582.87</ram:DuePayableAmount>
  </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
Richtig – ab Zeile 225
  <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    <ram:LineTotalAmount>501.55</ram:LineTotalAmount>
    <ram:ChargeTotalAmount>12.50</ram:ChargeTotalAmount>
    <ram:AllowanceTotalAmount>25.08</ram:AllowanceTotalAmount>
    <ram:TaxBasisTotalAmount>488.97</ram:TaxBasisTotalAmount>
    <ram:TaxTotalAmount currencyID="EUR">92.90</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>581.87</ram:GrandTotalAmount>
    <ram:DuePayableAmount>581.87</ram:DuePayableAmount>
  </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CO-12 Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99). Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/SpecifiedTradeSettlementHeaderMonetarySummation[1]

Vollständige Dateien im Testkorpus: br-co-12-summe-zuschlaege-falsch_cii.xml (falsch) und belegrabatt_cii.xml (richtig).

Testdateien zu BR-CO-12

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Prüfausdruck:

(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)

UBL

Kontext:

cac:LegalMonetaryTotal

Prüfausdruck:

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()]))

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.