# BR-CO-07 Grund und Code des Positionsnachlasses müssen übereinstimmen

Der Code des Positionsnachlassgrunds (BT-140) und der Positionsnachlassgrund (BT-139) müssen dieselbe Art des Nachlassgrunds bezeichnen.

## Problembeschreibung

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

## Kontext und Bedeutung

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

## Lösung

Sorgen Sie innerhalb des Positionsnachlasses dafür, dass Freitextgrund (BT-139) und Grundcode (BT-140) denselben Nachlass beschreiben, z. B. Code 95 (Rabatt) mit dem Text „Musterrabatt“. Ist der Betrag in Wahrheit ein Aufschlag, bilden Sie ihn als Positionszuschlag (BG-28) ab.

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

## Gültige Beispiele

- BT-140 = 95 (Rabatt) mit BT-139 = "Musterrabatt"

## Ungültige Beispiele

- BT-140 = 95 (Rabatt) mit BT-139 = "Verpackungszuschlag"

## Code-Beispiele

### Gültiges XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Sample discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

### Ungültiges XML
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Packaging surcharge</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BT-139 Grund des Positionsnachlasses](/resources/xrechnung/bt-139-invoice-line-allowance-reason)
- [BT-140 Code des Positionsnachlassgrunds](/resources/xrechnung/bt-140-invoice-line-allowance-reason-code)

## Verwandte Regeln

- [BR-CO-05](/resources/kosit-validator-errors/br-co-05-allowance-reason-code-match)
- [BR-CO-23](/resources/kosit-validator-errors/br-co-23-line-allowance-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.
