# BR-36 Le montant des frais au niveau du document est requis

Chaque poste de frais au niveau du document (BG-21) doit comporter un montant de frais au niveau du document (BT-99).

## 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, pendant de BR-31 pour les frais. L’erreur apparaît lorsque des frais globaux (port, emballage, frais de dossier) sont exportés avec leur motif ou leur pourcentage (BT-101) mais sans montant. Sans BT-99, le total des frais au niveau du document (BT-108) et le total hors TVA (BT-109) ne peuvent pas être recalculés. Le schéma UBL impose déjà cbc:Amount : BR-36 apparaît donc surtout sur des factures CII.

## Solution

Ajoutez cbc:Amount au cac:AllowanceCharge de niveau document dont cbc:ChargeIndicator vaut true (CII : ram:ActualAmount dans ram:SpecifiedTradeAllowanceCharge avec ram:ChargeIndicator à true).

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

## Exemples valides

- BT-99 = 9.90 sur des frais au niveau du document (ex. transport)

## Exemples invalides

- Frais CII au niveau du document avec motif mais sans ram:ActualAmount (BT-99) ; en UBL, un cac:AllowanceCharge sans cbc:Amount est déjà une erreur de schéma XML

## Exemples de code

### XML valide
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>9.90</ram:ActualAmount>
  <ram:Reason>Freight</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

### XML invalide
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:Reason>Freight</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

## Champs concernés

- [BT-99 Montant des frais au niveau du document](/resources/xrechnung/bt-99-document-level-charge-amount)

## Règles associées

- [BR-37](/resources/kosit-validator-errors/br-37-document-charge-vat-category-required)
- [BR-38](/resources/kosit-validator-errors/br-38-document-charge-reason-required)
- [BR-31](/resources/kosit-validator-errors/br-31-document-allowance-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.
