Le montant de TVA d’une opération non soumise à la TVA est nul

Erreur BR-O-09 EN 16931

Le montant de taxe de la catégorie de TVA (BT-117) dans une ventilation de la TVA (BG-23) dont le code de catégorie de TVA (BT-118) est « Non soumis à la TVA » doit être égal à 0 (zéro).

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

Dans une ventilation de la TVA dont le CategoryCode est O, le montant de CalculatedAmount n’est pas nul. Pour cette catégorie, le montant de TVA BT-117 doit être nul.

Ce que signifie la règle

Le code O désigne une opération non soumise à la TVA. Le montant de TVA correspondant dans la ventilation de la TVA doit donc être nul.

Champs concernés BT-117 BG-23 BT-118
Veuillez mettre à zéro le montant de TVA de l’opération non soumise à la TVA

La ventilation de la TVA est indiquée comme non soumise à la TVA, mais contient un montant de TVA différent de zéro. Vous pouvez ajuster ce montant dans la facture.

Que faire ?
  1. Vérifiez le CategoryCode et le montant de CalculatedAmount dans l’élément ApplicableTradeTax concerné.
  2. Mettez à 0 le montant de TVA pour le code O.
  3. Vérifiez l’appel à AddApplicableTradeTax(...).
  4. Générez de nouveau la facture et vérifiez-la.
À quoi cela ressemble
✗ Déclenche le message
<ram:ApplicableTradeTax>
  <ram:CategoryCode>O</ram:CategoryCode>
  <ram:CalculatedAmount>10</ram:CalculatedAmount>
</ram:ApplicableTradeTax>
✓ Correct
<ram:ApplicableTradeTax>
  <ram:CategoryCode>O</ram:CategoryCode>
  <ram:CalculatedAmount>0</ram:CalculatedAmount>
</ram:ApplicableTradeTax>
À vérifier dans FactoorSharp
  • TaxCategoryCodes (BT-118)
  • FacturXInvoice.AddApplicableTradeTax(basisAmount, percent, taxAmount, typeCode, categoryCode, allowanceChargeBasisAmount, exemptionReasonCode, exemptionReason, lineTotalBasisAmount) (BG-23)
  • FacturXInvoice.AnyApplicableTradeTaxes() (BG-23)
  • FacturXInvoice.GetApplicableTradeTaxes() (BG-23)
  • FacturXInvoice.Taxes (BG-23)
Détails techniques

La règle s’applique lorsque CategoryCode a la valeur O et vérifie que l’élément enfant CalculatedAmount a la valeur numérique 0.

Où la règle s'applique

La règle s’applique à une ventilation de la TVA ApplicableTradeTax au niveau du document lorsque son CategoryCode est O.

Message d'origine du Schematron
The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 0 (zero).
Contexte (rule/@context)
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O']
Expression de contrôle (assert/@test)
ram:CalculatedAmount = 0