ErreurEN 16931Manuel uniquement

BR-CO-17

VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.

Que signifie cette règle ?

Le montant de taxe d'une ventilation (BT-117) n'est pas la base multipliée par le taux.

BT-117 = BT-116 × BT-119 / 100, arrondi à deux décimales. Un écart signifie soit un taux erroné, soit un arrondi effectué là où il ne doit pas l'être.

BT-116
Base imposable par catégorie de TVA
BT-117
Montant de TVA par catégorie
BT-119
Taux de TVA par catégorie
Message officiel de la règle (norme)

VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.

Message officiel de la règle, tel qu’il figure dans la norme (en anglais).

Où la règle s’applique

Syntaxe: CII · UBL

La même règle, exprimée deux fois : UBL et CII désignent les mêmes champs par des chemins différents. C’est pourquoi vérifier un fichier CII avec les règles UBL produit des erreurs dénuées de sens.

UBL

  • cac:TaxTotal/cac:TaxSubtotal

CII

  • //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

Test technique

La règle est satisfaite lorsque cette expression Schematron est vraie :

(round(.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent)) = 0 and (round(xs:decimal(ram:CalculatedAmount)) = 0)) or (round(.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent)) != 0 and ((abs(xs:decimal(ram:CalculatedAmount)) - 1 <= round(abs(xs:decimal(ram:BasisAmount)) * (.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent) div 100) * 10 * 10) div 100 ) and (abs(xs:decimal(ram:CalculatedAmount)) + 1 >= round(abs(xs:decimal(ram:BasisAmount)) * (.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent) div 100) * 10 * 10) div 100 ))) or (not(exists(.[normalize-space(upper-case(ram:TypeCode))='VAT']/xs:decimal(ram:RateApplicablePercent))) and (round(xs:decimal(ram:CalculatedAmount)) = 0))

Comment corriger

Touche aux montants, à la TVA ou à l'IBAN. Nous ne modifions jamais ces valeurs automatiquement — corrigez-les dans vos données source.

Recalculez le montant de taxe à partir de BT-116 et BT-119, en n'arrondissant qu'à la fin.

Corrigez la mention concernée dans votre XML, puis relancez la vérification. Le contrôle s’exécute localement dans votre navigateur — votre fichier ne quitte jamais votre machine.

Vérifiez une facture électronique ici

Déposez ici un fichier XML ou un PDF ZUGFeRD. Le contrôle s'exécute localement dans votre navigateur selon l'EN 16931 — votre fichier ne quitte jamais votre machine.

100 % local — aucun envoi, aucun compte.

Règles apparentées

← Retour à la bibliothèque des erreurs