Un seul code de rôle au maximum pour le destinataire de la facture

Erreur FX-SCH-A-000866 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:InvoiceeTradeParty.

Ce que signifie la règle

La structure autorise au maximum un code de rôle dans ram:RoleCode pour le destinataire de la facture. Plusieurs occurrences ne respectent pas cette exigence.

Veuillez utiliser un seul code de rôle au maximum pour le destinataire de la facture

ram:RoleCode est renseigné plusieurs fois pour le destinataire de la facture. La suppression des occurrences en double permet de vérifier à nouveau la facture.

Que faire ?
  1. Repérez ram:InvoiceeTradeParty.
  2. Vérifiez ses éléments ram:RoleCode et n’en conservez pas plus d’un.
  3. Générez à nouveau la facture et vérifiez-la de nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:InvoiceeTradeParty>
  <ram:RoleCode>1</ram:RoleCode>
  <ram:RoleCode>2</ram:RoleCode>
</ram:InvoiceeTradeParty>
✓ Correct
<ram:InvoiceeTradeParty>
  <ram:RoleCode>1</ram:RoleCode>
</ram:InvoiceeTradeParty>
Détails techniques

Le test compte les éléments ram:RoleCode directement contenus dans ram:InvoiceeTradeParty et exige un nombre inférieur ou égal à un.

Où la règle s'applique

La règle s’applique à ram:RoleCode dans ram:InvoiceeTradeParty.

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