Règles de paramétrage, calcul et arrondi de TVA
Cette page explique les différentes règles de calcul et d'arrondi de la TVA mises en oeuvre dans Dolibarr ERP CRM.
Définition automatique du taux de TVA par défaut
Dans Dolibarr, le taux de TVA peut toujours être fixé à n'importe quelle valeur de votre choix. Cependant, pour vous faire gagner du temps, Dolibarr essaie de définir automatiquement la valeur de la TVA ou de la taxe sur les ventes à une valeur par défaut qui est détectée automatiquement en fonction des informations que vous avez saisies dans la configuration de Dolibarr.
Par défaut lors de la création de prospects, de factures, de commandes, etc., le taux de TVA proposé par défaut est défini comme suit :
- Si le vendeur n'est pas assujetti à la taxe de vente, la taxe de vente est définie par défaut sur 0. Fin de la règle.
- Si le (pays du vendeur = pays de l'acheteur), alors la taxe de vente par défaut est égale à la taxe de vente du produit dans le pays du vendeur. Fin de règle.
- Si le vendeur et l'acheteur se trouvent tous deux dans la Communauté européenne et que les marchandises sont des produits liés au transport (transport, expédition, compagnie aérienne), la TVA par défaut est de 0. Cette règle dépend du pays du vendeur - veuillez consulter votre comptable. La TVA doit être payée par l'acheteur au bureau de douane de son pays et non au vendeur. Fin de règle.
- Si le vendeur et l'acheteur sont tous deux dans la Communauté européenne et que l'acheteur n'est pas une entreprise (avec un numéro de TVA intracommunautaire enregistré), la TVA par défaut est le taux de TVA du pays du vendeur. Fin de règle.
- Si le vendeur et l'acheteur sont tous deux dans la Communauté européenne et que l'acheteur est une société (avec un numéro de TVA intracommunautaire enregistré), alors la TVA est de 0 par défaut. Fin de règle.
- Dans tous les autres cas, la valeur par défaut proposée est Taxe de vente=0. Fin de règle.
Remarque, Cas particulier pour l'Europe : Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC
TVA standard et règles d'arrondi
Commençons par l'exemple que nous allons utiliser. Imaginons une facture qui contient les lignes suivantes (On suppose aussi être dans un pays ou les totaux doivent être arrondis avec 2 chiffres maximum après la virgule).
A Description |
B Quantité |
C Prix unitaire |
D Taux de TVA |
E Total sans tax =(B*C) |
F Montant taxe exacte =(D*E) |
G Montant taxe arrondie sur 2 déc =round(F) |
H Prix exact inc tax =(E+F) |
I Prix avec taxe, arrondi sur 2 décimales =(E+G) | |
1 | Product alpha | 1 | 1.24 | 10% | 1.24 | 0.124 | 0.12 | 1.24+0.124=1.364 | 1.36 |
2 | Product beta | 1 | 1.24 | 10% | 1.24 | 0.124 | 0.12 | 1.24+0.124=1.364 | 1.36 |
Il y a 2 manières de calculer le total de la facture: faire la somme des lignes arrondies ou l'arrondi de la somme des lignes.
1) Si nous choisissons de faire la somme des lignes après les avoir arrondies (sur 2 décimales), on obtient:
- Total sans taxe: 1.24(E1) + 1.24(E2) = 2.48
- Total taxe 10%: 0.12(G1) + 0.12(G2) = 0.24 (nous sommons les valeurs arrondies de chaque ligne)
- Total avec taxe (nous sommons le total sans taxe + le total de taxe): 2.48(Ex) + 0.24(Gx) = 2.72
Notez que si nous sommons le prix incluant la taxe arrondie sur chaque ligne, nous avons: 1.36(I1) + 1.36(I2) = 2.72 (même résultat, aussi nous savons qu'il n'y a pas d'erreur)
2) Si nous choisissons de faire l'arrondi (sur 2 décimales) du montant total APRES avoir sommer les lignes, nous avons:
- Total without tax: 1.24(E1) + 1.24(E2) = 2.48 (identique à la méthode 1)
- Total tax 10%: (1.24(E1) + 1.24(E2)) * 10% = 0.124 + 0.124 = 0.248 arrondis au plus près pour avoir un total sur 2 décimales donne 0.25 (we sum amount without tax for each lines, calculate vat rate on this and after we round value on 2 decimals)
- Total inc tax (on somme le total sans taxe + total avec taxe): 2.48 + 0.25 = 2.73
La première chose que nous pouvons noter est que le résultat de la méthode 1 est différent de celui de la méthode 2. La différence n'est que de 0.01 mais si vous avez n fois la même lignes, cette différence pourraient être plus importante mais toujours inférieure ou égale à (n-1)*0.01. De plus, que vous essayez par des arrondis vers le bas ou vers le haut au lieu du "au plus proche", vous serez confronté au même phénomène (par exemple en arrondissant vers le bas, essayez avec une quantité de 2 sur la ligne 2 et vous constaterez les même différence entre la méthode 1 et 2). Cette différence apparaîtra pour une jeu de donnée différent mais le problème reste entier, aussi ce problème n'est pas sur la manière dont nous arrondissons mais boen quand nous arrondissons.
La deuxième chose que nous pouvons noter est que si nous utilisons la méthode 2, il faut mieux ne pas afficher la colonne I sur la facture, sinon le total visible sur la facture (2.73) ne sera pas le même que celui obtenu en sommant le montant de chaque ligne (1.36+1.36=2.72). Afficher la colonne H semble mieux mais le total sera toujours différent car notre total (2.73) est arrondi et la somme des lignes par la colonne H (1.364+1.364=2.728) restera encore différent.
Bref, que l'on utilise la méthode 1 ou la méthode 2, il y aura toujours une incohérence qui pourra être trouvée visible.
Alors que faire ?
- Dans certains pays, le mode de calcul doit toujours être celui utilisant la méthode 1 pour faire ses factures. Comme ceci est le mode par défaut de Dolibarr, il n'y a rien de particulier à faire, just comprendre ce qui se passe.
- Dans d'autres pays (très rare), le calcul doit être toujours fait selon la méthode 2 pour faire ses factures. Afin d'éviter d'avoir un total au bas de la facture qui diffère du total obtenu en sommant chaque ligne de détail, ce qui peut être fait est de ne pas afficher la colonne I. Ceci d'ailleurs le cas avec les modèle de factures par défaut de Dolibarr, aussi, il n'y a rien de particulier à faire pour masquer cette information. Pour activer ce mode de calcul, vous devez avoir Dolibarr version 3.5+ et positionner la constante MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND à 1 (Accueil - Configuration - Autre).
- Dans la plupart des pays, les 2 méthodes sont possibles. Dans ce cas, utilisez le mode par défaut qui est la méthode 1 car il est plus efficace quand il s'agira de faire la comptabilité (car, si vous utilisez la méthode 2, le total de TVA de vos factures ne seront pas les sommes de F, ni les sommes de G et ceci créera des confusions plus tard). Il n'y a donc rien de particulier à faire à part comprendre que ce qui se passe est normal. Si vous préférrez toutefois absolument la méthode 2 (non recommandé si non obligatoire par la législation de votre pays) et que vous utilisez Dolibarr 3.5+, alors positionnez la constante MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND à 1 (Accueil - Configuration - Autre).
2eme ou 3eme taxes
Dans le dictionnaire des Taux de taxes (Menu Accueil - Configuration - Dictionnaires - Taux de taxe), il est possible de définir que vous devez appliquer une 2eme, voir une 3eme taxe sur les ventes. Ceci dépend de chaque pays. Les chapitres suivants donnent des exemples en vigueur pour certains pays...
Attention, vous définissez une 2eme (ou 3eme) taxe pour un taux de TVA donnée pour votre pays, pensez aussi à vérifier dans la configuration de votre société, après avoir enregistré la configuration que vous avez bien activé que votre société est assujeti à cette 2eme (ou 3eme taxe).
Si la 2eme (ou 3eme) taxe ne doit pas être appliquée systématiquement, il vous faudra, dans le dictionnaire des taux de taxes, doubler la ligne afin d'en mettre une avec la 2eme taxe et une autre sans (les lignes pourront se différencier grâce au code). Ainsi, vous pourrez choisir une règle ou l'autre (à partir du code) au moment de saisir vos lignes d'articles dans vos devis/commandes/factures.
Pour le Brésil
Voir page BrasilTaxes
Pour le Canada
Lexique
- TPS = Taxe sur les Produit et Services (GST = Goods and Services Tax pour les provinces anglophones)
- TVQ = Taxe de Vente Québecoise (QST = Quebec Sale Tax = PST = Provincial sales taxes pour les provinces anglophones)
- TVH = Taxe de Vente Harmonisé (parfois utilisé pour désigné la TPS+TVQ pour les commerçants);
Configuration
La TVQ est appliquée automatiquement en temps que première taxe sur chaque ligne (lors de l'ajout ou de la modification). La 2eme taxe sera récupérée depuis la table dictionnaire des taux de tva à partir de la ligne qui contient le taux de la première taxe (Table llx_c_tva). Le montant total incluant les 2 taxes sera alors calculé.
pour que la 2eme taxe soit bien ajoutée aussi, il faut avoir configuré sa société comme étant elligible à la 2eme taxe dans le menu Accueil - Configuration - Société/Institution après avoir configuré sa ligne de taxe dans le dictionnaire des taux de tva.
Exemple de configuration: Le taux de TVA (TPS) est 5, la taxe 2 (TVQ) doit etre configuré avec un taux de 9.5 et être de type "2" (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la taxe principale TPS). Autre solution pour la taxe 2, mettre un taux de 9.975 et un type "1" (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix net, cela correspond bien à un taux de 9.5 appliqué sur le prix avec taxe TPS)
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate TPS |
D2 Vat rate TVQ |
E Total without tax =(B*C) |
F Tax TPS =(B*C*D1)=(D1*E) |
G Tax TVQ (B*C*D2)=(D2*E) |
H Price inc TPS + TVQ=(E+F+G) | |
1 | Product alpha | 10 | 10 | 5% | 9.975% | 100 | 5 | 9.98 | 114.98 |
Pour la Côte d'Ivoire
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 Vat rate AIRSI |
E Total without tax =(B*C) |
F Tax VAT =(B*C*D1)=(D1*E) |
G Tax AIRSI ((E+F)*D2) |
H Price inc VAT + Tax 2=(E+F+G) | |
1 | Product alpha | 10 | 10 | 18% | 7.5% | 100 | 18 | 8.85 | 126.85 |
Exemple de configuration: Le taux de TVA est 18, la taxe 2 (AIRSI) a un taux de 7.5 et est de type 2 (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la tva). Autre solution pour la taxe 2, mettre un taux de 8.85 et un type 1.
Pour le Congo
Le Congo applique une 2eme taxe appelée Centime Additionnel (CA). Par exemple de 5% de la TVA de 18% (ce qui reviens à 0.09% du HT).
Configuration Exemple de configuration: Le taux de TVA est 18, la taxe 2 (CA) est mise avec un taux de 0.09 et doit être de type 1 (car 0.09% du HT revient au même que 5% de la part à 18% du HT).
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 Vat rate CA |
E Total without tax =(B*C) |
F Tax VAT =(B*C*D1)=(D1*E) |
G Tax CA (B*C*D2)=(E*D2) |
H Price inc VAT + Tax CA=(E+F+G) | |
1 | Product alpha | 10 | 10 | 18% | 0.09% | 100 | 18 | 0.9 | 118.9 |
Pour l'Espagne
La gestion spécifique des taxes de l'espagne sont supportées depuis la version de Dolibarr 3.0.
En espagne, il y a 2 taux de tva à appliquer sur chaque ligne:
- Le taux de TVA RE (a vat rate calculated on total without tax, and added to total to obtain total with tax)
- Le taux de TVA IRPF (a vate rate calculated on total without tax, and substracted from total to obtain total with tax)
Configuration
Ces 2 taxes sont appliquées automatiquement (si votre instance a été configurée dans a configuration de société pour les utiliser) sur chaque ligne (à l'ajout ou à l'édition). Les valeurs des taux se trouvent dans la table dictionnaire des taux de TVA et taxes (Table llx_c_tva). Le Total sans la taxe et le total avec la taxe est modifié à l'issu des calculs.
Exemple de configuration: Pour le taux de TVA standard 20%, La taxe 2 (RE) est de type 3 (La taxe est appliquée sur le prix net, pour les produits seulement), taux de 1.4%
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 RE |
E Total without tax =(B*C) |
F Exact tax amount =(B*C*D1)=(D1*E) |
G Tax RE (B*C*D2)=(D2*E) |
H Price inc standard vat + RE=(E+F+G) | |
1 | Product alpha | 10 | 10 | 10% | 1.4% | 100 | 10 | 1.4 | 111.4 |
Pour le Gabon
Le Gabon applique une 2eme taxe appelée Contribution Spéciale de Solidarité (CSS). Par exemple de 1% du Hors Taxe en plus de la TVA.
Configuration Exemple de configuration: Le taux de TVA standard est 10%, la taxe 2 (CSS) est mise avec un taux de 1% et doit être de type 1 (type 1 = taxe sur le montant HT).
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 Vat rate CSS |
E Total without tax =(B*C) |
F Tax VAT =(B*C*D1)=(D1*E) |
G Tax CSS (B*C*D2)=(E*D2) |
H Price inc VAT + Tax CSS=(E+F+G) | |
1 | Product alpha | 10 | 10 | 10% | 1% | 100 | 10 | 1 | 111 |
Pour l'Inde
Il y a la SGST, CGST et IGST. La configuration existe par défaut dans la version 6.0
Pour l'Italie
You may need to add a negative withholding tax calculated on net amount.
Configuration
Value of rates are found into the dictionary table from the standard vat rate (Table llx_c_tva). Total with tax and total amount of vat is modified according to calculation.
Exemple de configuration: When vat rate is 22, add a tax 2 (witholding) of type "1" (Type "1" means tax 2 is added for product and services and calculated on net price), rate is -20% (negative means amount will be substracted)
Exemple
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 Vat rate withholding tax |
E Total without tax =(B*C) |
F Tax VAT =(B*C*D1)=(D1*E) |
G Tax 2 (B*C*D2)=(D2*E) |
H Price inc VAT + Tax 2=(E+F+G) | |
1 | Product alpha | 10 | 10 | 22% | -20% | 100 | 22 | -20 | 102 |
Pour la Tunisie
Vous devrez peut-être gérer le timbre fiscal. Pour cela, activez simplement l'option dans Accueil - Configuration - Entreprise / Organisation.
Vous devrez peut-être ajouter aussi une taxe FODEC. Par exemple, une taxe de 1% sur le prix sans TVA. La TVA doit inclure cette taxe. Voir http://www.profiscal.com/Etudiants/TCA/tca_ch11_06.htm
Configuration
Parce que la TVA à Dolibarr est calculée avant d'ajouter la deuxième TAXE et pour FODEC, nous devons ajouter la deuxième taxe avant de calculer la TVA, nous devons utiliser une solution de contournement pour prendre en charge le FODEC actuellement à Dolibarr. La solution est de créer un taux de TVA qui inclut bot le taux de TVA + un delta pour inclure la TVA basée sur FODEC.
Exemple: Imaginons que le taux de TVA soit 18% et que le FODEC est 1%. Vous devez aller dans le menu Configuration - Dictionaires - Taux de tVA et taxes. Créez une nouvelle ligne de taxe avec le champ Code = "18+FODEC", Taux="18.18", Utiliser la Tax2=Oui avec le type 1, Taux de Tax2="1", Note="VAT 18.0 incluant le 1% FODEC, soit 18.18%"
A Description |
B Quantity |
C Unit price |
D1 Vat rate |
D2 FODEC |
E Total without tax =(B*C) |
F Exact VAT amount =(B*C*D1)=(D1*E) |
G Tax FODEC (B*C*D2)=(D2*E) |
H Price inc standard vat + FODEC=(E+F+G) | |
1 | Product alpha | 10 | 10 | 18.18% | 1% | 100 | 18.18 | 1 | 119.18 |
Cette astuce aura pour effet de calculer correctement chaque partie de taxe ainsi que le total. Toutefois, visuellement, sur les PDF générés, vous verrez le texte "18.18%" pour le taux de TVA au lieu de "18% après ajout des 1%".
Une amélioration possible serait d'ajouter un champ dans le dictionnaire "Libellé d'affichage", lorsque ce libellé est définit sur une ligne de taxe, on affiche celui-ci plutôt que le taux effectif utilisé pour le calcul.