Limiter les décimales du total de TVA

Erreur BR-DEC-13 EN 16931

Le nombre maximal de décimales autorisé pour le montant total de TVA de la facture (BT-110) est de 2.

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

Lorsque TaxTotalAmount est exprimé dans la devise de facture indiquée par InvoiceCurrencyCode, le montant comporte plus de deux décimales. Cette règle ne vérifie pas les décimales lorsqu’il est exprimé dans une autre devise.

Ce que signifie la règle

Le total de TVA exprimé dans la devise de facture ne peut comporter plus de deux décimales.

Champs concernés BT-110
Veuillez limiter les décimales du total de TVA dans la devise de facture

TaxTotalAmount est exprimé dans la devise de facture et comporte plus de deux décimales. Vous pouvez ajuster le montant pour ne pas dépasser deux décimales.

Que faire ?
  1. Comparez TaxTotalAmount à la devise de facture indiquée dans InvoiceCurrencyCode.
  2. Si les devises correspondent, limitez TaxTotalAmount à deux décimales au maximum.
  3. Vérifiez la propriété TaxTotalAmount.
  4. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<rsm:CrossIndustryInvoice>
  <rsm:SupplyChainTradeTransaction>
    <ram:ApplicableHeaderTradeSettlement>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
        <ram:TaxTotalAmount currencyID="EUR">12.345</ram:TaxTotalAmount>
      </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
✓ Correct
<rsm:CrossIndustryInvoice>
  <rsm:SupplyChainTradeTransaction>
    <ram:ApplicableHeaderTradeSettlement>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
        <ram:TaxTotalAmount currencyID="EUR">12.34</ram:TaxTotalAmount>
      </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
À vérifier dans FactoorSharp
  • FacturXInvoice.TaxTotalAmount (BT-110)
Détails techniques

Le XPath accepte l’absence de TaxTotalAmount. Si currencyID correspond à InvoiceCurrencyCode, le montant doit être égal à sa valeur arrondie à deux décimales ; cette vérification ne s’applique pas si les devises diffèrent.

Où la règle s'applique

La règle s’applique à TaxTotalAmount dans SpecifiedTradeSettlementHeaderMonetarySummation. Elle vérifie les décimales lorsque la devise du montant correspond à la devise de facture indiquée dans InvoiceCurrencyCode.

Message d'origine du Schematron
The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.
Contexte (rule/@context)
//ram:SpecifiedTradeSettlementHeaderMonetarySummation
Expression de contrôle (assert/@test)
not(ram:TaxTotalAmount) or ram:TaxTotalAmount[ ( @currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode and . = round(. * 100) div 100 ) or not (@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode) ]