Aller au contenu principal

Référence

Export Markdown

BR-23 Le code d’unité de mesure de la quantité facturée doit être spécifié

Selon la règle EN 16931 BR-23, chaque quantité facturée dans BT-129 doit comporter un code d’unité de mesure dans BT-130 (@unitCode). Le code doit être issu des recommandations CEE-ONU 20 ou 21 (ex. « H87 » pour pièce, « C62 » pour unité, « KGM » pour kilogramme, « HUR » pour heure). Sans attribut unitCode, l’unité de la quantité facturée reste indéterminée.

Description du problème

ERREUR

Règle métier de la norme EN 16931 (CEN)

Chaîne de validation interactive

Cliquez sur une étape pour voir ce qu’elle contrôle, ou saisissez un identifiant de règle pour trouver l’étape qui la signale.

Essayer:

BR-23 règle de base EN 16931

Signalée à l’étape 2 : Règles EN 16931.

Niveau erreur : le rapport recommande de rejeter la facture.

Étape 2 · Ce qui est contrôlé

  • Les termes métier essentiels sont présents (BR-01 à BR-65).
  • Les totaux concordent et les champs liés sont cohérents (BR-CO) ; codes et décimales sont valides (BR-CL, BR-DEC).
  • Chaque catégorie de TVA est cohérente : S, Z, E, AE, K, G, O, L, M (BR-S, BR-Z, BR-AE, BR-IC …).

Codes d’exemple

Correction type

Recalculez les totaux et la TVA à partir des lignes, et corrigez la catégorie de TVA dans les données source.

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-23 : règle de base EN 16931, étape « Règles EN 16931 ». Jeux de règles : validateur KoSIT 1.6.3 avec la configuration XRechnung du 31 août 2026 (artefacts EN 16931 1.3.16), Peppol BIS Billing 3.0.21.

Contexte et importance

Il s’agit d’une règle de base de la norme EN 16931. Une quantité sans attribut unitCode enfreint BR-23 ; un attribut avec un code vide ou inconnu enfreint plutôt la règle de liste de codes BR-CL-23. BR-23 apparaît surtout lorsque l’export n’a aucune correspondance d’unités et écrit la quantité seule, tandis qu’une unité ERP comme « pce » recopiée dans unitCode déclenche BR-CL-23.

Solution

Dans votre ERP, vérifiez que chaque quantité facturée comporte un code d’unité CEE-ONU valide. En UBL 2.1, renseignez l’attribut unitCode : <cbc:InvoicedQuantity unitCode="H87">10.00</cbc:InvoicedQuantity>. En CII, renseignez l’attribut unitCode : <ram:BilledQuantity unitCode="H87">10.00</ram:BilledQuantity>.

Actions rapides

Exemples valides

  • Ligne de facture avec BT-129 = 10 et BT-130 = « H87 » (10 pièces)
  • Ligne de facture avec BT-129 = 40.5 et BT-130 = « HUR » (40,5 heures)

Exemples invalides

  • cac:InvoiceLine contient une quantité numérique mais omet l’attribut unitCode (<cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>)
  • Une ligne d’avoir avec <cbc:CreditedQuantity>2</cbc:CreditedQuantity> sans attribut unitCode ; un unitCode vide ou inconnu déclenche plutôt la règle de liste de codes BR-CL-23

Exemples de code

XML valide
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
</cac:InvoiceLine>
XML invalide
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>
</cac:InvoiceLine>

Champs concernés

Outils de validation