# BR-26 Le prix net de l’article doit être présent sur chaque ligne de facture

Selon la règle EN 16931 BR-26, chaque ligne de facture (BG-25) doit inclure le prix net de l’article dans BT-146 (PriceAmount). Le prix net correspond au prix hors TVA d’une unité (ou de la quantité de base BT-149), après déduction des remises sur le prix. Même pour un article gratuit (0.00 EUR), le prix net doit être expressément déclaré pour permettre la vérification du calcul.

## Description du problème

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

> **Où BR-26 est contrôlée**
>
> Un validateur contrôle une facture électronique par étapes. D’abord, le fichier doit être un XML bien formé conforme au schéma UBL ou CII (XSD). Viennent ensuite les règles métier de l’EN 16931 : règles de base BR, calculs BR-CO, listes de codes BR-CL, décimales BR-DEC et règles par catégorie de TVA comme BR-S. Puis les règles nationales ou de réseau sélectionnées par BT-24 : BR-DE pour XRechnung, PEPPOL-EN16931 pour Peppol BIS Billing. Le rapport liste chaque règle en échec : une erreur signifie rejet, des avertissements seuls signifient toujours acceptation. BR-26 : règle de base EN 16931, étape « Règles EN 16931 ».

## Contexte et importance

Il s’agit d’une règle de base de la norme EN 16931. Sans BT-146, le destinataire ne peut pas vérifier le calcul du montant net de la ligne. En Peppol BIS Billing 3.0, la règle PEPPOL-EN16931-R120 (formule du montant net de ligne) ne peut pas non plus être évaluée ; le validateur KoSIT pour XRechnung n’exécute pas les règles Peppol. BR-26 apparaît surtout lorsqu’une ligne est exportée avec la seule quantité et le total, par exemple une prestation forfaitaire.

## Solution

Dans votre ERP, vérifiez que le prix unitaire net est renseigné pour chaque ligne. En UBL 2.1, insérez <cac:Price><cbc:PriceAmount currencyID="EUR">45.00</cbc:PriceAmount></cac:Price> sous <cac:InvoiceLine>. En CII, renseignez <ram:ChargeAmount> sous <ram:NetPriceProductTradePrice>. Pour les articles gratuits, indiquez 0.00.

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

## Exemples valides

- Prix de ligne de facture avec BT-146 = 45.00 EUR et quantité de base 1
- Prix de ligne pour article promotionnel offert avec BT-146 = 0.00 EUR

## Exemples invalides

- cac:InvoiceLine contient la quantité et l’article mais omet totalement l’élément cac:Price
- Ligne CII sans ram:NetPriceProductTradePrice dans ram:SpecifiedLineTradeAgreement ; en UBL, un <cbc:PriceAmount/> vide est déjà une erreur de schéma XML

## Exemples de code

### XML valide
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">45.00</cbc:PriceAmount>
  <cbc:BaseQuantity unitCode="H87">1</cbc:BaseQuantity>
</cac:Price>
```

### XML invalide
```
<cac:Item>
  <cbc:Name>Softwarelizenz</cbc:Name>
</cac:Item>
```

## Champs concernés

- [BT-146 Prix net de l’article](/resources/xrechnung/bt-146-item-net-price)
- [BG-29 Détails du prix](/resources/xrechnung/bt-146-item-net-price)
- [BG-25 Ligne de facture](/resources/xrechnung/bt-126-invoice-line-identifier)

## Règles associées

- [BR-24](/resources/kosit-validator-errors/br-24-invoice-line-net-amount-must-be-present)
- [PEPPOL-EN16931-R120](/resources/kosit-validator-errors/peppol-en16931-r120-line-net-amount-formula)

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