# BR-41 Le montant de la remise de ligne est requis

Chaque remise de ligne (BG-27) doit comporter un montant de remise de ligne (BT-136).

## Description du problème

> **ERREUR**: Règle métier de la norme EN 16931 (CEN)

## Contexte et importance

Il s’agit d’une règle de base de la norme EN 16931. L’erreur apparaît lorsqu’une remise de ligne est exportée avec son pourcentage ou son motif mais sans montant calculé. Sans BT-136, le montant net de la ligne (BT-131) ne peut pas être vérifié, ce qui entraîne souvent aussi une erreur de calcul de ligne. Le schéma UBL impose déjà cbc:Amount : BR-41 apparaît donc surtout sur des lignes CII.

## Solution

Ajoutez cbc:Amount au cac:AllowanceCharge de la ligne dont cbc:ChargeIndicator vaut false (CII : ram:ActualAmount dans ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge). Si seul le pourcentage est connu, calculez le montant : montant de base × pourcentage ÷ 100.

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-41)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-41)

## Exemples valides

- BT-136 = 3.00 sur une remise de ligne

## Exemples invalides

- Remise de ligne CII avec motif et pourcentage mais sans ram:ActualAmount (BT-136) ; en UBL, un cac:AllowanceCharge sans cbc:Amount est déjà une erreur de schéma XML

## Exemples de code

### XML valide
```
<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>
```

### XML invalide
```
<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>
```

## Champs concernés

- [BT-136 Montant de la remise de ligne](/resources/xrechnung/bt-136-invoice-line-allowance-amount)

## Règles associées

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

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
