Des frais nécessitent exactement un montant

Erreur FX-SCH-A-000547 Factur-X

L'élément 'ram:ActualAmount' doit apparaître exactement une fois.

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 de frais ne contient pas exactement un ram:ActualAmount. La règle vérifie le nombre de ces éléments dans ram:SpecifiedTradeAllowanceCharge.

Ce que signifie la règle

ram:ActualAmount contient le montant des frais. Sans exactement un tel élément, le montant des frais n’est pas indiqué sans ambiguïté.

Veuillez indiquer exactement un `ram:ActualAmount` pour les frais

Les frais sur la ligne de facture ne contiennent pas exactement un montant. Vous pouvez ajuster le nombre d’éléments de montant dans les frais.

Que faire ?
  1. Repérez le ram:SpecifiedTradeAllowanceCharge concerné dans la ligne de facture.
  2. Assurez-vous qu’il contient exactement un ram:ActualAmount.
  3. Générez à nouveau la facture et vérifiez-la une nouvelle fois.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>1.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
Détails techniques

Le contrôle compte les éléments directs ram:ActualAmount dans ram:SpecifiedTradeAllowanceCharge et exige un total de 1.

Où la règle s'applique

La règle s’applique à des frais au niveau d’une ligne de facture dont ram:ChargeIndicator a la valeur true.

Message d'origine du Schematron
Element 'ram:ActualAmount' must occur exactly 1 times.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/ udt:Indicator="true"]
Expression de contrôle (assert/@test)
count(ram:ActualAmount)=1