Jump to content

Calcul TVA et réduction - quels sont les formules de calculs ? (PS 1.7.7.0)


Recommended Posts

Bonjour,

 

Je me demandais quelles étaient les formules de calculs des TVA par rapport aux réduction.

Par exemple, j'ai un bon de réduction de 30% valable sur certains produits (TVA 5,5% et 20%)

Le montant à payer est correct et évident.

Par ex, 6 produits :

  

image.png.29fdd7a273c1f5756fd48968ea0dbb1b.png

globalement, j'ai donc une facture à payer avec le pied suivant :

image.png.a9458cdfc93e246ac883aa6ef275f86c.png

 

Seulement voilà : je n'arrive pas à recalculer les montant de TVA 5,5 et 20 comme indiqué dans le détail des taxes.

Le calcul initial devant se faire sur le prix TTC (tarif particuliers), on a bien le total déduit des remises correspondante qui s'élève à 146,88

Le recalcul de la TVA sur la base du TTC donne 14,3758... soit environ 14,38, et 146,88 déduit de 14,38 donne bien 132,50.

Donc, le total à payer est correct.

Cependant, sur cette base, la tva 5,5% devrait être de 4,60 et celle 20% de 9,78. Donc, je ne comprend pas ces "4,45" et "9,92", sur le détail des taxes, sorti de je ne sais où.

J'en déduis donc que Prestashop recalcule la TVA relative aux taux sur la base du montant de la remise, qui est dans ce cas enregistrée de 57,42 TTC et 51,549 HT (oui avec 3 décimales pour le HT). Seulement, quelle est donc la formule ? J'ai pas réussi à trouver.

J'ai enlevé la base de calcul sur le détail de la TVA, car là aussi d'une part je n'arrive pas à la recalculer, et surtout quand on fait "baseHT * tx_TVA", le montant ne correspond pas à la taxe totale. (quel embroglio vraiment)

En effet, une fois la remise appliquée, prestashop ne conserve pas les détails concernant le bon de réduction, et ce dernier à vocation à changer avec le temps. Il n'y a donc que le montant de la remise HT et TTC sans plus de détails.

En outre, j'ai constaté qu'il y avait un ratio des produits par rapport à leur TTC pour le calcul des TVA sur le transport. (qui correspond pile poil à chaque recalcul... ouf !) Je me suis dit : "peut être est ce pareil avec les remises ?" => mais non !

 

Pouvez vous m'aider à comprendre les formules de calculs de TVA concernant les remises et bons de réductions ?

Un grand merci d'avance ! 😘

 

Edit : j'oubliais de préciser qu'il s'agit de prestashop v 1.7.7.0.

Edited by etienne31 (see edit history)
Link to comment
Share on other sites

  • etienne31 changed the title to Calcul TVA et réduction - quels sont les formules de calculs ? (PS 1.7.7.0)

Bon alors j'ai un début de réponse.

Soit "Rx" le ratio par ligne du prix produit / total de la cde, avec le "x" étant le numéro de ligne

RxHT et RxTTC les ratios respectivement en fonction du HT et du TTC

REMTTC le montant remise TTC, et REMHT le montant remise HT (enregistré dans la table ps_order_cart_rule)

MTTCx et MHT les montant TTC et HT des lignes "x" (de la table ps_order_detail)

on a pour les "prix de base" de l'encadré des détail des taxe, la formule suivante :

Somme des ( MHTx - (RxHT * REMHT) )

et pour le "taxe totale",

c'est un recalcul des montant de tva basé sur

somme des ( ( MTTCx - (RxTTC * REMTTC) ) - ( MHTx - (RxHT * REMHT) ) )

Fort logiquement, on arrive donc à des montant de "taxe totale" qui ne correspondent pas aux "prix de base", puisque le calcul utilise différents ratio de répartitions entre le HT et le TTC, ce qui est absurde.

Tout ça à cause d'un montant de remise qui calcule à posteriori des taxes proportionnellement aux totaux de la facture, et non à la ligne.

De fait, d'un point de vue "montant à payer" pour le client, on reste correct. Cependant la question fiscale est un peu plus épineuse.

Avez vous des suggestions ?

 

De mon côté, je pencherais pour un indice qui pointe sur la ligne commande, pour savoir si le calcul est concerné ou pas par un ou plusieurs "règle panier" (cart rule).

Parce qu'autrement, à posteriori, on ne sait strictement pas quels produits ni quelles conditions de remises ont été appliquées.

Pour une màj de prestashop à venir ?

 

Reste à élucider le mystère des "unit_amount" et "total_amount" de la table ps_order_detail_tax, qui semble là aussi bien mystérieuse.

Si vous savez un peu à propos de tout cela, n'hésitez pas à participer.

Link to comment
Share on other sites

Note à propos de la fiscalité :

Quoi qu'il en soit, le "total amount" est en correspondance avec les totaux TVA calculés sur les commandes, et réciproquement, en recalculant les totaux par taux de TVA pour avoir les montant HT, on retombe presque sur le CA global. Ce qui permet de déclarer une TVA à priori correcte. (à quelque centimes près de ci de là, mais les impôt exigent à l'euro près, donc ça ne change rien)

Link to comment
Share on other sites

Hello, je sais pas si y en a qui suivent ce sujet, alors voici ce que j'ai trouvé en complément :
J'ai recalculé une formule pour retrouver les HT et TTC par taux de TVA de la commande en fonction des montants de la table "ps_order_cart_rule".

Soit A le montant HT de la tva au taux TA, et B le montant HT de la tva au taux TB, d'une part,

RTA étant le ration pour convertir A en TTC, et RTB le ration pour convertir B en TTC. (par ex, si TA = 20%, RTA = 120%)

et RHT et RTTC les montant de la remise en HT et TTC.

(tout en sachant que mes taux sont, en réalité, 5,5% et 20% lol ... mais ça fonctionne aussi avec deux autres taux différents)

On a simplement A = (RTTC-(RHT*RTB))/(RTA-RTB), puis B = RHT - A

Pour retrouver les montant TVA et TTC, il suffit d'appliquer simplement les taux relatifs.
Par ex : A-TTC = A * RTA, et A-TTVA = A * TA.

Pour reprendre mon exemple du dessus, avec les montant de remise HT et TTC respectivement de 51,549 et 57,42,

cela me donne un HT à 5,5% de 30,612, et un HT de 20% de 20,937
A déduire des totaux HT bruts (avant remise)

Et réciproquement, je peux recalculer sur mon TTC et HT : (soit 146,88 et 132,5)
Qui donnent respectivement en 5,5 et 20 : 83,586 et 48,914, pour des montant TVA de (arrondi à 2 décimales) 4,6 et 9,78

Ces chiffres recalculés sur la base des montant HT et TTC net de ma commande correspondent parfaitement aux montant recalculés sur la base de la commande passée par le client, et de sa réduction initiale.
Ergo ? Voilà je me suis bien amusé à élucider tout ce tintouin, pour au final me contenter des montant totaux HT et TTC pour retrouver ma TVA à déclarer.
Mais, alors pourquoi recalculer aussi les montant HT et TTC (et TVA) par taux pour ma remise ?

La réponse est simple : pour avoir une comptabilité parfaite.

Et de conclure que :

1 - l'encadré des taxes sur les factures de prestashop est archi faux !!!

2 - il est possible de recalculer les TVA sur la base des montant HT et TTC nets de la commande (table "PS_orders")

En espérant que cela vous ait aidé d'une quelconque façon !

Reste à attendre un patch pour l'erreur de l'encadré des taxes sur la facture !

 

Link to comment
Share on other sites

  • 1 month later...

Bonjour à tous je me permet de suivre votre discution 

sous prestashop 1.7.7.2

pour moi tous fonctionne sauf un truc.

spacer.png

POURQUOI NE M'AFFICHE T'IL PAS LE CALCUL 

MALGRÉ TOUTES MES TENTATIVES 

cela ne fonctionne pas

quel niveau de priorité permet cela ???

MERCI À TOUS...

Edited by thebigbear67 (see edit history)
Link to comment
Share on other sites

  • 2 years later...

Bonjour,

Merci du partage.
Je confirme que les tables sont déconnantes, et cette opacité nous pose des problèmes lors d'interactions avec une caisse Zettle synchronisée.

Dès qu'une réduction (entrée en TTC sur Zettle) est synchronisée, elle est bien respectée. Mais quand on édite le nom de facture, Prestashop recalcule tous les montants de la facture, et prend le montant de réduction entré sur Zettle comme une base HT. On se retrouve ainsi avec des écarts de taxe et de paiement ; on est obligé de supprimer la réduction Zettle et d'ajouter celle qui correspond sur Prestashop.

C'est une vraie gageure, je pensais que c'était dû à Zettle mais votre sujet me fait penser que c'est plutôt du côté de Prestashop qu'il faudrait modifier.

Romain

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...