Un seul ram:RoleCode au maximum pour l’acheteur

Erreur FX-SCH-A-000694 Factur-X

L'élément 'ram:RoleCode' ne peut apparaître qu'une fois au maximum.

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

ram:RoleCode apparaît plusieurs fois dans ram:BuyerTradeParty. L’élément ne peut apparaître qu’une fois au maximum ; il peut également être absent.

Ce que signifie la règle

Dans ce contexte, les informations de l’acheteur autorisent un seul code de rôle au maximum afin d’éviter plusieurs codes de rôle pour le même acheteur.

Veuillez indiquer le code de rôle de l’acheteur une seule fois au maximum

Les informations de l’acheteur contiennent plusieurs éléments ram:RoleCode. L’élément ne peut apparaître qu’une fois au maximum et peut également être omis.

Que faire ?
  1. Vérifiez si ram:BuyerTradeParty contient plusieurs éléments ram:RoleCode.
  2. Supprimez les éléments ram:RoleCode en trop ou omettez cet élément.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:BuyerTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
  <ram:RoleCode>B</ram:RoleCode>
</ram:BuyerTradeParty>
✓ Correct
<ram:BuyerTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
</ram:BuyerTradeParty>
Détails techniques

Le test XPath count(ram:RoleCode)<=1 limite à un au maximum le nombre d’éléments enfants directs ram:RoleCode.

Où la règle s'applique

La règle s’applique à ram:RoleCode dans les informations de l’acheteur ram:BuyerTradeParty.

Message d'origine du Schematron
Element 'ram:RoleCode' may occur at maximum 1 times.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ ram:BuyerTradeParty
Expression de contrôle (assert/@test)
count(ram:RoleCode)<=1