Au maximum une subdivision de pays dans l’adresse postale du lieu d’expédition

Erreur FX-SCH-A-000804 Factur-X

L'élément 'ram:CountrySubDivisionName' 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:PostalTradeAddress du lieu d’expédition contient plusieurs éléments ram:CountrySubDivisionName. Cet élément ne peut apparaître qu’une seule fois au maximum dans l’adresse postale.

Ce que signifie la règle

ram:CountrySubDivisionName désigne une subdivision du pays dans l’adresse postale. Plusieurs entrées de ce type ne sont pas autorisées dans ce contexte XML.

Veuillez indiquer au maximum une subdivision de pays dans l’adresse postale du lieu d’expédition

ram:CountrySubDivisionName est indiqué plusieurs fois dans l’adresse postale du lieu d’expédition. Vous pouvez ajuster le XML pour que cet élément apparaisse une seule fois au maximum.

Que faire ?
  1. Repérez ram:CountrySubDivisionName dans ram:PostalTradeAddress de ram:ShipFromTradeParty.
  2. Supprimez les éléments en double afin qu’il n’en reste 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:PostalTradeAddress>
  <ram:CountrySubDivisionName/>
  <ram:CountrySubDivisionName/>
</ram:PostalTradeAddress>
✓ Correct
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName/>
</ram:PostalTradeAddress>
Détails techniques

Le contrôle compte les éléments ram:CountrySubDivisionName directement présents dans ram:PostalTradeAddress et exige qu’il n’y en ait pas plus d’un.

Où la règle s'applique

La règle s’applique à ram:CountrySubDivisionName dans ram:PostalTradeAddress de ram:ShipFromTradeParty.

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