Géolocalisation pour PrestaShop : prix, devise et langue par pays
Chaque visiteur arrive dans la langue, la devise et le prix de son pays, automatiquement. Règles par pays, sélecteur…
- PS 1.7.6+
- PS 8
- PS 9
Une question avant d’acheter ? Parlez-nous de votre boutique, nous vous répondons sous 24 heures.
Posez votre questionQuand vous mettez un produit en promotion, votre client voit le prix barré et, à côté, une ligne de plus : le prix le plus bas pratiqué pour ce produit au cours des 30 derniers jours. C'est ce qu'exige la loi dans toute l'Union européenne chaque fois que vous annoncez une réduction de prix. PrestaShop ne le fait pas, et ne garde pas non plus les prix des jours passés pour pouvoir le calculer.

Votre veste coûte d'habitude 49,99 €. Il y a deux semaines, vous l'avez proposée quelques jours à 39,99 €. Aujourd'hui, vous la passez à 29,99 €. PrestaShop annonce « −40 % » et une économie de 20 €, calculées sur les 49,99 €. Avec le module, votre client lit « Prix le plus bas des 30 derniers jours avant la réduction : 39,99 € », et la remise et l'économie partent de ce chiffre : −25 % et 10 €. C'est le calcul que demande la Cour de justice de l'UE.
La ligne apparaît là où votre client voit le prix réduit : sur la fiche produit et dans les listes de catégorie et de recherche. Si le produit a des déclinaisons, chaque taille ou couleur a son propre prix le plus bas, car chacune a pu avoir un prix différent. Vous choisissez à quel endroit du bloc prix elle se place, sur la fiche et dans les listes, et si votre thème est sur mesure, votre développeur la met où il veut avec une seule ligne dans le gabarit.

En septembre 2024, la Cour de justice de l'UE l'a dit clairement dans l'affaire Aldi Süd (C-330/23) : le pourcentage et l'économie que vous annoncez se calculent sur le prix le plus bas des 30 derniers jours, et non sur votre prix habituel. PrestaShop calcule le « −X % » sur le prix avant réduction, et beaucoup de modules Omnibus se contentent d'ajouter la ligne du prix le plus bas en dessous. Votre boutique affiche alors le bon chiffre et, à côté, un pourcentage que la loi n'autorise pas.
Le module recalcule le « −X % » et l'économie sur le prix le plus bas des 30 jours, sur la fiche produit et dans les listes. Ce que votre client lit sur le badge de remise et ce qu'il lit dans la ligne du prix le plus bas concordent.
Pour savoir quel était le prix le plus bas, il faut que quelqu'un l'ait noté. Le module tient son propre historique : par produit, par déclinaison, par boutique et par devise. Il enregistre tout seul chaque changement de prix, et une promotion programmée est notée à l'heure exacte où elle commence ou finit, sans tâche planifiée (cron) à configurer chez votre hébergeur.
Le module prend les prix de votre boutique ce jour-là comme point de départ. Si des promotions avec une date de début sont déjà en cours, il note aussi le prix qu'elles avaient juste avant de commencer, tiré de votre propre boutique. Ce qu'il ne sait pas, il ne l'invente pas : une réduction dont il ne connaît pas le prix antérieur n'est pas annoncée (ni prix barré, ni pourcentage, ni badge promo) tant que vous n'avez pas importé votre historique.
Chaque changement est noté avec sa date, et le prix le plus bas se calcule toujours sur les 30 jours qui précèdent la réduction. Les promotions que vous programmez avec des dates sont notées à leur heure exacte, même si vous n'ouvrez pas le back-office ce jour-là.
Chaque boutique a son propre historique. Si vos prix en zlotys sont convertis depuis l'euro, le prix le plus bas en zlotys est reconstitué avec le taux de change de chaque jour ; si vous donnez à un produit ses propres prix en zlotys, ils ont leur propre historique.
Vous l'installez à la veille d'une opération ? Inutile d'attendre 30 jours : importez vos prix antérieurs et le module s'en sert pour la période qui précède son propre historique, sans jamais écraser ce qu'il a noté.

Il prend le prix réellement facturé dans chaque commande sur la période que vous choisissez et le considère valable jusqu'à la commande suivante de ce produit. Il écarte ce qui n'était pas le prix pour tous : clients professionnels, remises sur quantité et prix négociés avec un client.
Si vos prix antérieurs sont dans votre ERP ou dans un tableur, importez-les dans un CSV par produit, déclinaison, boutique et devise, TTC ou HT. Avant l'import, un aperçu vous montre les erreurs ligne par ligne.
Un nouvel import remplace le précédent du même type. Ce que le module a noté lui-même n'est jamais touché.
Si on vous demande pourquoi un produit affiche ce prix antérieur, ou pourquoi une réduction n'a pas de pourcentage, la réponse est dans votre back-office.

Un onglet du module sur la fiche de chaque produit, dans le back-office, vous indique, déclinaison par déclinaison, le prix du jour, depuis quand il est réduit, le prix antérieur, ce que fait le module de cette réduction et pourquoi, avec les changements de prix qui l'expliquent.
L'écran du module vérifie que votre thème a l'emplacement où va la ligne, vous prévient si un cache de pages entières peut servir un ancien prix et compte les réductions sans prix antérieur connu, pour que vous les importiez.
Si vous désinstallez ou réinitialisez le module, l'historique reste : c'est la preuve des prix que vous avez annoncés. Il n'est supprimé que si vous cochez la case prévue pour cela.
La directive laisse chaque pays trancher certains cas, et tous n'ont pas fait le même choix. Le module vous permet de les régler pour chaque pays où vous vendez. Ils s'appliquent selon le pays de votre visiteur, fourni par notre module Géolocalisation pour PrestaShop : prix, devise et langue par pays si vous l'avez, ou par le pays que détecte votre boutique.

Si vous baissez le prix par paliers pendant une opération, là où la loi le permet, la référence est le prix d'avant le premier palier. Il est activé d'office pour l'Allemagne et la France.
Un produit en vente depuis moins de 30 jours n'a pas 30 jours d'historique. Par défaut, en Espagne, sa réduction s'affiche telle quelle ; dans les autres pays, le prix le plus bas se compte depuis sa mise en vente. Vous pouvez modifier les deux listes de pays.
La règle protège le consommateur. Si vous vendez aussi aux entreprises, excluez leurs groupes de clients et ils ne verront pas la ligne.
L'article 6 bis de la directive 98/6/CE, ajouté par la directive (UE) 2019/2161, celle que tout le monde appelle Omnibus, s'applique depuis le 28 mai 2022 : chaque fois que vous annoncez une réduction de prix, vous devez indiquer le prix antérieur, ou prix de référence, c'est-à-dire le prix le plus bas que vous avez pratiqué au cours des 30 jours précédents.
En Espagne, le ministère de la Consommation a infligé 350 000 € d'amendes au total à sept boutiques en ligne pour leurs promotions du Black Friday 2023, et le Tribunal supérieur de justice de Madrid les a confirmées en octobre 2025. En Pologne, l'autorité de la consommation (UOKiK) a condamné Zalando en janvier 2026 à 30,9 millions de zlotys, dans une décision encore susceptible de recours.
Où le dit la loi de chaque pays
Presque tous les modules Omnibus affichent une ligne avec un prix. Ce qui distingue un module qui fait le bon calcul d'un module qui en a seulement l'air tient dans ces questions : posez-les à n'importe lequel avant d'acheter.
| Question | Ce module | Pourquoi c'est important |
|---|---|---|
| Calcule-t-il le « −X % » sur le prix le plus bas des 30 jours ? | Oui | C'est ce qu'exige l'arrêt Aldi Süd. Un pourcentage calculé sur le prix habituel reste une réduction mal annoncée, même avec la ligne du prix le plus bas en dessous. |
| Garde-t-il le prix le plus bas de chaque déclinaison ? | Oui | La taille M et la taille XL ont pu avoir des prix différents. |
| Sépare-t-il boutiques et devises ? | Oui | Le prix le plus bas en euros ne dit rien du prix en zlotys ou en couronnes. |
| A-t-il besoin d'une tâche planifiée ? | Non | Si le cron s'arrête, le prix le plus bas n'est plus à jour sans que personne s'en aperçoive. |
| Que fait-il des prix d'avant son installation ? | Il les importe de vos commandes ou d'un CSV | Un module qui remplit 30 jours en arrière sans données suppose des prix qu'il ne connaît pas. |
| Et s'il ne connaît pas le prix antérieur d'une réduction ? | Il ne l'annonce pas | Un prix barré ou un pourcentage sans prix antérieur derrière, c'est exactement ce que la règle interdit. |
| Fonctionne-t-il sur mon PrestaShop ? | De 1.6.1 à 9.x | Beaucoup de boutiques qui font des promotions sont encore en 1.6 ou 1.7. |
C'est la directive (UE) 2019/2161, qui a ajouté aux règles européennes d'indication des prix une règle sur les réductions : quand vous annoncez une réduction de prix, vous devez indiquer le prix le plus bas pratiqué au cours des 30 jours précédents. En France, c'est l'article L112-1-1 du Code de la consommation, qui l'applique aussi aux services : le prix de référence est le prix le plus bas pratiqué au cours des 30 jours précédant la réduction. Elle s'applique dans toute l'UE depuis le 28 mai 2022.
PrestaShop ne garde pas l'historique des prix : il faut un module qui l'enregistre et l'affiche à côté du prix réduit. Celui-ci le fait sur la fiche produit et dans les listes, par déclinaison, boutique et devise, dès le jour de l'installation.
Sur le prix le plus bas des 30 derniers jours. La Cour de justice de l'UE l'a dit dans l'affaire Aldi Süd (C-330/23, septembre 2024) : un « −30 % » calculé sur le prix habituel n'est pas valable si le produit était déjà moins cher le mois précédent. Le module recalcule le pourcentage et l'économie sur ce prix le plus bas.
Non. L'obligation naît quand vous annoncez une réduction : un prix barré, un pourcentage ou un « avant » et « maintenant ». Si vous changez seulement un prix sans l'annoncer, il n'y a rien à afficher, et le module n'affiche rien.
Non, si vous vendez uniquement aux entreprises : la règle protège le consommateur. Si vous vendez aux deux dans la même boutique, excluez dans le module les groupes de vos clients professionnels et seuls les particuliers verront la ligne.
Le module démarre avec les prix de votre boutique ce jour-là et n'invente pas les précédents. Pour ne pas attendre 30 jours, importez-les : depuis vos commandes, avec le prix réellement facturé, ou depuis un CSV avec vos prix. Ce que vous importez ne remplit que la période antérieure à l'historique du module.
Certains pays autorisent, pour une réduction qui augmente, à prendre comme référence le prix d'avant le premier palier. Le module vous permet de l'activer dans les pays où c'est autorisé ; il est activé d'office pour l'Allemagne et la France.
Non. Chaque changement de prix s'enregistre tout seul, et les promotions que vous programmez avec des dates sont notées à l'heure exacte où elles commencent ou finissent. Si votre boutique reste des jours sans visites, une URL de cron facultative évite tout retard.
Oui. Il fonctionne de PrestaShop 1.6.1 à 9.x et il est testé sur 1.6.1, 1.7.5, 1.7.8, 8.1 et 9.0, en multiboutique et avec plusieurs devises, sur PHP 5.6 à 8.4.
Par défaut, la réduction n'est pas annoncée : le produit se vend au prix réduit, mais sans prix barré, sans pourcentage et sans badge promo. Dès que vous importez votre historique de commandes ou un CSV avec vos prix, le module connaît le prix antérieur et la réduction s'annonce avec son prix le plus bas.
Il reste dans votre base de données, car c'est la preuve des prix que vous avez annoncés. Il n'est supprimé que si vous cochez d'abord la case pour le supprimer à la désinstallation.
À l'installation, le module enregistre les prix du jour, récupère le prix antérieur des promotions en cours qui ont une date de début, et la ligne commence à s'afficher sur vos produits en réduction. Pas de thème à modifier ni de tâche planifiée à créer.
Réductions progressives et nouveautés de moins de 30 jours, activées ou non pour chaque pays où vous vendez.
Choisissez les groupes de clients qui ne doivent pas voir la ligne, comme vos comptes entreprise.
Appliquez-le à tout le catalogue ou seulement à certaines catégories (avec leurs sous-catégories), marques ou produits, et excluez ceux que vous voulez. L'historique est gardé pour tout, donc l'élargir plus tard ne fait rien perdre.
Choisissez où elle se place sur la fiche et dans les listes, changez son texte dans chaque langue et décidez si le prix barré et le pourcentage sont recalculés sur le prix le plus bas ou masqués pour n'afficher que la ligne.

Une question avant d’acheter ? Parlez-nous de votre boutique, nous vous répondons sous 24 heures.
Posez votre questionUn module, une application, un serveur qui pose problème ou quelque chose d’urgent. Nous répondons sous 24 heures, avec un devis ferme, prix et date compris.