Indiquer le montant de TVA dans la devise comptable

Erreur BR-53 EN 16931

Si le Code de devise de comptabilisation de la TVA (BT-6) est renseigné, le Montant total de TVA de la facture dans la devise de comptabilisation (BT-111) doit être fourni.

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

Si ram:TaxCurrencyCode est présent, ram:TaxTotalAmount doit avoir un attribut currencyID correspondant à ce code de devise. La devise comptable doit également être différente de ram:InvoiceCurrencyCode. La condition n’est pas remplie si le montant de TVA correspondant dans la devise comptable est absent.

Ce que signifie la règle

Lorsque la TVA est comptabilisée dans une devise différente de la devise de facture, le montant total de TVA doit également être indiqué dans cette devise comptable.

Champs concernés BT-6 BT-111
Veuillez renseigner le montant total de TVA dans la devise comptable

La facture indique une devise comptable, mais le montant de TVA correspondant dans cette devise est absent ou n’est pas associé au code de devise correspondant. Renseignez le montant dans la devise comptable indiquée.

Que faire ?
  1. Vérifiez ram:TaxCurrencyCode et ram:InvoiceCurrencyCode dans ram:ApplicableHeaderTradeSettlement.
  2. Assurez-vous que la devise comptable est différente de la devise de facture.
  3. Renseignez ram:TaxTotalAmount avec un currencyID correspondant à ram:TaxCurrencyCode.
  4. Vérifiez les valeurs transmises à SetTaxTotalInAccountingCurrency(...) ou à SetTaxCurrencyExchange(...).
  5. 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:TaxCurrencyCode>USD</ram:TaxCurrencyCode>
      <ram:SpecifiedTradeSettlementHeaderMonetarySummation/>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
✓ Correct
<rsm:CrossIndustryInvoice>
  <rsm:SupplyChainTradeTransaction>
    <ram:ApplicableHeaderTradeSettlement>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:TaxCurrencyCode>USD</ram:TaxCurrencyCode>
      <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
        <ram:TaxTotalAmount currencyID="USD">20.00</ram:TaxTotalAmount>
      </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
À vérifier dans FactoorSharp
  • FacturXInvoice.SetTaxTotalInAccountingCurrency(taxTotalInAccountingCurrency, accountingCurrency) (BT-111; BT-6)
  • FacturXInvoice.SetTaxCurrencyExchange(taxTotalInAccountingCurrency, accountingCurrency, conversionRate, conversionRateTimestamp) (taxTotalInAccountingCurrency: BT-111; accountingCurrency: BT-6)
  • FacturXInvoice.TaxCurrency (BT-6)
  • FacturXInvoice.TaxTotalAmountInAccountingCurrency (BT-111)
Détails techniques

Le XPath autorise l’absence de ram:TaxCurrencyCode. S’il est présent, il exige que ram:TaxTotalAmount/@currencyID lui corresponde et soit différent de ram:InvoiceCurrencyCode.

Où la règle s'applique

La règle s’applique au montant total de TVA de l’en-tête de facture lorsqu’un ram:TaxCurrencyCode est indiqué dans ram:ApplicableHeaderTradeSettlement.

Message d'origine du Schematron
If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.
Contexte (rule/@context)
//ram:SpecifiedTradeSettlementHeaderMonetarySummation
Expression de contrôle (assert/@test)
not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:TaxCurrencyCode) or ( /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:TaxCurrencyCode and (ram:TaxTotalAmount/@currencyID = /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode) and not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:TaxCurrencyCode = /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode) )
Modifications dans les règles de validation de la KoSIT
  • 2023-11-152023-11-15 · AddedUnit test on BR-53 with BT-5, BT-6 and BT-110 and BT-111 in CII.
  • 2022-07-152022-07-15 · AddedTests for BR-53 and BR-CO-15 in CII with same BT-5 and BT-6