Jump to content
Michel Poulain

Erreur de calcul dans l'Eco-participation et les remises

Recommended Posts

Nous avons un problème avec la gestion de l'eco-participation (Eco-taxe ou DEEE) dans Prestashop. En effet, Prestashop fait des remises et des soldes sur l'éco-participation ! Ce qui est strictement interdit par la loi. L'éco-taxe devrait être extraite du prix TTC avant de calculer la remise puis rajoutée sur le prix remisé.

Prenons un exemple concret d'un produit vendu 100€ TTC dont 10€ d'eco-taxe avec 30% de remise :

Prix avec eco-taxe incluse : 100€
Prix réel sans eco-taxe : 100€ - 10€ = 90€
Prix avec 30% remise : 90€ - 27€ = 63€
Prix après remise + eco-taxe = 63€ + 10€ = 73€



Hors Prestashop affiche : 100€ (dont 10€ d'eco-taxe) - 30% = 70€ et pas 73€ !

Prestashop devrait en réalité afficher : 70€ TTC dont 7€ d'éco-taxe (= 10€ - 30%) = interdit par la loi
Ou bien afficher : 70€ TTC (dont 10€ d'éco-taxe) avec 33,33% de remise <> des 30% prévus

Le fait d'inclure l'ecotaxe dans le prix, c'est bien pour le client. Ce principe n'a pas à être remis en cause car il simplifie la lecture des prix pour le client. Par contre, il ne faut pas confondre remise sur le produit et remise sur les taxes de l'état... C'est en cela que l'éco-taxe diffère de la TVA : l'éco-taxe ne s'applique pas sur les remises. Ce n'est donc pas un simple champ texte qui s'affiche sur la fiche produit pour se conformer à la loi, mais un élément à appliquer sur le calcul final du produit, ce que ne fait pas actuellement Prestashop.


Notre logiciel de gestion que nous utilisons pour éditer la facture finale pour le client est conforme à la loi française : une ligne Eco-taxe supplémentaire est ajoutée pour chaque article. Nous nous trouvons, pour être conforme au prix déjà payé par le client via Prestashop à faire des remises de 30,25% sur la facture finale (pour une éco-taxe à 0,84€) au lieu des 30% affichés.

Pour me conformer aux règles du forum "Rapports de bugs", voici la référence du message original dans le forum "Discussion générale", avant créer un nouveau fil dans "Rapports de bugs" : http://www.prestashop.com/forums/viewthread/71874

31641_ECcinwLWkhL3dO2EVehx_t

Share this post


Link to post
Share on other sites

Bonjour,

quel est le rapport de bug ouvert sur le bug tracker ?

Share this post


Link to post
Share on other sites

la solution consiste alors à débugger soi même ;-)
trouver la formule en cause, la corriger et la localiser dans l'ensemble des fichiers qui seraient concernés.
c'est comme ça que je procède pour d'autres bugs du même genre.
ensuite, si possible, rapporter ici le détail des modifs afin que tout le monde puisse en profiter.

Share this post


Link to post
Share on other sites

Tout à fait d'accord, à condition que l'on soit développeur et non pas commerçant utilisant la solution Prestashop. ;-)

Ce bug, touche la façon même dont Prestashop gère ses prix. Un travail de titan. :-(

Share this post


Link to post
Share on other sites

oui, je comprends. je suis moi-même commerçant. mais ce bug est une erreur de calcul dont la formule est erronée. si tu sais travailler et modifier les formules sur excel, en principe ce type de bug est accessible. je n'utilise pas l'éco-participation. mais si j'ai le temps, je vais voir ça d'un peu plus près dans quelques jours
j'avais informé la team de ce type de problèmes (formules en général, comme par exemple les calculs sur les décimales à 4 ou 6 chiffres) il y a maintenant un an. en apportant un début de solution. et je n'étais pas le seul. la réponse était en gros "on verra ça quand on aura le temps... etc" moi je suis sous 1.2.5 largement modifiée, il doit encore subsister de tous petits bugs, mais globalement, quand on y met les mains, on y arrive.
il est vrai que la team devrait s'attaquer sérieusement à ces questions. c'est fondamental. espérons que la version 4 saura prendre ces questions essentielles en considération et que le boulot sera propre.

Share this post


Link to post
Share on other sites

Fabrice, merci énormément pour cette réponse de quelqu'un de l'équipe Prestashop. Il est très dur, voire impossible de joindre quelqu'un de l'équipe. Je le sais, car il nous a été très difficile de nous faire rembourser les modules "officiels Prestashop" achetés sur Prestastore et qui ne fonctionnaient pas du tout. J'ai la grosse impression que l'équipe est débordée par le succès.

Si nous modifions le code source de Prestashop pour corriger ce problème (qui nous met en porte-à-faux avec la loi), nous serons condamnés à ne plus pouvoir mettre à jour Prestashop et ne plus profiter des améliorations de Prestashop... De plus, comme l'eco-participation est pour l'instant, considérée comme une variable "cosmétique" juste affichée sur la page produit, elle n'est jamais utilisée dans le calcul du prix, cela implique que notre correction touchera l'ensemble du code Prestashop. Donc difficile à corriger.

Share this post


Link to post
Share on other sites

Je ne fais pas partie de la team ;-)
Commerçant tout ce qu'il y a d'indépendant.

Share this post


Link to post
Share on other sites
Mais quand même modérateur. Donc ayant plus ou moins accès à la Team Prestashop. ;-)


Ah bon Fabrice, tu es en connexion avec la Team ;-)

Share this post


Link to post
Share on other sites

Ne me dites pas, maintenant, qu'en plus d'ignorer les clients de Prestastore (comme moi) et de ne répondre qu'aux lettres recommandées, l'équipe Prestashop ne parle pas aux modérateurs de leur propre forum... :-( Ce serait la cata.

Jeckyl, Fabrice, c'est quoi le problème avec "la Team" ?

Share this post


Link to post
Share on other sites

Il n'y a pas de problème, je te rassure, il y a bien des gens de la team en relation avec la communauté comme par exemple Patric Codron, mais nous ne sommes pas en relation directe avec les développeurs, mais cela n'est pas choquant, sinon ils n'arriveraient jamais à travailler.

Share this post


Link to post
Share on other sites
Ne me dites pas, maintenant, qu'en plus d'ignorer les clients de Prestastore (comme moi) et de ne répondre qu'aux lettres recommandées, l'équipe Prestashop ne parle pas aux modérateurs de leur propre forum... :-( Ce serait la cata.

Jeckyl, Fabrice, c'est quoi le problème avec "la Team" ?


il n'y a pas de problème,
vu qu'il n'y a effectivement pas (ou peu) d'échanges avec la team.

mais ce forum est un forum modéré par des bénévoles.
commerçants comme toi et moi.
d'où notre indépendance d'esprit et de paroles ;-)

Share this post


Link to post
Share on other sites

Bonjour,

Je reviens un peu sur ce problème épineux.

Ne serait-il pas possible de créer un module lié au processus de paiement et qui extrait les différentes taxes pour les facturer indépendamment? Cela permettrait de toucher au core du système. Après je ne vois pas encore sur quel hook l'accrocher :/

Share this post


Link to post
Share on other sites

Bonjour a tous,

Mais vu les centaines de bugs encore ouverts dans l'interface, j'ai bien peur que ce problème ne soit jamais corrigé.


Un petit passage sur ce post - non pas pour discuter du bug (si vous me connaissez, vous savez bien que ca se passe toujours sur le bug tracker :P) mais - pour rappeler que TOUS les rapports de bugs sont traites.

Et que ce n'est pas parcequ'il y a "des centaines de bugs" en attentes que le votre ne sera "jamais" corrige.
Notre politique actuelle de developpement est telle que ces dernieres semaines ont ete bien plus productives sur la realisation de nouvelles fonctionnalites que sur la correction de bugs, mais ca s'inversera ne vous en faites pas.
Les developpeurs ne peuvent pas - croyez moi on aimerai bien pourtant - etre au four et au moulin en meme temps.

J'en profite pour vous signaler que l'heure de la correction de ce bug a sonne.
  • Like 1

Share this post


Link to post
Share on other sites

Yeah!

On pourrait savoir quels sont les fichiers modifiés afin d'appliquer le patch sur le boutique en production? Ca serait parfait!

Merci pour la correction

Share this post


Link to post
Share on other sites
Notre politique actuelle de developpement est telle que ces dernieres semaines ont ete bien plus productives sur la realisation de nouvelles fonctionnalites que sur la correction de bugs, mais ca s’inversera ne vous en faites pas.


C'est une chose a espérer car votre politique actuelle est tellement loin des problèmes réels de vos utilisateurs, que vous risquez d'en perdre à la pelle (des utilisateurs).

Une boutique en ligne dite stable, plus qu'aucun autre CMS, se doit d'être au plus proche du sans bug. Ou tout au moins, l'utilisateur doit se se sentir épaulé dans ses problèmes.

Ce n'est pas le cas aujourd'hui quand je parcourt ce forum!

J'avais prévu de nombreuses migrations d' OSCommerce vers PrestShop, mais là, j'hésite vraiment à conseiller cette migration à mes clients.

Merci donc aux dev de leurs efforts, mais j'invite fortement les team-manager à réagir, non pas comme des dev. rêvant à la machine numérique idéale (la 1.4.x ?) mais en faisant preuve d'un peu plus de pragmatisme en s'attaquant en priorité aux bugs signalés par les utilisateurs réels sur leurs boutiques en production.

Petite remarque à propos du bug trackers. De nombreux commerçants en ligne ne sont ni anglophones, ni développeur. Les explications fournies sur le bugtrackers quand à la résolution des bugs sont trop partielles ou trop techniques pour être comprise par ces utilisateurs. Même pour un webmaster de CMS confirmé, la recherche des infos sera souvent longue et aléatoire.
Le commentaires du team sont beaucoup trop succincts pour être utilisables par l'ensemble de la communauté.
Je site un exemple de commentaire de résolution (bug #6035)

Comments :

Fixed.

By Damien Metzger on 17 Nov 2010 at 17:13 (UTC+1)


Ben je suis content :-) et alors ? :bug:

Allez Bon courage à toutes et à tous

PS Peut-être les modos vont déplacer ou supprimer ce post, (il fait sans doute un peu Troll) mais j'avais envi de répondre à ce problème récurent de gestion des bugs sur prestashop.

Share this post


Link to post
Share on other sites

Bonjour à tous.

Je pense avoir la solution à ce problème et cette modification est accessible à tous.
Etape 1 : télécharger la version beta de prestashop 1.4 alpha
Etape 2 : récupérer 2 fichiers dans cette version 4 (admin/tabs/adminproducts.php) et (js/price.js)
Etape 3 : pour ne pas perdre vos fichiers d'origine, renommer vos fichiers actuellement présents sur votre serveur adminproductsVO.php et priceVO.js
Etape 4 : glisser les 2 nouveaux fichiers sur votre serveurs aux emplacements précisés ci-dessus
Etape 5 : normalement cela marche bien.

J'attends vos retours.

Share this post


Link to post
Share on other sites

Uniquement ces deux fichiers? Il n'y a pas d'autres fichiers côté front que le JS? classes/product.php par exemple?

En tout cas merci pour cette procédure

Share this post


Link to post
Share on other sites

De rien.

Pour le moment je n'ai repéré que ces deux fichiers.
J'ai tenté de changer classes/product.php
Mais la fiche produit ne s'affiche plus, donc ne vaut mieux pas y toucher.

Share this post


Link to post
Share on other sites

Bonjour et bonne année à tous,

J'ai ce même problème, et la solution de remplacer les 2 fichiers de la 1.3.5 par ceux de la 1.4.0.6 (j'ai pris la dernière version) ne marche pas...

Dans mon cas j'ai une différence d'affichage entre le BO et le FO.
Prix de basse ttc :120
Ecotaxe : 0.20
Remise ttc : 20.50
Prix de vente ttc final BO : 99.70
Prix de vente ttc FO : 99.50

Il faudrait pouvoir saisir directement le prix de vente ttc final et que le calcul se fasse à partir de ce prix pour remonter jusqu'au prix de vente de base en tenant compte de l’écotaxe quand elle est présente ?? Cela simplifierait la saisie et m'éviterait d'utiliser Excel pour faire tous ces calculs...

Si vous une idée, une piste pour au moins afficher le même montant entre le BO et le FO, merci.

Share this post


Link to post
Share on other sites

Bonjour,

J'ai ce même problème :-S et pour ma part, cela commence également à devenir de plus en plus urgent...
Si quelqu'un de la team pourrait réagir, et donner au moins une explication de comment résoudre au mieux ce problème en attendant l'éventualité d'une mise à jour...

En gros, j'explique, je peux m'amuser à fixer des rabais sur la fiche du produit en question, ces rabais sont via javascript correcte, mais ne sont pas correctement transmis quand je valide. Vous constaterez sur les images en pièces jointes que le rabais n'est plus le même, et de plus, je ne vois absolument pas comment Prestashop arrive à ces chiffres...

Merci d'avance...

EDIT
Et voilà... après 10 minutes, j'ai finalement trouvé la solution au problème. Le problème survient si par exemple, vous avez changé les taxes, les désactiver par exemple.

Cette modification ne s'applique pas à tous les produits. Il faut donc modifier manuellement l'ID Tax dans la base de données, pour la mettre à 0 !

Car les calculs bizarres se faisaient sur cette taxe désactivé!
Table : ps_product, colonne id_tax...
Enfin... :snake: :exclaim: :snake: :exclaim: :snake: :exclaim: :snake: :exclaim:

38024_YGQRL19HsWFQJ3T6csg4_t

38023_jk78vWrePIHlVcu97ozt_t

Share this post


Link to post
Share on other sites

Prb ECOTAX, Prb de rabais, Prb d'arrondi ...

No Comment

Maurice

Share this post


Link to post
Share on other sites

Pour continuer dans ce topic,

J'ai plus ou moins le même bug, cependant j'ai désactivé les taxes de 8.0% sur l'ecotaxe et dans l'article tout est correct le calcul est juste pour le TTC.

 

Par contre dans le panier prestashop calcul comme d'habitude 8.0% sur la valeur de l'article comme s'il ne contenait pas d'ecotaxe.

Ex : article prix HT : 53 CHF

ecotaxe TTC : 0.3 CHF

----------------------------

Total TTC : 57.56 CHF --> Normalement : 57.24

 

J'ai de la peine à comprendre pourquoi...

 

 

[EDIT]

 

Le problème n'apparait plus avec la nouvelle version... il reste encore un bug c'est que si vous ajouter une ecotax sans Tax par dessus (ex. TVA) le montant TTC n'est pas le même dans le panier et dans la facture PDF...

Share this post


Link to post
Share on other sites

Bonjour,

 

En travaillant sur une nouvelle version de PrestaPricing qui permet d'arrondir les prix remisés, je me rends compte que  ce très vieux bug ne semble toujours pas résolu dans la version actuelle de PrestaShop (1.6.1 ou .2)

 

Exemple : je crééi un produit vendu 200€ HT + 20% de TVA =240€TTC avant remise

Je lui ajoute une écotax (sans TVA) de 50€

Prix total produit avant remise 290€

 

J'applique un prix spécifique donnant droit à une réduction de 10%. Ne doit s'appliquer que sur les 240€ => 216€

On doit donc afficher un prix final de 216€ + 50€ = 266€

 

Et voila ce que cela donne dans PrestaShop, 261€ (il applique 10% sur 290€, ce qui est faux):

 

post-35672-0-60444800-1448457728_thumb.png

 

Le plus marrant c'est le texte du dessous :-)  Faites ce que je dis, pas ce que je fais...

 

Et c'est bien ce prix faux qui est ensuite facturé si on valide la commande.

 

Comment un truc aussi vieux (et critique pour ceux qui vendent avec ecotaxes) peut il encore exister avec toutes les mises à jour qu'il y a eu depuis ce vieux post ?

 

Crdlt

Franck

Share this post


Link to post
Share on other sites

Je viens de mettre à jour en 1.6.1.4...  toujours le problème de calcul.

 

comment peut-on faire pour que ce soit corrigé un jour ?

Edited by gge67 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

J'avais le meme problème avec la version 1.6.1.13... (soit la dernière version à l'heure actuel). Pour avoir parcouru beaucoup de forum le problème date de 2010!

 

Après plusieurs heure de recherche j'ai trouvé la ligne concerné posant problème.

 

Dans le fichier class/product.php 

 

Modifier la ligne 3101

// Reduction
        $specific_price_reduction = 0;
        if (($only_reduc || $use_reduc) && $specific_price) {
            if ($specific_price['reduction_type'] == 'amount') {
                $reduction_amount = $specific_price['reduction'];

                if (!$specific_price['id_currency']) {
                    $reduction_amount = Tools::convertPrice($reduction_amount, $id_currency);
                }

                $specific_price_reduction = $reduction_amount;

                // Adjust taxes if required

                if (!$use_tax && $specific_price['reduction_tax']) {
                    $specific_price_reduction = $product_tax_calculator->removeTaxes($specific_price_reduction);
                }
                if ($use_tax && !$specific_price['reduction_tax']) {
                    $specific_price_reduction = $product_tax_calculator->addTaxes($specific_price_reduction);
                }
            } else {
                $specific_price_reduction = $price * $specific_price['reduction'];
            }
        }

 

Par

$specific_price_reduction = (($price-$ecotax) * $specific_price['reduction']); 
               
 

Afin de retirer l'ECO-TAXE de la réduction.

 

 

 

Résultat:

 

Eco_Taxe.png
 
Pour un article à 100 € HT + 10€ Eco-Taxe soit un total de 110€ HT
Si on applique une réduction de 20% alors le prix sera de:
            110€ - ((110€ - 10€) * 0,2)  => 110€ - 20€ = 90€
 
Le seul petit problème est que maintenant le panier affiche une réduction de -18,18% au lieu de 20%... mais le résultat est bon!
Edited by OfficePlus (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

Je fais remonter un ancien topic mais ce problème de calcul d'ecotax est toujours présent avec la version 1.7....

J'ai modifiée également le fichier product .php mais cela ne fonctionne pas :(

Quelqu'un aurait-il une solution pour cette nouvelle version ?

 

Merci par avance !

 

 

Share this post


Link to post
Share on other sites

Bonjour, 

Après une semaine de recherche j'ai enfin trouvé la solution sous prestashop 1.7.

Si vous souhaitez que l'écotaxe ne soit pas prise en compte dans les réductions il suffit de : 

Dans le fichier product.php, déplacez le bloc :

// Eco Tax
if (($result['ecotax'] || isset($result['attribute_ecotax'])) && $with_ecotax) {
$ecotax = $result['ecotax'];
if (isset($result['attribute_ecotax']) && $result['attribute_ecotax'] > 0)

{ $ecotax = $result['attribute_ecotax']; }

if ($id_currency)

{ $ecotax = Tools::convertPrice($ecotax, $id_currency); }

if ($use_tax) {
static $psEcotaxTaxRulesGroupId = null;
if ($psEcotaxTaxRulesGroupId === null)

{ $psEcotaxTaxRulesGroupId = (int) Configuration::get('PS_ECOTAX_TAX_RULES_GROUP_ID'); }

// reinit the tax manager for ecotax handling
$tax_manager = TaxManagerFactory::getManager(
$address,
$psEcotaxTaxRulesGroupId
);
$ecotax_tax_calculator = $tax_manager->getTaxCalculator();
$price += $ecotax_tax_calculator->addTaxes($ecotax);
} else

{ $price += $ecotax; }

}
"
après

"if ($only_reduc)

{ return Tools::ps_round($specific_price_reduction, $decimals); }

"

 

Share this post


Link to post
Share on other sites
On 7/3/2018 at 10:51 AM, 1261994_1508441899 said:

Bonjour,

Je fais remonter un ancien topic mais ce problème de calcul d'ecotax est toujours présent avec la version 1.7....

J'ai modifiée également le fichier product .php mais cela ne fonctionne pas :(

Quelqu'un aurait-il une solution pour cette nouvelle version ?

 

Merci par avance !

 

 

Bonjour, 

Après une semaine de recherche j'ai enfin trouvé la solution sous prestashop 1.7.

Si vous souhaitez que l'écotaxe ne soit pas prise en compte dans les réductions il suffit de : 

Dans le fichier product.php, déplacez le bloc :

// Eco Tax
if (($result['ecotax'] || isset($result['attribute_ecotax'])) && $with_ecotax) {
$ecotax = $result['ecotax'];
if (isset($result['attribute_ecotax']) && $result['attribute_ecotax'] > 0)

{ $ecotax = $result['attribute_ecotax']; }

if ($id_currency)

{ $ecotax = Tools::convertPrice($ecotax, $id_currency); }

if ($use_tax) {
static $psEcotaxTaxRulesGroupId = null;
if ($psEcotaxTaxRulesGroupId === null)

{ $psEcotaxTaxRulesGroupId = (int) Configuration::get('PS_ECOTAX_TAX_RULES_GROUP_ID'); }

// reinit the tax manager for ecotax handling
$tax_manager = TaxManagerFactory::getManager(
$address,
$psEcotaxTaxRulesGroupId
);
$ecotax_tax_calculator = $tax_manager->getTaxCalculator();
$price += $ecotax_tax_calculator->addTaxes($ecotax);
} else

{ $price += $ecotax; }

}
"
après

"if ($only_reduc)

{ return Tools::ps_round($specific_price_reduction, $decimals); }

"

Share this post


Link to post
Share on other sites

Hello 1000 Merci pour la solution sous 1.7.6.1 C'est OK dans le FO

J'ai une autre question qui est reliée a cela mais pas directement à cet affichage dans la page produit FO, c'est du coté BO

C'est dans la page Produit du BO

Effectivement c'est dans cette page que l'on inscrit le montant de la taxe EcoTax,

En Suisse elle est de 0.40 CHF pour un petit appareil. pas de prb de ce coté là.

Simplement si j'inscrit par exemple sur un produit

MC1 Condenser Lanen Prodipe Pro MC1 Condenser Microphone à condensateur 137,98 CHF    149,00 CHF Vue complète des produits

J'ouvre le produit en question pour le modifier

Sous Prix

Montant (HT)

137,975859 CHF

Montant (TTC)

148.971401 CHF

Prix unitaire (HT) 

0,000000 CHF

Éco-participation (TTC)

0,371402 CHF

Le problème est que Si je modifie la fiche produit ... Je suis obligé de mettre le prix TTC avant de sauver, soit

Montant (HT)

137,975859 CHF

Montant (TTC)

149.00 CHF

Prix unitaire (HT) 

0,000000 CHF

Éco-participation (TTC)

0.40 CHF

 

Pourquoi les prix TTC, ne sont pas affiché en TTC comme sauvé normalement ?

Si il y a une solution je suis preneur

 

Merci de votre aide précieuse

Maurice

 

Share this post


Link to post
Share on other sites

Je suis moi-même développeur PHP , j'ai ce problème depuis que l'eco taxe existe avec mes clients.

Plusieurs ticket on été envoyer au support et rien ne change.

Il faut savoir que celons la loi, il y a une TVA applicable sur l'eco taxe. Le champs est bien présent dans prestashop, on peut renseigner une tva sur l'ecotaxe.

Et la tout s’emballe 😢,  Prestashop est perdu et affiche n'importe quoi comme tarif, depuis la fiche produit jusqu’à la facturation.

Cela demanderais trop de modifications PHP pour un développeur indépendant, il faudrait modifier le coeur et l'admin de prestashop et ces modifications risquent de disparaître ou n’être plus compatible à chaque mise a jour.

La seul solution est que Prestashop résolve ce problème ?

Actuellement aucun site français développé avec Prestashop qui utilise l'eco-taxe(soumis a TVA) n'est en accord avec la loi !!

Benoit

Share this post


Link to post
Share on other sites

Hello En cherchant ...

Voici la solution qui fonctionne pour nous en version 1.7.6.1

Pour les prix avec Ecotax dans le back oiffice :

https://github.com/PrestaShop/PrestaShop/issues/10026#issuecomment-457350536

Salutations Maurice

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More