Référence de paiement au maximum une fois

Erreur CII-SR-469 Syntaxe (UBL/CII)

[CII-SR-469] - La référence de paiement (BT-83) ne doit apparaître qu’une seule fois au maximum dans le document.

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

PaymentReference apparaît plus d’une fois dans ApplicableHeaderTradeSettlement. La règle autorise au maximum un élément de ce type.

Ce que signifie la règle

La référence de paiement identifie la référence associée au paiement. La déclarer une seule fois au niveau du document évite les doublons.

Champs concernés BT-83
Veuillez indiquer la référence de paiement une seule fois

La facture contient plusieurs éléments PaymentReference. Vous pouvez limiter cette information à un seul élément.

Que faire ?
  1. Recherchez tous les éléments PaymentReference dans ApplicableHeaderTradeSettlement.
  2. Vérifiez la valeur définie par FacturXInvoice.PaymentReference.
  3. Supprimez l’élément PaymentReference en double.
  4. Générez à nouveau la facture et vérifiez-la.
À quoi cela ressemble
✗ Déclenche le message
<ram:ApplicableHeaderTradeSettlement>
  <ram:PaymentReference>REF-1</ram:PaymentReference>
  <ram:PaymentReference>REF-2</ram:PaymentReference>
</ram:ApplicableHeaderTradeSettlement>
✓ Correct
<ram:ApplicableHeaderTradeSettlement>
  <ram:PaymentReference>REF-1</ram:PaymentReference>
</ram:ApplicableHeaderTradeSettlement>
À vérifier dans FactoorSharp
  • FacturXInvoice.PaymentReference (BT-83)
Détails techniques

Le XPath compte tous les éléments PaymentReference sous ApplicableHeaderTradeSettlement ; le test réussit s’il y en a au maximum un.

Où la règle s'applique

La règle s’applique à PaymentReference dans ApplicableHeaderTradeSettlement au niveau du document.

Message d'origine du Schematron
[CII-SR-469] - Payment reference (BT-83) shall occur at most once in the document.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice
Expression de contrôle (assert/@test)
count(//ram:ApplicableHeaderTradeSettlement/ram:PaymentReference) <= 1