# BR-CO-08 Grund und Code des Positionszuschlags müssen übereinstimmen

Der Code des Positionszuschlagsgrunds (BT-145) und der Positionszuschlagsgrund (BT-144) müssen dieselbe Art des Zuschlagsgrunds bezeichnen.

## Problembeschreibung

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

## Kontext und Bedeutung

Diese Regel ist das Gegenstück zu BR-CO-06 auf Positionsebene. Die EN-16931-Prüfartefakte für UBL und CII, die der KoSIT-Validator verwendet, enthalten für BR-CO-08 nur eine Platzhalterprüfung, die immer erfüllt ist; BR-CO-08 erscheint daher nie in einem Prüfbericht. Die Anforderung gilt trotzdem: Ein Positionszuschlag, dessen Grundcode (BT-145) und Text (BT-144) sich widersprechen, etwa Code ABL (Zusätzliche Verpackung) mit dem Text „Treuerabatt“, führt beim Käufer zu manueller Prüfung. Typische Ursache ist ein Rabatt, der im ERP als negativer Zuschlag erfasst wurde.

## Lösung

Sorgen Sie innerhalb des Positionszuschlags dafür, dass Freitextgrund (BT-144) und Grundcode (BT-145) denselben Zuschlag beschreiben, z. B. Code ABL (Zusätzliche Verpackung) mit dem Text „Sonderverpackung“. Ist der Betrag in Wahrheit ein Rabatt, bilden Sie ihn als Positionsnachlass (BG-27) ab.

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

## Gültige Beispiele

- BT-145 = ABL (Zusätzliche Verpackung) mit BT-144 = "Sonderverpackung"

## Ungültige Beispiele

- BT-145 = ABL (Zusätzliche Verpackung) mit BT-144 = "Treuerabatt"

## Code-Beispiele

### Gültiges XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Special packaging</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

### Ungültiges XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BT-144 Grund des Positionszuschlags](/resources/xrechnung/bt-144-invoice-line-charge-reason)
- [BT-145 Code des Positionszuschlagsgrunds](/resources/xrechnung/bt-145-invoice-line-charge-reason-code)

## Verwandte Regeln

- [BR-CO-06](/resources/kosit-validator-errors/br-co-06-charge-reason-code-match)
- [BR-CO-24](/resources/kosit-validator-errors/br-co-24-line-charge-reason-required)

## 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.
