Nous développons des modules de TVA UE et B2B pour PrestaShop et nous gérons nos propres boutiques dans l'UE ; les chemins de back-office ci-dessous sont donc ceux que nous utilisons au quotidien. Considérez tout point fiscal ou réglementaire comme une indication générale et validez les détails avec votre expert-comptable.

Voici le piège dans lequel tombent la plupart des marchands PrestaShop avec le B2B : ils pensent qu'il s'agit d'une fonctionnalité à activer. Ce n'est pas le cas. Le B2B, c'est une autre logique client dans la même boutique : quelqu'un qui achète par carton, rapproche sa commande d'une facture 30 jours plus tard, s'attend à voir les prix hors TVA et indique un numéro de bon de commande transmis par son service comptable. Rien d'exotique là-dedans ; c'est simplement le commerce tel que les entreprises l'ont toujours pratiqué. PrestaShop peut très bien le gérer, mais la plateforme a d'abord été pensée pour le B2C, et les briques B2B sont réparties entre une demi-douzaine d'écrans de configuration et quelques fonctions que le cœur ne prend tout simplement pas en charge. Ce guide sert de carte : ce qui diffère réellement entre B2C et B2B, ce que PrestaShop gère nativement, et où combler chaque manque, avec un lien vers l'analyse détaillée de chaque sujet pour aller aussi loin que nécessaire.

B2C vs B2B sur PrestaShop : ce qui change vraiment

Avant toute configuration, il est utile de comparer les deux types de clients côte à côte. Même catalogue, même tunnel de commande, même administration, mais presque toutes les hypothèses changent :

DimensionB2C (PrestaShop par défaut)B2BOù le gérer
Affichage des prixTTC (brut)HT (net). La TVA est récupérable, ils raisonnent donc sur le prix netParamètre du groupe client + sélecteur côté front-office
Modèle tarifaireUn prix pour tout le mondePar paliers de volume, souvent négocié par comptePrix spécifiques + groupes clients
PaiementCarte / portefeuille au moment de la commandePaiement sur facture, échéances à 30/60/90 jours, limite de créditUn module de paiement différé (le cœur ne le propose pas)
Fiscalité transfrontalièreFacturée selon la destinationExonération à 0 % pour les numéros de TVA UE valides (autoliquidation)Validation VIES + exonération de taxe
AccèsImmédiat à l'inscriptionContrôlé, vous vérifiez d'abord qu'il s'agit d'une vraie entrepriseFlux de validation de compte professionnel
Rythme de commandeAchats ponctuelsCommandes récurrentes, quantités minimales, réassort rapideRemises par quantité + nouvelle commande depuis l'historique

Qu'est-ce que cela implique pour vous ? Vous n'avez pas besoin de reconstruire votre boutique. Vous devez ajouter un second mode, qui cohabite avec le B2C, piloté presque entièrement par le système de groupes clients de PrestaShop, puis combler les quelques lacunes laissées par le cœur. L'erreur qui coûte cher aux marchands consiste à greffer la vente en gros sur une boutique B2C après coup, un réglage global activé ici, une surcharge de prix manuelle là, jusqu'à ce que les deux modes se contredisent. Structurez-le délibérément, et l'ensemble reste propre.

Première étape : activer le mode B2B intégré de PrestaShop

Allez dans Shop Parameters → Customer Settings (sur 1.6, l'option se trouve dans Customers → Settings) et activez Enable B2B mode. C'est un simple interrupteur, et il fait moins que son nom ne le laisse penser, mais c'est le bon point de départ. Une fois activé, le mode B2B expose des champs professionnels supplémentaires comme SIRET, APE, website et un allowed outstanding amount (un plafond de crédit par client que d'autres fonctionnalités peuvent lire). Un champ company/adresse peut déjà exister selon votre formulaire, votre version et votre thème, le mode B2B ajoute surtout les champs de compte professionnel par-dessus.

Soyez clair sur ce que ce bouton fait et ne fait pas. Il expose des champs et un montant de limite de crédit ; il n'impose rien, ne valide aucun numéro de TVA, ne modifie aucun prix et ne verrouille aucun accès. Ce sont des emplacements de données passifs, en attente de la logique que vous construirez autour. Activez-le, puis considérez tout ce qui suit comme la véritable configuration B2B.

Les groupes clients : la colonne vertébrale de l'ensemble

S'il faut retenir une idée d'architecture de ce guide, c'est celle-ci : dans PrestaShop, le B2B est une affaire de groupe. Affichage des taxes, niveau de remise, affichage ou non des prix, méthodes de paiement disponibles. La plupart de ces décisions peuvent être prises par groupe client (l'accès aux transporteurs n'est pas un paramètre natif de groupe ; il nécessite une configuration des transporteurs ou un module selon votre installation). Créez correctement les groupes, et le reste de votre configuration B2B s'y accroche naturellement.

Créez vos groupes dans Shop Parameters → Customer Settings → Groups. Les trois réglages importants pour le B2B sont Price display method (définissez Tax excluded pour les groupes professionnels), Discount (un pourcentage fixe appliqué à tout le groupe, même si les paliers par produit sont généralement préférables) et Show prices (désactivez-le pour masquer entièrement les prix à un groupe, utile pour un groupe invité que vous voulez pousser à l'inscription). Un client peut appartenir à plusieurs groupes, avec un groupe par défaut qui pilote la tarification.

Les groupes méritent un traitement à part entière : comment les superposer, comment la priorité des prix est résolue lorsqu'un client appartient à deux groupes, et comment affecter automatiquement les clients plutôt qu'à la main. Tout cela est détaillé dans les groupes clients dans PrestaShop : afficher des prix différents selon les clients. Pour cette page pilier, la règle est simple : un groupe professionnel par niveau tarifaire, jamais par client individuel.

HT vs TTC : le problème de l'affichage des prix

C'est la différence B2C/B2B la plus visible, et celle qui génère le plus d'appels au support du type « pourquoi ma facture ne correspond-elle pas au site ? ». Les acheteurs B2B raisonnent en prix HT parce qu'ils récupèrent la TVA ; les acheteurs B2C doivent voir le prix TTC qu'ils paieront réellement. Le Price display method du groupe client gère cela par groupe, mais il reste un trou dans l'expérience utilisateur : un client professionnel voit les prix TTC tant qu'il n'est pas connecté, sans indication que les montants changeront.

La solution est un sélecteur d'affichage des taxes côté front-office, afin que le prix HT soit visible avant la connexion, accompagné de la configuration nécessaire pour que le changement basé sur les groupes fonctionne correctement. Le guide complet, y compris la façon dont PrestaShop calcule le prix affiché et l'emplacement du sélecteur dans le thème, se trouve dans prix HT vs prix TTC : changer l'affichage des taxes pour les clients B2B.

Ventes transfrontalières dans l'UE : exonération avec un numéro de TVA valide

Page de configuration de l'EU VAT Checker avec la validation AJAX en direct activée, une durée de cache de 24 heures, la règle d'indisponibilité VIES réglée pour accepter le numéro et revérifier plus tard, la TVA obligatoire désactivée, les infos société depuis VIES activées et l'affectation à un groupe désactivée
La page de paramètres montre la validation en direct activée, un cache de 24 heures, la règle VIES réglée pour accepter et revérifier, les infos société depuis VIES activées et l'affectation des clients validés à un groupe désactivée.

Vendez à une entreprise assujettie à la TVA dans un autre pays de l'UE et vous devez généralement appliquer un taux à 0 % dans le cadre du mécanisme d'autoliquidation, une fois son numéro de TVA vérifié auprès de VIES. À la main, c'est une tâche lente et source d'erreurs : récupérer le numéro, le vérifier, marquer manuellement le compte comme exonéré de taxe, espérer ne pas avoir fait de faute de frappe. Dès que le volume devient réel, le processus s'effondre, et une mauvaise décision ici relève de la conformité, pas d'un détail cosmétique.

La bonne réponse consiste à automatiser la validation auprès de l'API VIES à l'inscription ou au moment de la commande, puis à appliquer le statut d'exonération au compte lorsque le numéro est valide. C'est précisément le sujet de vérificateur de TVA UE : automatiser l'exonération de taxe pour les clients professionnels, et c'est quelque chose à mettre en place dès le premier jour, car le greffer après coup sur une boutique remplie de commandes historiques mal taxées est bien plus douloureux. (Notre module Automatic EU VAT Checker est conçu pour cette étape.)

Conditions de paiement : la lacune que PrestaShop ne comblera pas seul

C'est la plus grande différence structurelle, et celle que le cœur ne sait vraiment pas gérer. PrestaShop suppose un paiement au moment de la commande. Le B2B signifie couramment : marchandises maintenant, paiement à 30, 60, parfois 90 jours, dans la limite d'un encours et sur facture avec date d'échéance. Il n'existe pas de fonction native de « paiement sur facture » qui suive les soldes dus. Le plus proche dans le cœur est le champ allowed outstanding amount du mode B2B, qui alimente le rapport en lecture seule Clients → Encours, mais ne fait pas respecter la limite de crédit.

Pour combler ce manque, il faut un vrai système de paiement différé : une méthode « Paiement sur facture » qui n'apparaît que pour les clients professionnels approuvés, des limites de crédit par client ou par groupe, des factures avec dates d'échéance et un suivi des soldes. La mécanique complète (comment la méthode de paiement est réservée aux bons clients, comment les limites sont appliquées, comment les paiements partiels sont traités) est expliquée dans conditions de paiement différé : permettre aux clients professionnels de payer sur facture, et le module qui le fait est notre B2B Deferred Payment Terms. C'est la fonctionnalité qui distingue le plus nettement une vraie configuration B2B d'un bricolage.

Vérifier les clients professionnels avant de leur donner accès

N'accordez jamais les tarifs de gros et les conditions de paiement dès qu'une personne s'inscrit. Tout l'intérêt du B2B est que la relation est qualifiée : s'agit-il réellement d'une entreprise, le numéro de TVA est-il réel, est-ce un client auquel vous voulez accorder du crédit ? Donner un accès professionnel immédiat, c'est le meilleur moyen de vendre avec des marges de gros à un particulier qui a trouvé le formulaire d'inscription.

Le schéma propre consiste à utiliser un formulaire de demande enrichi, à créer le compte dans un groupe en attente sans tarif spécial, à effectuer une revue humaine, puis seulement ensuite à promouvoir le client dans le bon groupe professionnel. Le flux de validation, la gestion de l'état en attente et les e-mails progressifs qui tiennent les demandeurs informés sont couverts dans demandes de compte professionnel : vérifier les clients B2B avant de leur donner accès. Le principe au niveau de cette page pilier : l'inscription crée un demandeur, pas un client professionnel.

Tarifs par paliers et quantités minimales

La tarification B2B est rarement plate, plus un client achète, plus le prix unitaire baisse. PrestaShop le gère nativement via les specific prices avec paliers de quantité : modifiez le produit, ouvrez l'onglet Pricing, puis ajoutez un Specific price. Point essentiel, vous pouvez limiter un prix spécifique à un seul groupe client, afin que vos remises sur volume n'apparaissent qu'aux acheteurs professionnels et ne touchent jamais le prix de détail.

Les quantités minimales de commande fonctionnent en parallèle. Définissez une quantité minimale par produit (ou déclinaison) pour qu'un client professionnel ne puisse pas commander une seule unité d'un article que vous expédiez uniquement par carton. Une commande qui coûte souvent plus cher à préparer et emballer qu'elle ne rapporte. Pour un minimum à l'échelle du panier, il vous faudra une petite règle ou un module, car le cœur fournit seulement le minimum par produit.

Le mode catalogue pensé pour le B2B

Certains grossistes ne veulent pas afficher leurs prix publiquement. Soit parce que la tarification est confidentielle, soit parce qu'ils veulent faire de l'inscription le prix d'entrée. Le mode catalogue global de PrestaShop (dans Shop Parameters → Product Settings) masque les prix et le bouton d'achat pour tout le monde, ce qui est trop brutal pour une boutique hybride : il tue aussi vos ventes B2C.

Faites-le plutôt par groupe. Désactivez Show prices pour le groupe invités/visiteurs et activez-le pour vos groupes B2C et professionnels. Les visiteurs parcourent le catalogue mais sont invités à s'inscrire ou à se connecter pour voir les prix ; les clients approuvés voient les bons montants pour leur niveau. Même boutique, deux expériences, dix minutes de configuration et aucun levier global trop grossier.

Une structure hybride B2C + B2B propre

La plupart des marchands PrestaShop qui font du B2B ne sont pas de purs grossistes, ils servent les particuliers et les professionnels depuis une seule boutique. Voici une organisation de groupes qui empêche les deux modes d'interférer :

  • Groupe par défaut (invités + nouvelles inscriptions) : prix TTC, paiement standard par carte. Votre couche B2C, intacte.
  • Groupe professionnel (approuvé) : prix HT, remises sur volume, paiement sur facture activé, nouvelle commande rapide depuis l'historique.
  • Groupe professionnel UE : comme le groupe professionnel, mais avec le numéro de TVA validé et l'exonération de taxe appliquée automatiquement.
  • Groupe professionnel en attente : appliqué mais pas encore approuvé. Le client peut se connecter et parcourir le catalogue, mais voit les prix de détail et seulement le paiement standard.

L'intérêt de cette structure est l'isolation : votre expérience B2C n'est absolument pas affectée par la configuration B2B, car chaque comportement B2B est attaché à un groupe dans lequel un client B2C n'entre jamais. Un catalogue, une administration, deux modes clairement séparés.

Ce qu'il faut configurer, dans l'ordre

En partant d'une boutique standard, voici la séquence qui évite les reprises :

L'essentiel relève de la configuration, pas du développement sur mesure. PrestaShop possède l'ossature nécessaire au B2B, il faut simplement l'assembler avec méthode. Les étapes 4, 5 et 6 sont celles où le cœur s'arrête et où les modules dédiés prennent le relais ; si vous préférez partir d'un ensemble cohérent plutôt que de câbler ces éléments un par un, les modules associés à ces guides détaillés sont conçus pour partager une même configuration, afin que le groupe professionnel, l'exonération de TVA et les conditions de facturation soient alignés au lieu de se contredire. Dans tous les cas, c'est l'ordre ci-dessus qui compte : mettez d'abord en place une structure de groupes solide, et chaque autre décision B2B aura un endroit propre où s'attacher.

Questions fréquentes

Activer le mode B2B rend-il ma boutique PrestaShop conforme à la TVA ?

Non. Le mode B2B ajoute seulement quelques champs professionnels (SIRET, APE, encours autorisé, nombre maximal de jours de paiement) à la fiche client. Il ne valide pas les numéros de TVA, n'applique pas l'autoliquidation, ne calcule pas les dates d'échéance et ne modifie aucun prix. La conformité vient de la façon dont vous configurez les règles de taxes, l'affichage par groupe, la validation de TVA et vos factures, et elle relève au final de vous et de votre expert-comptable, pas d'un simple bouton ni d'un module isolé.

Puis-je gérer le B2C et le B2B depuis une seule boutique PrestaShop, ou me faut-il deux installations ?

Une seule boutique peut gérer proprement les deux, parce que chaque comportement B2B s'attache à un groupe client dans lequel un acheteur particulier n'entre jamais. Gardez vos groupes Visitor/Guest/Customer avec un affichage TTC et un paiement standard, puis ajoutez des groupes professionnels avec affichage HT, tarifs par volume et paiement sur facture. Si vous voulez expressément placer les acheteurs B2B sur un domaine séparé avec des prix HT dès le premier clic, le multiboutique natif (Advanced Parameters → Multistore) est l'alternative, mais la plupart des marchands n'en ont pas besoin.

Pourquoi un client professionnel voit-il encore les prix avec TVA après avoir réglé son groupe en HT ?

Presque toujours parce que l'affichage des prix suit le groupe par défaut du client, pas n'importe quel groupe auquel il appartient. Si son groupe par défaut reste Customer/retail, il verra les prix TTC même s'il appartient aussi à votre groupe professionnel. Définissez le groupe professionnel comme groupe par défaut dans Customers → Customers → Edit, puis connectez-vous avec un compte de test pour confirmer.

PrestaShop bloque-t-il une commande lorsqu'un client dépasse sa limite de crédit ?

Pas tout seul. Le champ allowed outstanding amount alimente uniquement un rapport Customers → Outstanding en lecture seule ; le cœur ne bloque jamais une commande qui fait dépasser le plafond à l'acheteur. L'application de la limite (blocage ou mise en attente d'approbation), les dates d'échéance, l'ancienneté des soldes et les relances nécessitent un module de paiement différé comme notre B2B Deferred Payment Terms.

Dois-je valider les numéros de TVA, ou puis-je simplement faire confiance à ce que le client saisit ?

En 2026, un numéro de TVA valide est une condition substantielle pour appliquer le taux à 0 % à une livraison intracommunautaire, et vous êtes censé pouvoir montrer que vous l'avez vérifié au moment de la vente, généralement auprès de VIES, le service de validation de TVA de l'UE. Le cœur de PrestaShop n'interroge pas VIES, vous devez donc soit vérifier à la main (ce qui ne passe pas à l'échelle et ne laisse qu'une capture d'écran), soit automatiser. Confirmez vos propres obligations avec votre expert-comptable ; la partie technique est couverte par notre Automatic EU VAT Checker.

Tags : B2B PrestaShop SEO
David Miller

David Miller

Fondateur, mypresta.rocks
À propos de l’auteur

David Miller est un spécialiste PrestaShop fort de plus de dix ans d'expérience concrète et le fondateur de mypresta.rocks, un studio de développement situé à Tychy, en Pologne. Il conçoit et maintient un catalogue de 159 modules PrestaShop, dont 21 suites « Revolution » couvrant le SEO, le checkout, la sécurité, la performance, le marketing, la recherche, le support et la gestion d'entrepôt, qui améliorent chaque jour de vraies boutiques, testés sur PrestaShop 1.7.8, 8.x et 9.x. Il assure également la maintenance de boutiques en production : son travail se juge donc sur des ventes réelles, pas sur des démos. Son expérience couvre l'ensemble du e-commerce. Performance, sécurité, SEO et marketing, et va au-delà de PrestaShop, jusqu'à WooCommerce, Shopify et les systèmes sur mesure. Sur le blog, il écrit sur la face technique de PrestaShop : ce que la plateforme fait vraiment, ce qui casse en production et quelles solutions tiennent dans la durée.

Partager cet article:

Commentaires

Aucun commentaire pour le moment. Soyez le premier !

Cet article vous a plu ?

Recevez nos derniers conseils, guides et mises à jour de modules dans votre boîte mail.

Vous pouvez vous désinscrire à tout moment. Vous trouverez pour cela nos informations de contact dans les conditions d'utilisation du site.

Chargement...
Retour en haut