L’adresse du bénéficiaire du paiement peut comporter au plus une subdivision

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

L’élément ram:PostalTradeAddress contient plusieurs éléments ram:CountrySubDivisionName.

Ce que signifie la règle

Une seule valeur de subdivision au maximum est autorisée dans l’adresse postale de la partie bénéficiaire du paiement ; l’élément peut également être absent.

Veuillez indiquer au plus une subdivision dans l’adresse du bénéficiaire du paiement

L’élément ram:CountrySubDivisionName apparaît plusieurs fois dans l’adresse postale de la partie bénéficiaire du paiement. Il peut apparaître une seule fois au maximum ou être omis.

Que faire ?
  1. Repérez le ram:PostalTradeAddress de la partie bénéficiaire du paiement.
  2. Supprimez les éléments ram:CountrySubDivisionName en trop afin qu’il n’en reste pas plus d’un.
  3. Générez de nouveau la facture et vérifiez-la.
À quoi cela ressemble
✗ Déclenche le message
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>Subdivision A</ram:CountrySubDivisionName>
  <ram:CountrySubDivisionName>Subdivision B</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
✓ Correct
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>Subdivision A</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
Détails techniques

Le test XPath vérifie qu’il y a au plus un élément ram:CountrySubDivisionName enfant direct de ram:PostalTradeAddress.

Où la règle s'applique

La règle s’applique à l’adresse postale de la partie bénéficiaire du paiement, dans le règlement de la facture.

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