Quote Requests - B2B quotes & hide prices. Quote Requests permet à vos clients de demander un devis au lieu d'acheter tout de suite. Vous pouvez, si vous le souhaitez, masquer les prix par groupe, par catégorie ou par produit, traiter les demandes reçues depuis un gestionnaire de devis dans le back office, avec des prix négociés, une validité, un PDF et un e-mail, et laisser le client accepter le devis pour le transformer en commande.

Quote Requests permet à vos clients de demander un devis au lieu d'acheter tout de suite. Vous pouvez, si vous le souhaitez, masquer les prix par groupe, par catégorie ou par produit, traiter les demandes reçues depuis un gestionnaire de devis dans le back office, avec des prix négociés, une validité, un PDF et un e-mail, et laisser le client accepter le devis pour le transformer en commande.

1. Installation

  1. Dans le back office, allez dans Modules → Gestionnaire de modules → Téléverser un module et sélectionnez le ZIP du module.
  2. Une fois l'installation terminée, cliquez sur Configurer pour ouvrir l'assistant.
Les mises à jour sont automatiques. Les mises à jour sont incluses. Les domaines de développement (.local, .test, localhost) sont toujours autorisés. Dès qu'une nouvelle version est disponible, elle est signalée directement dans le module.

Si, à la place de la confirmation, vous lisez « Upload failed », PrestaShop a peut-être désactivé le module sans vous le dire : vos réglages et vos données restent en place. Comment mettre à jour un module, et que faire en cas de « Upload failed ».

2. Configuration : étape par étape

Le module compte trois onglets : Devis (le gestionnaire où arrivent toutes les demandes, avec les prix convenus ligne par ligne, la validité, le PDF et l'e-mail), Nouveau devis (en créer un pour un client à partir de son identifiant) et Réglages. Tout ce qui suit se trouve dans l'onglet Réglages.

Réglages

L'onglet Réglages décide où apparaît le bouton de devis, si les prix sont masqués, qui a le droit de demander un devis et comment se comportent les devis émis. Commencez par les groupes Bouton de devis et périmètre.

  • Activer les demandes de devis : l'interrupteur général de toute la fonction côté boutique.
  • Afficher le bouton sur la fiche produit : ajoute le bouton de devis aux fiches produits.
  • Afficher « demander un devis pour ce panier » sur la page panier : permet au client de transformer tout un panier en demande de devis.
  • Libellé du bouton par langue : la formulation, langue par langue ; laissez vide pour utiliser la traduction d'origine (« Demander un devis »).
  • Appliquer à (périmètre) : choisissez Tous les produits, Catégories choisies, Groupes de clients choisis ou Produits choisis. C'est ce qui décide où le bouton s'affiche et où s'applique le masquage facultatif des prix.
  • Identifiants de catégories / de groupes de clients / de produits : les identifiants séparés par des virgules ou des espaces, utilisés par le périmètre correspondant.
Réglages, bouton, périmètre
Réglages : bouton de devis et périmètre d'application

La partie basse du formulaire concerne le masquage des prix, le contrôle d'accès, le comportement des devis émis et le traitement des données.

  • Masquer le prix et l'ajout au panier dans le périmètre : si l'option est active, les produits du périmètre n'affichent que le bouton de devis (ni prix, ni ajout au panier) : idéal pour un catalogue B2B.
  • Identifiants des groupes autorisés : seuls ces groupes peuvent demander un devis ; laissez vide pour autoriser tout le monde, invités compris.
  • Validité par défaut (jours) : préremplit la date de validité quand vous émettez un devis.
  • E-mail de notification des nouvelles demandes : où sont signalées les nouvelles demandes ; vide = l'adresse de la boutique.
  • Joindre un PDF à l'e-mail du devis : ajoute un PDF du devis au moment de l'envoi.
  • Supprimer les données à la désinstallation : si l'option est active, la désinstallation efface tous les devis. Laissez-la désactivée pour conserver l'historique.
Réglages, masquage des prix, accès, devis, données
Réglages : masquage des prix, accès, devis émis et données

3. Vérifier que tout fonctionne

  • Ouvrez sur le front office un produit compris dans votre périmètre : le bouton de devis doit apparaître (et, si le masquage est actif, le prix et l'ajout au panier doivent avoir disparu).
  • Envoyez une demande de devis depuis la boutique : elle doit arriver dans l'onglet Devis et déclencher un e-mail de notification.
  • Ouvrez le devis, saisissez les prix convenus et une date de validité, puis utilisez Envoyer au client : vérifiez que l'e-mail arrive, avec le PDF si vous l'avez activé.
  • En tant que client connecté, acceptez le devis (ou utilisez Créer le panier aux prix convenus dans le back office) et vérifiez qu'une commande est créée aux prix convenus.

4. Questions fréquentes

Puis-je masquer les prix seulement pour certains clients ?

Oui. Réglez le périmètre sur Groupes de clients choisis (ou sur des catégories, ou des produits) et activez Masquer le prix et l'ajout au panier dans le périmètre.

Un visiteur non inscrit peut-il demander un devis ?

Oui, si vous laissez vide le champ Identifiants des groupes autorisés. Attention toutefois : seuls les clients inscrits peuvent accepter un devis en ligne.

Dois-je modifier mon thème ?

Non. Quote Requests passe par les hooks standard et fonctionne avec n'importe quel thème.

Comment un devis devient-il une commande ?

Le client accepte le devis, ou bien vous utilisez Créer le panier aux prix convenus dans le back office pour monter un panier aux prix négociés.

5. Ce qu’un prix « masqué » cache vraiment, et le piège SEO des données structurées

Le masquage visuel du prix (Hide price and add-to-cart in scope ci-dessus) s'appuie sur une règle CSS sur le bloc de prix, via une classe ajoutée côté serveur quand la condition de masquage est remplie. Le prix reste présent dans le code source de la page, simplement invisible à l'affichage: quiconque consulte le code source, ou fait tourner un script de collecte basique, peut toujours le récupérer. Pour empêcher un concurrent occasionnel de comparer visuellement les tarifs, cela suffit largement; pour empêcher un scraping automatisé systématique de toute la grille tarifaire, le masquage visuel seul ne suffit pas, et la protection réelle vient alors d'ailleurs (authentification, limitation des requêtes), pas de la classe CSS elle-même.

Une page produit expose généralement un prix dans ses données structurées (schema.org, balise offers) pour que les moteurs de recherche puissent l'afficher dans les résultats enrichis. Masquer visuellement le prix sans adapter ces données structurées laisse un prix, potentiellement périmé dès qu'il change, visible directement dans les résultats de recherche, en dehors de toute page consultée par un visiteur. C'est un des angles morts les plus fréquents d'une mise en place rapide du masquage de prix: le réglage visuel est fait, la donnée structurée qui alimente Google ne l'a pas suivi.

Où est appliqué le prix négocié

Une fois qu'un client B2B a un prix négocié issu d'un devis, il est appliqué côté serveur via une règle de panier liée au devis accepté (voir Build cart with agreed prices ci-dessus), jamais à partir d'une valeur transmise par le formulaire du navigateur: tout ce qui est calculé ou transmis côté client peut être modifié par un client suffisamment motivé avant l'envoi de la requête.

Chargement...
Retour en haut