# BR-CO-23 Positionsnachlass benötigt Grund oder Grundcode

Jeder Positionsnachlass (BG-27) muss einen Positionsnachlassgrund (BT-139) oder einen Code des Positionsnachlassgrunds (BT-140) enthalten, oder beides.

## Problembeschreibung

Jeder Positionsnachlass (BG-27) muss einen Positionsnachlassgrund (BT-139) oder einen Code des Positionsnachlassgrunds (BT-140) enthalten, oder beides.

> **FEHLER**: XRechnung 3.0

## Kontext und Bedeutung

Diese EN16931-Kernregel ist das Gegenstück auf Positionsebene zu BR-CO-21 und verlangt, dass jeder Positionsabzug begründet wird.

## Lösung

Ergänzen Sie für jeden Positionsnachlass einen AllowanceChargeReason (BT-139) und/oder AllowanceChargeReasonCode (BT-140).

- validate
- convert

## Gültige Beispiele

- Positionsnachlass mit BT-140 = 95 und BT-139 = "Musterrabatt"

## Ungültige Beispiele

- Positionsnachlassbetrag 2,00 ohne BT-139 und ohne BT-140

## 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:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Betroffene Felder

- [BG-27 Positionsnachlässe](/resources/xrechnung)
- [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-07](/resources/kosit-validator-errors/br-co-07-line-allowance-reason-code-match)
- [BR-CO-21](/resources/kosit-validator-errors/br-co-21-document-allowance-reason-required)
- [BR-CO-24](/resources/kosit-validator-errors/br-co-24-line-charge-reason-required)

## Validierungstools

- [Offizieller KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Überprüfen Sie Ihre XRechnung-Dateien gegen alle BR-DE-Regeln.
- [PDF zu XRechnung konvertieren](/pdf-to-xrechnung): Validierungsfehler beim Konvertieren erkennen, prüfen und gezielt beheben.

## Verwandte Ressourcen

- [Offizielle Spezifikation](https://xeinkauf.de/xrechnung/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Vollständige Fehlerliste](/resources/kosit-validator-errors): Übersicht aller deutschen XRechnung-Validierungsregeln.
