Augmenter les prix des produits sous Prestashop avec une requête SQL
Introduction
Si vous gérez une boutique en ligne avec Prestashop, il peut arriver que vous souhaitiez augmenter les prix de vos produits de manière automatique. Cette opération peut être fastidieuse à réaliser manuellement, surtout si vous avez un grand nombre de produits à modifier. Heureusement, il existe une solution simple et rapide : une requête SQL.
Comment ça fonctionne ?
La requête SQL va permettre d'ajouter un pourcentage à tous les prix des produits de votre boutique. Elle prendra également en compte la TVA du produit pour créer un prix TTC arrondi.
Voici la requête :
#exemple 5% avec arrondi du prix ttc sur la base d'une tva à 5.5% pour les produits d'une liste de catégorie UPDATE ps_product p INNER JOIN ps_category_product cp ON p.id_product = cp.id_product INNER JOIN ps_category c ON cp.id_category = c.id_category SET p.price =(CEIL(price * 1.055 *1.05* 10) / 10) / 1.055 WHERE p.price IS NOT NULL AND c.id_category NOT IN (7, 62, 63); #on met à jour également product_shop UPDATE ps_product_shop p INNER JOIN ps_category_product cp ON p.id_product = cp.id_product INNER JOIN ps_category c ON cp.id_category = c.id_category SET p.price =(CEIL(price * 1.055 *1.05* 10) / 10) / 1.055 WHERE p.price IS NOT NULL AND c.id_category NOT IN (7, 62, 63);
#exemple sans arrondir le ttc UPDATE ps_product p INNER JOIN ps_category_product cp ON p.id_product = cp.id_product INNER JOIN ps_category c ON cp.id_category = c.id_category SET p.price =(CEIL(price *1.05* 10) / 10) WHERE p.price IS NOT NULL AND c.id_category NOT IN (7, 62, 63); #on met à jour également product_shop UPDATE ps_product_shop p INNER JOIN ps_category_product cp ON p.id_product = cp.id_product INNER JOIN ps_category c ON cp.id_category = c.id_category SET p.price =(CEIL(price *1.05* 10) / 10) WHERE p.price IS NOT NULL AND c.id_category NOT IN (7, 62, 63);
#exemple avec supplier donné (arrondi au ttc 5.5% ) + 3% UPDATE ps_product p SET p.price =(CEIL(price * 1.055 *1.05* 10) / 10) / 1.055 WHERE p.price IS NOT NULL AND p.id_supplier IN (2, 36); #on met à jour également product_shop UPDATE ps_product_shop ps INNER JOIN ps_product p ON p.id_product = ps.id_product SET ps.price =(CEIL(ps.price * 1.055 *1.05* 10) / 10) / 1.055 WHERE ps.price IS NOT NULL AND p.id_supplier IN (2, 36);
Ces requêtes ajoutent 5% à vos prix (*1.05) , à vous d'adater avec un peu de math!
Et bien sûr, même si la période ne s'y prête pas, vous pouvez adapter pour une réduction de prix.
Conclusion
En utilisant cette requête SQL, vous pouvez rapidement augmenter les prix de vos produits sur Prestashop. N'oubliez pas de faire une sauvegarde de votre base de données avant de lancer la requête, au cas où vous rencontreriez des problèmes.
Nous espérons que cette astuce vous sera utile pour gagner du temps dans la gestion de votre boutique en ligne !