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
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
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.
</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></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:
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.
</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> </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:
Vollständige Dateien im Testkorpus: br-co-10-summe-positionen-falsch_cii.xml (falsch) und standard_cii.xml (richtig).
Testdateien zu BR-CO-10
- br-co-10-summe-positionen-falsch_ubl.xml – Summe der Positionsnettobeträge (BT-106) um 1 Cent zu hoch, Folgebeträge angepasst
- br-co-10-summe-positionen-falsch_cii.xml – Summe der Positionsnettobeträge (BT-106) um 1 Cent zu hoch, Folgebeträge angepasst
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.