thelia-modules / CouponOfferedProduct

This module allows you to have a new coupon type to offer a product.
0 stars 2 forks source link

Le calcul de TVA est erroné lors de la génération de la facture #3

Open roadster31 opened 7 years ago

roadster31 commented 7 years ago

Dans la facture, bien que le total TTC soit correct, le calcul de la TVA n'est pas correct. Exemple avec un panier dont les totaux sont les suivants : HT=52.30, TVA=2.88, TTC=55.18

Dans ce panier, on offre un produit HT=3.78€, TVA=0,21€, TTC=3,99€

La facture affiche :

Remise 3,99 € Total HT 48,31 € Taxes 2,88 € TVA 5,5% 2,88 € Total TTC 51,19 €

Total HT et TVA sont faux. Le total HT doit être 48.52€ (2.30 - 3,78), et la TVA doit être de 2.67€ (2.88-0.21).

La facture incorrecte :

img-2016-11-16_14-53-29

TomPradat commented 7 years ago

Effectivement ! Je pense que le problème vient du fonctionnement des coupons dans Thelia. Un type de coupon permet de soustraire un certain montant du panier mais la remise s'applique sur le total du panier. Le produit est donc facturé normalement puis il y a une remise du montant TTC du produit. Le module a été conçu ainsi, on offre une remise équivalente au prix du produit "offert". Une solution serait de modifier le prix du produit dans le panier suite à l'application du code promo pour le mettre à 0

roadster31 commented 7 years ago

C'est la conclusion à laquelle je suis arrivé.

TomPradat commented 7 years ago

Après on sort un peu du comportement par défaut des coupons de Thelia. Il faut créer un type de coupon qui n'applique pas de réduction mais dispatch un event, à moins que l'utilisation d'un code promo dispatch déjà un event sur lequel on peut se greffer.

roadster31 commented 7 years ago

C'est sans doute ici https://github.com/thelia-modules/CouponOfferedProduct/blob/master/Coupon/Type/OfferedProduct.php#L96qu'il faut intervenir, pour mettre le prix du produit à 0 dans le panier, et générer un discount de 0.

Je suppose que c'est la solution la plus pragmatique, même si comme tu le dis, ça tord the principe de fonctionnement des coupons.

roadster31 commented 7 years ago

Bon, ben ça le fait bien.

img-2016-11-16_15-25-43

Je te fais une petit PR ?

TomPradat commented 7 years ago

Oui j'attends ta PR

roadster31 commented 7 years ago

Oups, j'ai malencontreusement mis master à jour.

TomPradat commented 7 years ago

Tant pis, par contre ne vaudrait-il pas mieux mettre à jour en version 1.1 ? Parce qu'on change le fonctionnement du module donc ...