# BR-41 Kortingsbedrag op regelniveau is verplicht

Elke regelkorting (BG-27) moet een kortingsbedrag op regelniveau (BT-136) bevatten.

## Probleembeschrijving

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

## Context en betekenis

Dit is een kernregel van EN 16931. Een regelkorting (BG-27) verlaagt het nettobedrag van de factuurregel (BT-131); zonder bedrag kan de ontvanger de regelberekening niet narekenen. In UBL 2.1 is cbc:Amount al schema-verplicht; ontbreekt het, dan meldt de validator eerst een XML-schemafout. BR-41 ziet u vooral in CII, wanneer een regelkorting alleen een percentage en geen ram:ActualAmount bevat.

## Oplossing

Voeg cbc:Amount toe aan de cac:AllowanceCharge van de regel waar cbc:ChargeIndicator false is (CII: ram:ActualAmount in ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge). Is alleen een percentage bekend, bereken het bedrag dan als basisbedrag × percentage ÷ 100.

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

## Geldige voorbeelden

- BT-136 = 3,00 bij een regelkorting

## Ongeldige voorbeelden

- CII-regelkorting met reden en percentage maar zonder ram:ActualAmount (BT-136); in UBL geeft een cac:AllowanceCharge zonder cbc:Amount al een XML-schemafout

## Codevoorbeelden

### Geldig XML
```
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator>
      <udt:Indicator>false</udt:Indicator>
    </ram:ChargeIndicator>
    <ram:CalculationPercent>10.00</ram:CalculationPercent>
    <ram:BasisAmount>30.00</ram:BasisAmount>
    <ram:ActualAmount>3.00</ram:ActualAmount>
    <ram:Reason>Damaged packaging</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>
```

### Ongeldig XML
```
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator>
      <udt:Indicator>false</udt:Indicator>
    </ram:ChargeIndicator>
    <ram:CalculationPercent>10.00</ram:CalculationPercent>
    <ram:BasisAmount>30.00</ram:BasisAmount>
    <ram:Reason>Damaged packaging</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>
```

## Betrokken velden

- [BT-136 Kortingsbedrag op regelniveau](/resources/xrechnung/bt-136-invoice-line-allowance-amount)

## Gerelateerde regels

- [BR-42](/resources/kosit-validator-errors/br-42-line-allowance-reason-required)
- [BR-43](/resources/kosit-validator-errors/br-43-line-charge-amount-required)

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