# BR-22 La quantité facturée doit être présente sur chaque ligne de facture

En vertu de la règle EN 16931 BR-22, chaque ligne de facture (BG-25) doit mentionner la quantité facturée dans BT-129 (InvoicedQuantity). La quantité facturée est la base indispensable au calcul du montant net de la ligne.

## Description du problème

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

## Contexte et importance

L’absence de BT-129 empêche la vérification du calcul de la ligne et déclenche l’erreur Schematron BR-22.

## Solution

Dans votre ERP, vérifiez que la quantité facturée est renseignée pour chaque ligne. En UBL 2.1, insérez <cbc:InvoicedQuantity unitCode="H87">5.00</cbc:InvoicedQuantity> sous <cac:InvoiceLine>. En CII, renseignez <ram:BilledQuantity unitCode="H87"> sous <ram:SpecifiedLineTradeDelivery>.

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

## Exemples valides

- Ligne de facture avec BT-129 = 5 et unitCode = « H87 » (5 pièces)
- Ligne de facture avec BT-129 = 12.5 et unitCode = « KGM » (12,5 kg)

## Exemples invalides

- cac:InvoiceLine spécifie le montant net et le prix mais omet cbc:InvoicedQuantity
- Ligne CII avec ram:SpecifiedLineTradeDelivery mais sans ram:BilledQuantity ; en UBL, un <cbc:InvoicedQuantity/> vide est déjà une erreur de schéma XML

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">5</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
```

## Champs concernés

- [BT-129 Quantité facturée](/resources/xrechnung/bt-129-invoice-line-quantity)
- [BG-25 Ligne de facture](/resources/xrechnung/bt-126-invoice-line-identifier)
- [BT-130 Code unité de mesure de la quantité facturée](/resources/xrechnung/bt-130-invoice-line-quantity-unit-of-measure-code)

## Règles associées

- [BR-23](/resources/kosit-validator-errors/br-23-invoice-line-unit-code-must-be-present)
- [BR-24](/resources/kosit-validator-errors/br-24-invoice-line-net-amount-must-be-present)
- [BR-CL-23](/resources/kosit-validator-errors/br-cl-23-unece-rec20-unit-code)

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