Erreur BR-CO-15 : le total TTC n'est pas égal au total hors taxes plus la TVA

ErreurCalculs et totauxContrôle : Règles EN 16931BT-112BT-109BT-110

Message d'origine

[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Ce message est celui des règles officielles, reproduit tel quel. Les codes BT et BG désignent les données de la norme EN 16931.

Ce que vérifie la règle

Le total toutes taxes comprises (BT-112) doit être égal au total hors taxes (BT-109) augmenté du total de la TVA (BT-110).

En syntaxe CII, le validateur recherche le total de TVA exprimé dans la devise de la facture : il lit pour cela l'attribut currencyID de la balise. Si cet attribut manque ou porte une autre devise, le total de TVA n'est pas retrouvé et l'erreur est signalée, même si les montants sont justes.

Causes fréquentes

  • Un acompte déjà versé est déduit du total TTC, alors qu'il doit l'être du montant à payer.
  • En CII, la balise du total de TVA n'a pas d'attribut currencyID, ou sa devise n'est pas celle de la facture.
  • Les trois montants sont arrondis séparément à partir de valeurs non arrondies.

Comment corriger

  1. Calculez le total TTC en additionnant le total hors taxes et le total de TVA déjà arrondis.
  2. En CII, ajoutez l'attribut currencyID au total de TVA, avec le code de devise de la facture.
  3. Déclarez les acomptes dans le montant déjà payé : ils ne modifient pas le total TTC.

Exemple

Total hors taxes de 950,00 et TVA de 190,00 : le total TTC doit valoir 1 140,00.

XML fautif

<ram:TaxBasisTotalAmount>950.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount>190.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>1140.00</ram:GrandTotalAmount>

XML corrigé

<ram:TaxBasisTotalAmount>950.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">190.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>1140.00</ram:GrandTotalAmount>

L'exemple est en syntaxe CII, celle de Factur-X, réduit aux balises utiles. En UBL, ces montants sont cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount, cac:TaxTotal/cbc:TaxAmount et cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount.

Où s'applique cette règle

La règle figure dans les jeux de règles officiels suivants, exécutés par le validateur :

  • EN 16931, syntaxe CII
  • EN 16931, syntaxe UBL
  • Factur-X BASIC WL
  • Factur-X BASIC
  • Factur-X EN 16931