BR-CO-10: Summe der Positionsbeträge stimmt nicht

Die Summe der Positionsnettobeträge (BT-106) muss genau der Summe aller Nettobeträge der Positionen (BT-131) entsprechen.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-106, BT-131

Offizieller Regeltext

Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

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

Die Summe wird aus ungerundeten Werten gebildet, während die Positionen gerundet ausgegeben werden; oder Positionen werden nachträglich geändert, ohne die Summe neu zu berechnen.

So behebst du den Fehler

Erst jeden Positionsbetrag auf zwei Nachkommastellen runden und dann die gerundeten Beträge addieren.

Der Validator lässt hier keine Toleranz zu – schon ein Cent Abweichung führt zur Ablehnung.

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 Positionsnettobeträge (BT-106) um 1 Cent zu hoch, Folgebeträge angepasst.

Falsch – ab Zeile 105
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">501.56</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">501.56</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">596.85</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">596.85</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
Richtig – ab Zeile 105
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">501.55</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">501.55</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">596.84</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">596.84</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-10 Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). Fundstelle: /Invoice[1]/LegalMonetaryTotal[1]

Vollständige Dateien im Testkorpus: br-co-10-summe-positionen-falsch_ubl.xml (falsch) und standard_ubl.xml (richtig).

Beispiel in CII

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

Falsch – ab Zeile 204
  </ram:SpecifiedTradePaymentTerms>
  <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    <ram:LineTotalAmount>501.56</ram:LineTotalAmount>
    <ram:TaxBasisTotalAmount>501.56</ram:TaxBasisTotalAmount>
    <ram:TaxTotalAmount currencyID="EUR">95.29</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>596.85</ram:GrandTotalAmount>
    <ram:DuePayableAmount>596.85</ram:DuePayableAmount>
  </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
Richtig – ab Zeile 204
  </ram:SpecifiedTradePaymentTerms>
  <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    <ram:LineTotalAmount>501.55</ram:LineTotalAmount>
    <ram:TaxBasisTotalAmount>501.55</ram:TaxBasisTotalAmount>
    <ram:TaxTotalAmount currencyID="EUR">95.29</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>596.84</ram:GrandTotalAmount>
    <ram:DuePayableAmount>596.84</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-10 Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/SpecifiedTradeSettlementHeaderMonetarySummation[1]

Vollständige Dateien im Testkorpus: br-co-10-summe-positionen-falsch_cii.xml (falsch) und standard_cii.xml (richtig).

Testdateien zu BR-CO-10

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Prüfausdruck:

xs:decimal(ram:LineTotalAmount) = round(xs:decimal(sum(../../ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)) * xs:decimal(100)) div xs:decimal(100)

UBL

Kontext:

cac:LegalMonetaryTotal

Prüfausdruck:

(xs:decimal(cbc:LineExtensionAmount) = xs:decimal(round(sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)) * 10 * 10) div 100))

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