# BR-42 Grund oder Grundcode des Nachlasses auf Positionsebene ist erforderlich

Jeder Nachlass auf Positionsebene (BG-27) muss einen Grund des Nachlasses auf Positionsebene (BT-139) oder einen Grundcode des Nachlasses auf Positionsebene (BT-140) enthalten.

## Problembeschreibung

> **FEHLER**: Geschäftsregel der EN 16931 (CEN)

## Kontext und Bedeutung

Dies ist eine Kernregel der EN 16931 und die Entsprechung von BR-33 auf Positionsebene. Jeder Positionsnachlass braucht einen Grund, damit der Käufer ihn prüfen kann, etwa beschädigte Verpackung oder ein Aktionspreis. Der Fehler entsteht, wenn ein ERP nur den Rabattbetrag der Position ohne Begründungstext oder UNCL5189-Code exportiert; geben Sie mindestens eines davon an. Sind beide angegeben, müssen sie nach BR-CO-07 denselben Grund beschreiben.

## Lösung

Ergänzen Sie den Text cbc:AllowanceChargeReason oder den Code cbc:AllowanceChargeReasonCode (UNCL5189) beim Positionsnachlass; wenn beide angegeben sind, müssen sie denselben Grund beschreiben.

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

## Gültige Beispiele

- BT-139 = „Beschädigte Verpackung“
- BT-140 = 95 (Rabatt)

## Ungültige Beispiele

- Positionsnachlass nur mit Betrag, ohne Grund oder Grundcode

## Code-Beispiele

### Gültiges XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Damaged packaging</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>
```

### Ungültiges XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>
```

## Betroffene Felder

- [BT-139 Grund des Nachlasses auf Positionsebene](/resources/xrechnung/bt-139-invoice-line-allowance-reason)
- [BT-140 Grundcode des Nachlasses auf Positionsebene](/resources/xrechnung/bt-140-invoice-line-allowance-reason-code)

## Verwandte Regeln

- [BR-41](/resources/kosit-validator-errors/br-41-line-allowance-amount-required)
- [BR-CO-07](/resources/kosit-validator-errors/br-co-07-line-allowance-reason-code-match)

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