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

> **Waar BR-41 wordt gecontroleerd**
>
> Een validator controleert een e-factuur in stappen. Eerst moet het bestand goed gevormde XML zijn die past bij het UBL- of CII-schema (XSD). Dan volgen de bedrijfsregels van EN 16931: BR-kernregels, BR-CO-berekeningen, BR-CL-codelijsten, BR-DEC-decimalen en regels per btw-categorie zoals BR-S. Daarna komen de nationale of netwerkregels die BT-24 kiest: BR-DE voor XRechnung, PEPPOL-EN16931 voor Peppol BIS Billing. Het rapport noemt elke geschonden regel: één fout betekent afwijzen, alleen waarschuwingen betekenen nog steeds accepteren. BR-41: kernregel van EN 16931, gemeld in de stap “EN 16931-regels”.

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