BR-CO-10: Summe der Positionen (BT-106) stimmt nicht
BT-106 muss exakt der Summe aller Positionsnettobeträge (BT-131) entsprechen.
Steckbrief
- Regel
BR-CO-10- Schweregrad
- Fehler – die Rechnung ist ungültig
- Regelwerk
- EN 16931 – gilt für XRechnung und ZUGFeRD/Factur-X
- Betroffene Felder
- BT-106, BT-131
- Syntax
- CII & UBL
Rechnung jetzt prüfen
PDF oder XML hochladen – kostenlos, ohne Anmeldung, gegen die offiziellen Regelwerke.
Zum Online-ValidatorOffizieller Wortlaut
[BR-CO-10] Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).
Quelle: offizielle Schematron zur EN 16931 (CEN), wie sie auch in XRechnung und ZUGFeRD/Factur-X geprüft wird.
Was die Regel verlangt
Die Summe der Positionsnettobeträge (BT-106) muss exakt der Summe aller Positionsnettobeträge (BT-131) entsprechen – auf den Cent, ohne Toleranz. Die Regel gehört zur EN 16931 und gilt deshalb für XRechnung ebenso wie für ZUGFeRD und Factur-X.
Nachlässe und Zuschläge auf Belegebene (BG-20, BG-21) gehören nicht in BT-106; sie gehen erst in den Gesamtbetrag ohne Umsatzsteuer (BT-109) ein. Positionsrabatte dagegen sind im Positionsnettobetrag bereits enthalten.
Typische Ursachen
- Rundung: BT-106 wird aus ungerundeten Zwischenwerten (Menge × Preis) gebildet, die Positionen stehen gerundet in der XML.
- Ein Rabatt auf die ganze Rechnung wurde schon in BT-106 abgezogen.
- Positionen wurden nachträglich entfernt oder hinzugefügt, die Summe aber nicht neu berechnet.
- Gutschrift- oder Minderpositionen mit negativem Betrag fehlen in der Summe.
So sieht es im XML aus
<ram:IncludedSupplyChainTradeLineItem> <!-- Position 1 -->
… <ram:LineTotalAmount>300.00</ram:LineTotalAmount> …
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem> <!-- Position 2 -->
… <ram:LineTotalAmount>49.99</ram:LineTotalAmount> …
</ram:IncludedSupplyChainTradeLineItem>
…
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>350.00</ram:LineTotalAmount> <!-- BT-106: 300.00 + 49.99 = 349.99 -->
…
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>349.99</ram:LineTotalAmount>
…
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
In UBL ist BT-106 cac:LegalMonetaryTotal/cbc:LineExtensionAmount.
Lösung in C#
Runden Sie jeden Positionsnettobetrag auf zwei Nachkommastellen, bevor Sie ihn setzen, und bilden Sie die Summe dann aus genau diesen Werten. Mit dem Facturexa Creator:
// BT-106 aus den Positionen berechnen, nicht getrennt führen
rechnung.LineTotalAmount = rechnung.TradeLineItems.Sum(p => p.LineTotalAmount);
Tipp: Prüfen Sie erzeugte Rechnungen vor dem Versand mit dem Facturexa Validator – er meldet BR-CO-10 offline in Ihrer eigenen Anwendung.