# BR-CO-12 Summe der Zuschläge muss der Gesamtsumme entsprechen

Die Summe der Zuschläge auf Dokumentebene (BT-108) muss der Summe aller Zuschlagsbeträge auf Dokumentebene (BT-99) entsprechen: BT-108 = Σ BT-99.

## Problembeschreibung

> **FEHLER**: EN-16931-Rechen- und Konsistenzregel (BR-CO)

## Kontext und Bedeutung

Diese EN-16931-Berechnungsregel speist die Summenkette: BT-108 geht in den Rechnungsgesamtbetrag ohne Umsatzsteuer ein (BR-CO-13). Der Validator vergleicht BT-108 exakt mit der Summe der Zuschläge auf Dokumentebene. Der Fehler entsteht typischerweise, wenn Versandkosten ergänzt werden, ohne BT-108 anzupassen, wenn BT-108 ohne Zuschlag auf Dokumentebene gefüllt ist oder wenn Positionszuschläge (BG-28) in BT-108 mitgezählt werden, obwohl sie bereits in den Positionsnettobeträgen enthalten sind.

## Lösung

Berechnen Sie BT-108 als exakte Summe aller Zuschlagsbeträge auf Dokumentebene (BT-99) neu und tragen Sie den Wert in cbc:ChargeTotalAmount (UBL) oder ram:ChargeTotalAmount (CII) ein. Gibt es keinen Zuschlag auf Dokumentebene, lassen Sie BT-108 weg oder setzen Sie 0,00.

- [XML validieren](/de/xrechnung-validator?source=resource&rule=BR-CO-12)
- [Rechnung konvertieren](/de/pdf-to-xrechnung?source=resource&rule=BR-CO-12)

## Gültige Beispiele

- BT-99 = 20,00 und BT-99 = 10,00, BT-108 = 30,00
- Kein Zuschlag auf Dokumentebene und BT-108 nicht vorhanden

## Ungültige Beispiele

- BT-99 = 20,00 und BT-99 = 10,00, aber BT-108 = 25,00
- BT-108 = 3,00, obwohl der einzige Zuschlag von 3,00 ein Positionszuschlag (BG-28) ist

## Code-Beispiele

### Gültiges XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight charge</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Additional packaging</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>
  <cbc:ChargeTotalAmount currencyID="EUR">30.00</cbc:ChargeTotalAmount>
</cac:LegalMonetaryTotal>
```

### Ungültiges XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight charge</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Additional packaging</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>
  <cbc:ChargeTotalAmount currencyID="EUR">25.00</cbc:ChargeTotalAmount>
</cac:LegalMonetaryTotal>
```

## Betroffene Felder

- [BT-99 Zuschlagsbetrag auf Dokumentebene](/resources/xrechnung/bt-99-document-level-charge-amount)
- [BT-108 Summe der Zuschläge auf Dokumentebene](/resources/xrechnung/bt-108-sum-of-charges-on-document-level)

## Verwandte Regeln

- [BR-CO-11](/resources/kosit-validator-errors/br-co-11-sum-of-document-allowances-must-match)
- [BR-CO-13](/resources/kosit-validator-errors/br-co-13-invoice-total-without-vat-must-match-totals-chain)

## Validierungstools

- [Offizieller KoSIT Validator](https://github.com/itplr-kosit/validator): Führen Sie den offiziellen KoSIT-Validator mit der XRechnung-Konfiguration aus, um EN-16931- und XRechnung-Regeln zu prüfen.
- [PDF zu XRechnung konvertieren](/pdf-to-xrechnung): Validierungsfehler beim Konvertieren erkennen, prüfen und gezielt beheben.

## Verwandte Ressourcen

- [Offizielle Spezifikation](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle Validierungsfehler](/resources/kosit-validator-errors): Übersicht der hier erklärten Validierungsregeln aus EN 16931, XRechnung und Peppol.
