# BR-CO-24 Le frais de ligne exige un motif ou un code de motif

Chaque frais de ligne de facture (BG-28) doit contenir un motif de frais de ligne (BT-144) ou un code de motif de frais de ligne (BT-145), ou les deux.

## Description du problème

Chaque frais de ligne de facture (BG-28) doit contenir un motif de frais de ligne (BT-144) ou un code de motif de frais de ligne (BT-145), ou les deux.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Cette règle du noyau EN16931 est l’équivalent au niveau de la ligne de BR-CO-22 et exige que chaque supplément de ligne soit justifié.

## Solution

Pour chaque frais de ligne, ajoutez un AllowanceChargeReason (BT-144) et/ou un AllowanceChargeReasonCode (BT-145).

- validate
- convert

## Exemples valides

- Frais de ligne avec BT-145 = ABL et BT-144 = "Emballage spécial"

## Exemples invalides

- Montant de frais de ligne 3,00 sans BT-144 ni BT-145

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Special packaging</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Champs concernés

- [BG-28 Frais de ligne de facture](/resources/xrechnung)
- [BT-144 Motif de frais de ligne](/resources/xrechnung/bt-144-invoice-line-charge-reason)
- [BT-145 Code du motif de frais de ligne](/resources/xrechnung/bt-145-invoice-line-charge-reason-code)

## Règles associées

- [BR-CO-08](/resources/kosit-validator-errors/br-co-08-line-charge-reason-code-match)
- [BR-CO-22](/resources/kosit-validator-errors/br-co-22-document-charge-reason-required)
- [BR-CO-23](/resources/kosit-validator-errors/br-co-23-line-allowance-reason-required)

## Outils de validation

- [Validateur KoSIT officiel](https://erechnungsvalidator.service-bw.de/): Validez vos fichiers XRechnung par rapport à toutes les règles BR-DE.
- [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://xeinkauf.de/xrechnung/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Aperçu de toutes les règles de validation XRechnung en Allemagne.
