Unité de mesure de la ligne requise

Erreur BR-FXEXT-BR-23 Factur-X

Une ligne de facture (BG-25) doit comporter un code d’unité de mesure de la quantité facturée (BT-130) si le « Sous-type de la ligne de facture » (BT-X-8) a la valeur « Ligne normale (cas standard) » (DETAIL) ou n’est pas spécifié.

Règle obligatoire : tant qu'elle n'est pas respectée, la facture est invalide et sera rejetée par les validateurs.
Ce qui ne va pas

L’attribut unitCode manque à BilledQuantity dans SpecifiedLineTradeDelivery. Cela s’applique lorsque LineStatusReasonCode n’est pas renseigné ou vaut DETAIL.

Ce que signifie la règle

Le code d’unité de mesure indique l’unité dans laquelle la quantité facturée est exprimée. Sans ce code, la valeur de la quantité n’est pas entièrement définie.

Champs concernés BG-25 BT-130 BT-X-8
Veuillez préciser l’unité de mesure de la ligne de facture

L’unité de la quantité facturée manque sur cette ligne de facture. Ajoutez le code d’unité à la quantité.

Que faire ?
  1. Vérifiez le statut dans AssociatedDocumentLineDocument.
  2. Pour une ligne sans code de statut ou avec DETAIL, renseignez le code d’unité au moyen de TradeLineItem.UnitCode.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedLineTradeDelivery>
  <ram:BilledQuantity>2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
✓ Correct
<ram:SpecifiedLineTradeDelivery>
  <ram:BilledQuantity unitCode="C62">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
À vérifier dans FactoorSharp
  • AssociatedDocument.LineStatusReasonCode (BT-X-8)
  • LineStatusReasonCodes (BT-X-8)
  • TradeLineItem.UnitCode (BT-130)
Détails techniques

Le test vérifie la présence de l’attribut unitCode sur SpecifiedLineTradeDelivery/BilledQuantity pour les lignes sans code de statut et pour celles avec DETAIL.

Où la règle s'applique

La règle s’applique à une ligne de facture IncludedSupplyChainTradeLineItem dont AssociatedDocumentLineDocument ne contient pas de LineStatusReasonCode ou dont la valeur est DETAIL.

Message d'origine du Schematron
An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130) if the "Subtype of invoice line item" (BT-X-8) has the value "Normal line item (standard case)" (DETAIL) or is not specified.
Contexte (rule/@context)
//ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument[ not(ram:LineStatusReasonCode) or ram:LineStatusReasonCode = 'DETAIL' ]
Expression de contrôle (assert/@test)
(../ram:SpecifiedLineTradeDelivery/ram:BilledQuantity/@unitCode)