# BR-CL-23 Le code d’unité doit provenir des recommandations UN/ECE 20 et 21

Les codes d’unité de mesure, comme l’unité de la quantité facturée (BT-130) et l’unité de la quantité de base du prix (BT-150), doivent provenir de la recommandation UN/ECE 20, y compris les codes de la recommandation 21 préfixés par X.

## Description du problème

> **ERREUR**: Règle de liste de codes EN 16931 (BR-CL)

## Contexte et importance

La règle contrôle l’attribut unitCode de cbc:InvoicedQuantity, cbc:BaseQuantity et cbc:CreditedQuantity en UBL, et de ram:BilledQuantity et ram:BasisQuantity en CII. Elle échoue lorsque l’ERP exporte ses propres abréviations d’unité comme « pce », « PCS » ou « h » ; le contrôle distingue majuscules et minuscules. Associez chaque unité de l’ERP à un seul code de la recommandation 20 dans le référentiel. Exemple : 10 pièces sont en général transmises avec unitCode="C62" (ou "H87" si le destinataire le demande), 2,5 heures avec unitCode="HUR".

## Solution

Utilisez un code valide exactement dans la graphie de la liste, par exemple C62 (un ; le code le plus courant pour les articles comptés, celui qu’écrit Invoice Converter), H87 (pièce ; si le destinataire le demande), KGM (kilogramme), MTR (mètre), LTR (litre), HUR (heure) ou DAY (jour). Les unités d’emballage de la recommandation 21 prennent le préfixe X, par exemple XBX (boîte). PCE et PCS ne sont pas des codes valides.

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

## Exemples valides

- BT-130 = C62 — unité
- BT-130 = H87 — pièce
- BT-130 = KGM — kilogramme

## Exemples invalides

- BT-130 = PCS — pas un code de la recommandation 20 ; utilisez C62 ou H87
- BT-130 = pce — abréviation locale ; utilisez C62 ou H87

## Exemples de code

### XML valide
```
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
```

### XML invalide
```
<cbc:InvoicedQuantity unitCode="PCS">10</cbc:InvoicedQuantity>
```

## Champs concernés

- [BT-130 Code d’unité de la quantité facturée](/resources/xrechnung/bt-130-invoice-line-quantity-unit-of-measure-code)
- [BT-150 Code d’unité de la quantité de base du prix](/resources/xrechnung/bt-150-item-price-base-quantity-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.
