Référence à une ligne de facture existante

Erreur BR-FXEXT-11 Factur-X

Chaque « ID de ligne parente » (BT-X-304) doit faire référence à un « identifiant de ligne de facture » (BT-126) existant.

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

La valeur de ParentLineID ne correspond au LineID d’aucune ligne de facture. La référence à la ligne parente ne peut donc pas être résolue.

Ce que signifie la règle

ParentLineID doit faire référence à l’identifiant d’une ligne de facture existante afin que le rattachement à la ligne parente puisse être suivi.

Champs concernés BT-X-304 BT-126
Veuillez référencer une ligne de facture existante

L’identifiant de ligne parente ParentLineID ne correspond à aucun LineID de la facture. Rattachez la ligne à l’aide de l’identifiant d’une ligne de facture existante.

Que faire ?
  1. Vérifiez la valeur dans AssociatedDocument.ParentLineID.
  2. Assurez-vous qu’elle correspond à un AssociatedDocument.LineID existant.
  3. Générez de nouveau la facture et vérifiez-la une nouvelle fois.
À quoi cela ressemble
✗ Déclenche le message
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>1</ram:LineID>
    <ram:ParentLineID>9</ram:ParentLineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
✓ Correct
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>1</ram:LineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
  <ram:AssociatedDocumentLineDocument>
    <ram:LineID>2</ram:LineID>
    <ram:ParentLineID>1</ram:ParentLineID>
  </ram:AssociatedDocumentLineDocument>
</ram:IncludedSupplyChainTradeLineItem>
À vérifier dans FactoorSharp
  • AssociatedDocument.LineID (BT-126)
  • TradeLineItem.AssociatedDocument (BT-126)
  • AssociatedDocument.ParentLineID (BT-X-304)
  • TradeLineItem.SetParentLineId(parentLineId) (BT-X-304)
Détails techniques

Le test compare la valeur normalisée de ParentLineID aux valeurs normalisées de LineID de toutes les lignes de facture et exige au moins une correspondance.

Où la règle s'applique

La règle s’applique aux lignes de facture dans IncludedSupplyChainTradeLineItem qui comportent un ParentLineID.

Message d'origine du Schematron
Each "ID of parent line" (BT-X-304) must refer to an existing "ID of invoice item" (BT-126).
Contexte (rule/@context)
//ram:IncludedSupplyChainTradeLineItem [normalize-space(ram:AssociatedDocumentLineDocument/ ram:ParentLineID) != '']
Expression de contrôle (assert/@test)
some $p in //ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument/ ram:LineID satisfies normalize-space($p) = normalize-space(ram:AssociatedDocumentLineDocument/ ram:ParentLineID)