La subdivision du pays ne peut apparaître qu’une seule fois

Erreur FX-SCH-A-001118 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

PostalTradeAddress contient plusieurs éléments CountrySubDivisionName. Cet élément ne peut apparaître qu’une seule fois au maximum.

Ce que signifie la règle

CountrySubDivisionName contient le nom d’une subdivision du pays dans l’adresse postale. Plusieurs occurrences répéteraient cette information dans une même adresse.

Veuillez indiquer au maximum une subdivision du pays dans l’adresse de livraison finale

La subdivision du pays est indiquée plusieurs fois dans l’adresse postale du destinataire final des marchandises. Un seul CountrySubDivisionName au maximum est autorisé.

Que faire ?
  1. Ouvrez le PostalTradeAddress du destinataire final des marchandises.
  2. Supprimez les éléments CountrySubDivisionName en double afin qu’il n’en reste qu’un au maximum.
  3. Générez à nouveau la facture et vérifiez-la une nouvelle fois.
À quoi cela ressemble
✗ Déclenche le message
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>A</ram:CountrySubDivisionName>
  <ram:CountrySubDivisionName>B</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
✓ Correct
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>A</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
Détails techniques

Le test compte les éléments directs ram:CountrySubDivisionName dans ram:PostalTradeAddress et en autorise un au maximum.

Où la règle s'applique

La règle s’applique à l’adresse postale du destinataire final des marchandises d’une ligne de facture, sous UltimateShipToTradeParty.

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