# BR-38 Reden of redencode van de documenttoeslag is verplicht

Elke toeslag op documentniveau (BG-21) moet een reden voor de toeslag (BT-104) of een redencode (BT-105) bevatten.

## Probleembeschrijving

> **FOUT**: Bedrijfsregel van EN 16931 (CEN)

## Context en betekenis

Dit is een kernregel van EN 16931 en de tegenhanger van BR-33 voor toeslagen. De reden maakt voor de koper controleerbaar waarvoor de toeslag wordt berekend, bijvoorbeeld vracht of verzekering. De fout ontstaat vaak als een ERP alleen het toeslagbedrag exporteert zonder omschrijving of UNCL7161-code; vul ten minste één van beide in. Staan beide er, dan moeten ze volgens BR-CO-06 dezelfde reden beschrijven.

## Oplossing

Voeg de tekst cbc:AllowanceChargeReason of de code cbc:AllowanceChargeReasonCode (UNCL7161) toe; als beide aanwezig zijn, moeten ze dezelfde reden beschrijven.

- [XML valideren](/nl/xrechnung-validator?source=resource&rule=BR-38)
- [Factuur converteren](/nl/pdf-to-xrechnung?source=resource&rule=BR-38)

## Geldige voorbeelden

- BT-104 = "Vracht"
- BT-105 = FC (vrachtkosten)

## Ongeldige voorbeelden

- Toeslag met alleen bedrag, zonder reden of redencode

## Codevoorbeelden

### Geldig XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
```

### Ongeldig XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
```

## Betrokken velden

- [BT-104 Reden documenttoeslag](/resources/xrechnung/bt-104-document-level-charge-reason)
- [BT-105 Redencode documenttoeslag](/resources/xrechnung/bt-105-document-level-charge-reason-code)

## Gerelateerde regels

- [BR-36](/resources/kosit-validator-errors/br-36-document-charge-amount-required)
- [BR-37](/resources/kosit-validator-errors/br-37-document-charge-vat-category-required)
- [BR-CO-06](/resources/kosit-validator-errors/br-co-06-charge-reason-code-match)

## Validatietools

- [Officiële KoSIT-validator](https://github.com/itplr-kosit/validator): Draai de officiële KoSIT-validator met de XRechnung-configuratie om EN 16931- en XRechnung-regels te controleren.
- [PDF naar XRechnung converteren](/pdf-to-xrechnung): Vind validatiefouten tijdens de conversie en controleer elke correctie.

## Gerelateerde bronnen

- [Officiële specificatie](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle validatiefouten](/resources/kosit-validator-errors): Overzicht van de hier uitgelegde validatieregels uit EN 16931, XRechnung en Peppol.
