Référence
Export MarkdownBR-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)
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
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>
</cac:InvoiceLine>