# BR-31 Betrag des Nachlasses auf Dokumentebene ist erforderlich

Jeder Nachlass auf Dokumentebene (BG-20) muss einen Betrag des Nachlasses auf Dokumentebene (BT-92) enthalten.

## Problembeschreibung

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

## Kontext und Bedeutung

Dies ist eine Kernregel der EN 16931. Ein Nachlass auf Dokumentebene (BG-20) mindert den Rechnungsgesamtbetrag ohne Umsatzsteuer (BT-109) und die Steuerbasis; ohne Betrag kann der Empfänger die Summen nicht nachrechnen. Das UBL-Schema verlangt cbc:Amount in cac:AllowanceCharge bereits, daher erscheint BR-31 vor allem bei CII-Rechnungen, deren Nachlass nur einen Prozentsatz (ram:CalculationPercent) oder einen Grund enthält, etwa wenn nur der Rabattsatz bekannt ist.

## Lösung

Ergänzen Sie cbc:Amount im cac:AllowanceCharge auf Dokumentebene mit cbc:ChargeIndicator false (CII: ram:ActualAmount in ram:SpecifiedTradeAllowanceCharge). Ist nur ein Prozentsatz bekannt, berechnen Sie den Betrag als Basisbetrag × Prozentsatz ÷ 100.

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

## Gültige Beispiele

- BT-92 = 20,00 bei einem Nachlass auf Dokumentebene

## Ungültige Beispiele

- CII-Nachlass auf Dokumentebene mit Grund und Prozentsatz, aber ohne ram:ActualAmount (BT-92); in UBL ist ein cac:AllowanceCharge ohne cbc:Amount bereits ein XML-Schemafehler

## Code-Beispiele

### Gültiges XML
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>2.00</ram:CalculationPercent>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:ActualAmount>20.00</ram:ActualAmount>
  <ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

### Ungültiges XML
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>2.00</ram:CalculationPercent>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

## Betroffene Felder

- [BT-92 Betrag des Nachlasses auf Dokumentebene](/resources/xrechnung/bt-92-document-level-allowance-amount)

## Verwandte Regeln

- [BR-32](/resources/kosit-validator-errors/br-32-document-allowance-vat-category-required)
- [BR-33](/resources/kosit-validator-errors/br-33-document-allowance-reason-required)
- [BR-36](/resources/kosit-validator-errors/br-36-document-charge-amount-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.
