Open roadster31 opened 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
C'est la conclusion à laquelle je suis arrivé.
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.
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.
Bon, ben ça le fait bien.
Je te fais une petit PR ?
Oui j'attends ta PR
Oups, j'ai malencontreusement mis master à jour.
Tant pis, par contre ne vaudrait-il pas mieux mettre à jour en version 1.1 ? Parce qu'on change le fonctionnement du module donc ...
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 :