Devis B2B sur PrestaShop : demandes, prix négociés et commande
Le parcours complet d'une demande de devis B2B dans PrestaShop : réglages, proposition avec prix négociés, acceptation, panier et limites du module.
Un client professionnel demande un prix pour 200 pièces, puis attend une réponse par e-mail. Le prix convenu se perd dans la boîte de réception, la commande est ressaisie à la main, et le client finit parfois par payer le tarif catalogue. Le module Devis B2B enregistre la demande, la proposition et l'acceptation dans la boutique, puis place les produits dans le panier aux prix négociés. Voici comment l'installer, régler les options utiles et suivre un devis jusqu'à la commande.
À quoi sert un module de devis B2B dans une boutique PrestaShop ?
Il transforme une demande de prix en proposition datée, puis en panier aux prix négociés, sans ressaisie dans le back-office.
Dans une boutique B2B, la négociation fait partie de la vente. Un grossiste, un fabricant ou un distributeur qui achète pour revendre ou pour un chantier veut un prix pour une quantité précise, et une réponse claire : combien, pour quelle quantité, jusqu'à quand. Sans outil dédié, cette conversation vit hors de la boutique et ne laisse aucune trace.
Le module s'adresse aux boutiques qui vendent aux professionnels et négocient déjà, même occasionnellement. Il n'est pas utile à une boutique qui vend uniquement au tarif catalogue, sans quantité négociée ni compte professionnel : un formulaire de contact suffit. Il ne remplace pas les moyens de paiement ni les transporteurs de la boutique, qui s'appliquent toujours à la commande.
Il fonctionne sur PrestaShop 1.7.8, 8.0+ et 9.0+, avec PHP 7.4 ou plus, sur les thèmes Classic et Hummingbird. Aucun service externe n'est nécessaire pour les devis, les e-mails ou les PDF ; seule la licence est vérifiée auprès du serveur de licences. La fiche du module Devis B2B résume les fonctions, et la documentation détaille chaque écran.
Comment activer les demandes de devis, étape par étape ?
Installez l'archive, activez la licence dans la page de configuration, puis réglez les groupes autorisés et les emplacements du bouton.
Dans le back-office, ouvrez Modules > Gestionnaire de modules, cliquez sur Téléverser un module et sélectionnez le fichier ZIP. Cliquez ensuite sur Configurer et saisissez la clé et le secret de votre licence. Le module apparaît dans le menu WePresta > Devis B2B sur PrestaShop 9, ou dans Modules > Devis B2B sur PrestaShop 1.7.8 et 8.
Ouvrez Réglages et activez les demandes. Choisissez les groupes de clients autorisés, puis affichez ou masquez le bouton sur la fiche produit et sur la page panier. Réglez la validité par défaut d'une proposition, les destinataires des notifications et, si besoin, une remise par défaut par groupe client.
Décidez qui peut demander un devis. Les clients connectés d'un groupe autorisé voient le bouton. Pour ouvrir le formulaire aux visiteurs sans compte, activez les devis sans compte, laissez le groupe « Visiteur » autorisé et réglez la durée de vie des liens signés envoyés par e-mail.
Réglez ce que les clients peuvent envoyer et recevoir : pièces jointes et types de fichiers, messages des clients, PDF joint à la proposition, validation au-delà d'un montant et mode catalogue. Dans la section Tâche planifiée, copiez l'adresse ou la commande dans votre gestionnaire cron, puis vérifiez la dernière exécution. Le Diagnostic affiche les versions, le thème, l'envoi des e-mails, le stockage et l'état de la tâche.
Comment répondre à une demande et envoyer une proposition ?
Ouvrez le devis dans Devis B2B > Devis, saisissez un prix unitaire négocié HT ou une remise par ligne, puis cliquez sur Envoyer la proposition.
La liste affiche la référence, le client, la société, le statut, le responsable, le total HT et les messages non lus. Filtrez sur le statut Nouveau et ouvrez la demande. Sur la fiche, chaque ligne reprend le prix catalogue HT de la demande. Saisissez le prix négocié ou un pourcentage de remise : l'un met l'autre à jour. Ajoutez une date de validité, un message au client et, si convenu, l'option Livraison offerte.
Cliquez sur Recalculer pour vérifier les totaux HT, taxes et TTC. Ils suivent les règles de taxe et d'arrondi de la boutique, et une note rappelle que le montant TTC dépend de l'adresse du client. Chaque envoi crée une version conservée avec son PDF, joint à l'e-mail dans la langue du client si l'option est active.
Le client peut répondre avec un message et un prix cible par ligne, et joindre des fichiers lorsque la messagerie et les pièces jointes sont activées. La contre-offre reste dans la conversation, et le dernier prix cible de chaque ligne s'affiche à côté du prix négocié. Un revendeur demande un prix sur une palette complète : vous répondez par un prix négocié et une date de validité, il accepte et commande aussitôt. Pour une demande reçue par téléphone, Nouveau devis crée un brouillon pour un compte existant ou un nouveau contact ; il reste invisible jusqu'à l'envoi.
Que se passe-t-il quand le client accepte le devis ?
Les produits et quantités devisés rejoignent son panier aux prix négociés, posés comme des prix spécifiques natifs liés à ce panier et à ce client.
Avant d'accepter, le module vérifie que chaque produit existe, qu'il est actif et commandable, que la déclinaison appartient au produit et que le stock suffit, sauf si les commandes en rupture sont autorisées. Si un produit pose problème, rien n'est ajouté, le devis revient à Proposition envoyée et le client lit le nom du produit concerné.
L'acceptation ne vide pas le panier. Les produits déjà présents restent, et une ligne du même produit est remontée à la quantité devisée lorsque la quantité déjà présente est inférieure, jamais abaissée. La livraison offerte, lorsqu'elle est accordée, est appliquée par une règle de panier native nommée « Livraison offerte (devis Q…) ». Le client est redirigé vers la commande et paie avec les moyens de paiement de la boutique.
Les prix négociés restent valables jusqu'à la fin de la date de validité, ou 24 heures après l'acceptation lorsque cette date est plus lointaine. Ils ne valent que pour ce panier : une commande ultérieure repart aux prix catalogue, et une quantité inférieure à celle du devis repasse au prix catalogue.
Peut-on masquer les prix et vendre uniquement sur devis ?
Oui, le mode catalogue du module masque les prix et remplace « Ajouter au panier » par « Demander un devis » pour les groupes, catégories ou produits choisis.
Deux interrupteurs fonctionnent indépendamment : Masquer les prix et Remplacer « Ajouter au panier » par « Demander un devis ». Un produit est concerné lorsque le visiteur appartient à un groupe choisi et que le produit fait partie des catégories ou des produits sélectionnés ; si aucune sélection n'est faite, tout le catalogue du groupe l'est.
Le panier et la commande ne sont jamais modifiés. Un client avec un panier négocié peut commander, et les paniers du back-office comme l'acceptation d'un devis restent ouverts. Dans les listes Hummingbird, la tuile affiche le lien « Voir les détails » du thème à la place d'« Ajouter au panier » ; le bouton de devis est sur la fiche produit. Le mode catalogue natif de PrestaShop doit rester désactivé pour commander : celui du module est distinct.
Que se passe-t-il si la licence n'est plus valide ?
Depuis la version 1.1.1, une licence invalide désactive entièrement le module, qui conserve vos devis, vos messages, vos fichiers et vos réglages.
Sans licence valide — expirée, suspendue, révoquée, non reconnue pour ce domaine ou absente —, les boutons « Demander un devis » et le formulaire ne s'ouvrent plus. La page « Mes devis » et les liens de devis envoyés par e-mail ne fonctionnent plus. Le mode catalogue ne masque plus les prix et « Ajouter au panier » réapparaît ; les e-mails et la tâche planifiée ne partent plus, et les pages de devis du back-office sont fermées.
Les prix négociés déjà présents dans les paniers de vos clients restent valables. La page de configuration explique ce qui est arrêté et propose le formulaire d'activation ; dès que la licence est valide, le module reprend et les commandes passées entre-temps depuis un devis accepté y sont rattachées. Le Gestionnaire de modules refuse de l'activer sans licence valide et renvoie vers cette page.

Une date d'échéance dépassée est revérifiée auprès du serveur de licences avant de conclure, pour ne pas couper un abonnement renouvelé. Une réponse passagère — erreur, limite de requêtes, horloge décalée ou serveur injoignable — ne rend pas une licence valide expirée : sept jours de tolérance courent depuis le premier échec. Une révocation, une suspension ou une expiration réelle s'appliquent toujours.

Quelles sont les limites du module ?
Il gère la demande, la proposition et l'acceptation, mais pas le prix du transport, les conditions de paiement ni un circuit de validation à plusieurs niveaux.
- Livraison offerte uniquement. Une proposition peut accorder la livraison offerte, appliquée par une règle de panier native. Le module ne fixe pas de montant de port : les autres commandes suivent les transporteurs et tarifs de la boutique, et le message peut préciser les conditions convenues.
- Paiement de la boutique. Les conditions de paiement ne font pas partie du module. Pour facturer à terme avec un plafond de crédit et des relances, le module Paiement à terme B2B complète le parcours après l'acceptation.
- Une seule validation. Une proposition au-dessus du montant fixé doit être validée par l'un des profils choisis ; pas de circuit à plusieurs niveaux.
- Tâche planifiée facultative. Sans tâche planifiée, aucune relance ni alerte ne part ; l'expiration est vérifiée à l'ouverture d'un devis ou lorsqu'il est accepté.
- Prix liés au panier. Une commande ultérieure repart aux prix catalogue, même depuis l'historique des commandes.
- TVA et prix affichés. Pour adapter les prix TTC au pays du visiteur dans l'Union européenne, le module OSS TVA UE prend le relais sur l'affichage ; les totaux du devis suivent les règles de taxe de la boutique.
Questions fréquentes
Faut-il un compte client pour demander un devis ?
Comment masquer les prix à certains clients ?
Le module produit-il un PDF et accepte-t-il des pièces jointes ?
Un devis accepté devient-il une commande ?
Peut-on proposer des délais de paiement avec ce module ?
Comment activer les demandes de devis sur PrestaShop ?
Produits de cet article
Devis B2B : demandes, prix négociés et commande en ligne
Un bouton « Demander un devis » sur la fiche produit et dans le panier, avec ou sans compte client Un prix...
Paiement à terme B2B : plafond de crédit, encours et relances
Conditions de paiement par client, par groupe ou par défaut : à réception, net 15/30/45/60/90, fin de mois...
OSS TVA UE – Prix TTC GeoIP (MaxMind)
Prix TTC affichés automatiquement selon le pays du visiteur (GeoIP MaxMind) Configuration de la TVA des 27 pays...