B2B dans l'UE · WooCommerce

Vendez aux entreprises de l'UE. Avec les bons prix et la bonne TVA à 0 %.

Cartnorm B2B ajoute à WooCommerce des prix de gros, des groupes de clients, des règles de commande et des devis, et vérifie les numéros de TVA dans VIES. Les particuliers voient toujours vos prix habituels. Les clients professionnels voient les leurs, HT ou TTC.

Par l'équipe de Cartnorm Omnibus Prix en EUR, HT Paiement en blocs et classique Remboursement sous 30 jours pour Pro

Le plugin gratuit n'est pas encore sur WordPress.org. Écrivez-nous et nous vous enverrons un seul e-mail le jour du lancement.

Exemple : un produit, deux clients

Boutique d'exemple · Allemagne · visiteur

Recharge de savon liquide, 5 l

29,75 € TTC (TVA 19 %)

5,95 € / 1 l

Prix affichés
TTC, comme réglé dans WooCommerce
TVA au paiement
TVA allemande de 19 %
Règles de commande
Aucune

Les règles pour les particuliers restent actives : prix TTC, prix à l'unité de mesure et, en cas de réduction, le prix le plus bas sur 30 jours (Omnibus).

Boutique d'exemple · Allemagne · Groupe Grossiste, entreprise en France

Recharge de savon liquide, 5 l

20,00 € HT

4,00 € / 1 l

QuantitéPrix unitairePrix au litre
dès 120,00 €4,00 € / 1 l
dès 1018,50 €3,70 € / 1 l
dès 5017,00 €3,40 € / 1 l
Prix affichés
HT, avec la mention « HT »
TVA au paiement
0 %, numéro de TVA valide dans VIES
Règles de commande
Par 4, commande minimum 150 €

Illustration avec des prix d'exemple. La mention est enregistrée dans la langue de la commande.

Directive 2006/112/CE, art. 138 et 196 Numéros de TVA vérifiés dans VIES Mentions légales en 24 langues de l'UE Compatible HPOS et paiement en blocs

Pourquoi le B2B est plus complexe dans l'UE

Vendre aux entreprises de l'UE demande plus qu'une remise

Un numéro de TVA doit être vérifié, et la vérification conservée

La TVA à 0 % pour une entreprise d'un autre pays de l'UE suppose un numéro de TVA valide. VIES le confirme et renvoie un numéro de consultation : votre preuve pour l'administration fiscale.

Il existe deux cas de 0 % différents

Les biens sont une livraison intracommunautaire exonérée (art. 138). Les services relèvent de l'autoliquidation (art. 196). Chaque cas exige sa propre mention sur la facture, pas seulement « exonéré ».

Des prix HT seulement si les particuliers sont vraiment exclus

Les particuliers doivent voir des prix TTC. Afficher uniquement des prix HT n'est admis que si les particuliers ne peuvent effectivement pas acheter. Une case « Je suis un professionnel » ne suffit pas.

Un cache de pages peut afficher des prix HT

Si un cache enregistre une page créée pour un client grossiste et la montre à un particulier, celui-ci voit des prix sans TVA. Dans une boutique qui vend aussi aux particuliers, c'est un problème juridique, pas seulement un bug.

Quatre tâches, bien faites

1

Prix et prix par quantité

Prix fixes par groupe sur les produits et les variations, remises par catégorie, une remise sur tous les produits et des prix par quantité comme « dès 10 pièces 7 € ». Vos prix produits enregistrés ne sont jamais modifiés.

2

Numéro de TVA et TVA à 0 %

Un champ numéro de TVA dans le paiement en blocs et classique, une vérification en direct dans VIES avec numéro de consultation, 0 % seulement quand c'est correct et la bonne mention légale sur chaque commande.

3

Règles de commande

Montant minimum de commande et nombre minimum d'articles par groupe, quantités minimales et maximales et conditionnements par produit. Contrôlés dans le bloc panier, le panier classique et sur le serveur.

4

Devis et inscription des revendeurs

Le client demande un devis, vous répondez avec vos prix, il accepte via un lien signé et paie. Les entreprises demandent un compte revendeur, que vous validez, ou que VIES valide.

Conformité UE

Ce qui arrive à la TVA, cas par cas

Cartnorm B2B décide sur le serveur pour chaque panier et enregistre la décision dans la commande.

CasCe que fait Cartnorm B2BMention sur la commande
Client professionnel dans votre propre pays Applique la TVA comme d'habitude. Les ventes nationales incluent toujours la TVA. —
Biens pour une entreprise d'un autre pays de l'UE, numéro de TVA valide dans VIES TVA à 0 % Exonération de TVA, article 138 de la directive 2006/112/CE
Services ou produits virtuels, même situation TVA à 0 %, autoliquidation Autoliquidation : TVA due par le preneur (article 196 de la directive 2006/112/CE)
Biens et services dans un même panier TVA à 0 % Les deux mentions
VIES est indisponible Applique la TVA, accepte la commande et la marque « vérification en attente ». Revérifie le numéro jusqu'à six fois en quatre jours environ et ajoute une note à la commande si VIES le confirme ensuite. Les montants de la commande ne sont jamais modifiés automatiquement. —
Numéro de TVA invalide, ou d'un autre pays que l'adresse Applique la TVA. Un numéro invalide affiche un message clair, ou la commande est acceptée avec TVA, selon votre réglage. —
Client hors de l'UE Les règles du numéro de TVA ne s'appliquent pas. Vos réglages de taxes WooCommerce décident. —

Les mentions sont intégrées dans les 24 langues officielles de l'UE et enregistrées dans la langue de la commande. Les produits virtuels comptent comme des services ; un filtre permet de changer cela.

Preuves enregistrées dans chaque commande avec un numéro de TVA

Numéro de TVA et son pays

Résultat VIES et numéro de consultation

Date et heure de la vérification

La décision et son motif

Groupe du client au moment de la commande

Lisibles par les plugins de facturation dans les données de commande

Fonctionne avec Cartnorm Omnibus

La mention Omnibus du prix le plus bas sur 30 jours est une règle de protection des consommateurs. Avec les deux plugins actifs, les membres d'un groupe B2B ne voient pas cette mention, et la logique de prix barrés d'Omnibus ne touche pas les prix de groupe. Pour les particuliers, rien ne change.

À propos de Cartnorm Omnibus →

Ce n'est pas un conseil fiscal. Cartnorm B2B applique les règles générales de l'UE pour les ventes entre entreprises (articles 138 et 196 de la directive 2006/112/CE). Les cas particuliers comme les opérations triangulaires, les biens qui ne sont pas expédiés vers un autre État membre, les régimes particuliers ou les règles nationales ne sont pas couverts. Vérifiez avec votre conseiller fiscal comment ces règles s'appliquent à votre entreprise.

Ce sur quoi vous pouvez compter

Les clients ne choisissent jamais leur groupe

Seul le personnel de la boutique peut placer un client dans un groupe. Un groupe n'est jamais repris d'un formulaire d'inscription, de commande ou de compte.

Les prix masqués restent masqués

Quand les prix sont masqués pour un visiteur, ils sont aussi retirés des données produit de la Store API et des données structurées (JSON-LD) : impossible de les lire dans le code source.

Sûr avec les caches de pages

Les pages des clients B2B ne sont jamais enregistrées par les caches de pages. Prise en charge intégrée de WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache et FlyingPress, plus un autotest.

Rapide avec de gros paniers

Aucune requête en base de données par ligne de panier. Dans notre test, un panier de 300 lignes dans un groupe B2B a été calculé en 30⁠–⁠40 ms environ.

Désinstallation propre

Supprimer le plugin efface ses réglages, groupes, prix, devis et demandes. Les commandes et leurs preuves de TVA restent, car elles font partie de vos registres.

Seul VIES est contacté

Les numéros de TVA sont vérifiés auprès du service VIES de la Commission européenne. Aucune autre donnée ne quitte votre boutique, et le plugin ne contacte pas cartnorm.com.

Configuré en quatre étapes

1

Installez et saisissez votre numéro de TVA

Dans WooCommerce › Réglages › B2B. Votre numéro de TVA est envoyé à VIES comme demandeur : chaque vérification renvoie ainsi un numéro de consultation.

2

Créez un groupe

Par exemple « Grossiste » : prix HT ou TTC, une remise sur tous les produits, des remises par catégorie et un minimum de commande.

3

Ajoutez prix et règles aux produits

Prix de groupe et prix par quantité dans l'éditeur de produit, quantités minimales et conditionnements dans l'onglet « Inventaire ».

4

Choisissez comment les clients rejoignent le groupe

Attribuez-les dans Comptes › Modifier, ou laissez-les postuler sur la page d'inscription, avec validation manuelle ou automatique.

Version 0.3.0 WordPress 6.4+ PHP 7.4+ WooCommerce 8.0+ Testé jusqu'à WordPress 7.1 et WooCommerce 11.2 Lire la documentation →

Tout ce que contient le plugin gratuit

Ouvrez un thème pour voir le détail.

Groupes de clients et prix
  • Particuliers intégrés : les visiteurs et les clients sans groupe voient vos prix habituels
  • Jusqu'à 2 groupes B2B, chacun avec des prix TTC ou HT
  • Prix fixe par groupe pour chaque produit et chaque variation
  • Remises par catégorie (sous-catégories comprises) et remise sur tous les produits
  • Prix par quantité par produit et par groupe, affichés en tableau sur la fiche produit
  • Un prix de groupe n'est jamais supérieur au prix normal ou soldé actuel
  • Les commandes créées dans l'administration reçoivent les prix de groupe du client
Prix HT, TTC et à l'unité de mesure
  • Mention « HT » après les prix des groupes HT ; la TVA est toujours calculée normalement
  • Avec Germanized : le prix à l'unité suit le prix de groupe, et la mention de TVA suit l'affichage HT ou TTC
  • Sans Germanized ni German Market : un prix à l'unité simple et optionnel, comme « 7,00 € / 1 kg »
  • Les particuliers voient toujours vos réglages WooCommerce
Numéro de TVA et VIES
  • Champ numéro de TVA dans le paiement en blocs, le paiement classique, Mon compte et le profil utilisateur
  • Contrôle du format pour les 27 États membres et l'Irlande du Nord (XI)
  • Vérification en direct dans VIES avec numéro de consultation ; résultats en cache (7 jours pour les numéros valides)
  • 0 % seulement pour un numéro de TVA valide d'un autre pays de l'UE que celui de votre boutique
  • L'adresse de facturation ou de livraison décide, selon votre choix
  • VIES indisponible : TVA appliquée, commande acceptée, numéro revérifié automatiquement
Mentions légales et preuves
  • Mentions distinctes pour les biens (art. 138) et les services (art. 196) ; les paniers mixtes reçoivent les deux
  • Intégrées dans les 24 langues officielles de l'UE
  • Enregistrées dans la langue de la commande (WPML, Polylang ou langue de la boutique)
  • Affichées sur la page de remerciement, dans Mon compte, dans les e-mails et dans l'écran de commande de l'administration
  • Encadré des preuves de TVA dans chaque commande
Règles de commande
  • Montant minimum de commande par groupe, comparé comme le groupe voit les prix
  • Nombre minimum d'articles par groupe
  • Minimum, maximum et conditionnement par produit et variation, pour chaque groupe
  • Les champs de quantité ne proposent que des quantités valides, dans le panier classique et le bloc panier
  • Messages clairs comme « ajoutez encore 23,50 € » ; le paiement est bloqué sur le serveur tant que les règles ne sont pas respectées
Demande de devis
  • « Ajouter au devis » à côté ou à la place d'« Ajouter au panier », par groupe, pour les particuliers et les visiteurs
  • Masquage des prix en option (« Connectez-vous pour voir les prix », « Prix sur demande »)
  • Page de devis avec quantités, société, numéro de TVA et message, avec protection anti-spam
  • Réponse dans WooCommerce › Devis avec un prix par ligne et une date de validité
  • Lien d'acceptation signé qui expire ; l'acceptation crée une commande « en attente de paiement » avec les mêmes règles de TVA que le paiement
  • E-mails pour les devis nouveaux, envoyés et expirés
Inscription des revendeurs
  • Page d'inscription avec société, contact, pays, numéro de TVA et consentement
  • Le numéro de TVA est vérifié dans VIES
  • Validation manuelle, ou automatique quand VIES confirme le numéro de TVA
  • Les candidats restent des particuliers jusqu'à leur validation
  • Les clients existants peuvent postuler depuis Mon compte
  • Nonce, champ piège (honeypot) et limite de requêtes contre le spam
Modes de boutique et cache
  • Hybride (par défaut) : les particuliers voient vos prix habituels, les groupes les leurs
  • B2B uniquement : seuls les clients professionnels validés voient les prix et peuvent acheter
  • En option, tout le catalogue réservé aux clients validés
  • Les prix masqués sont retirés de la Store API et du JSON-LD
  • Pages privées non mises en cache pour les clients B2B et cookie de groupe signé pour les caches
  • Tableau d'état et autotest
Compatibilité
  • Blocs panier et commande de WooCommerce, HPOS
  • Cartnorm Omnibus
  • Germanized (prix à l'unité et mentions de TVA)
  • German Market : au mieux, pas encore testé
  • WPML et WooCommerce Multilingual
  • WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, FlyingPress
Données, traductions et développeurs
  • La décision de TVA complète est enregistrée dans les métadonnées de la commande pour les plugins de facturation
  • Filtres et actions pour les prix, la TVA, les règles de commande, les devis, l'inscription et le cache
  • Traductions : allemand (Allemagne, Autriche), polonais, français (France, Belgique), italien, espagnol, néerlandais (Pays-Bas, Belgique)
  • Désinstallation propre ; les commandes et les preuves de TVA sont conservées

Une comparaison honnête

Ce que nous avons trouvé dans la documentation publique, les pages produit et les fils de support des principaux plugins de vente en gros pour WooCommerce. Là où ils font plus, nous le disons.

Ce qu'il faut vérifierCartnorm B2B (gratuit)Plugins de gros typiques
Prix de groupe, prix par quantité, devis, inscription des revendeurs Oui Oui, en général
Étendue des extras B2B (commerciaux, sous-comptes, connecteurs ERP …) Centré sur l'essentiel Plus large
Vérification VIES avec numéro de consultation dans la version gratuite Oui Variable, à vérifier avant l'achat
Mentions de facture distinctes pour les biens (art. 138) et les services (art. 196) Oui, en 24 langues Variable, à vérifier avant l'achat
Prix à l'unité recalculé à partir du prix de groupe Oui (Germanized ou intégré) Absent d'au moins un plugin majeur
Cache des pages pour les clients B2B connectés Sécurisé automatiquement Certains éditeurs conseillent de désactiver le cache
Prix masqués aussi retirés de la Store API et du JSON-LD Oui Variable, à vérifier avant l'achat
Page de tarifs EUR, HT, sans prix barrés Souvent en USD ; certains affichent des prix barrés « avant »

Vérifié en octobre 2026. « Typique » résume ce que nous avons vu pour plusieurs plugins majeurs ; ce n'est pas un jugement sur un produit précis. Les plugins évoluent : vérifiez la version actuelle avant de décider. Une erreur ? Écrivez-nous, nous la corrigerons.

Gratuit et Pro

Tout ce qui rend une boutique correcte et sûre est gratuit. Pro s'adresse aux boutiques qui ont besoin de plus d'échelle et de moins de travail manuel.

Ce que vous obtenezGratuitPro Bientôt
Groupes de clients 2 + particuliersIllimités
Prix par groupe, catégorie, produit et quantité OuiOui
Prix par client et grilles tarifaires CSV —Oui
Affichage HT ou TTC par groupe, prix à l'unité OuiOui
Champ numéro de TVA, vérification VIES, TVA à 0 %, mentions en 24 langues, preuves dans les commandes OuiOui
Revérification automatique des numéros de TVA des clients validés —Oui
Règles de commande : montant minimum, quantités minimales et maximales, conditionnements OuiOui
Demande de devis, lien d'acceptation, commande créée depuis le devis OuiOui
Devis PDF avec lien de paiement et relances —Oui
Inscription des revendeurs avec validation manuelle ou automatique OuiOui
Paiement sur facture avec délai de paiement et plafond de crédit —Oui
État récapitulatif des ventes intracommunautaires en export CSV et DATEV —Oui
Modes de boutique, sécurité du cache, prix masqués dans la Store API et le JSON-LD OuiOui
Import depuis Wholesale Suite et B2BKing —Oui

Tarifs Pro

Chaque formule contient toutes les fonctions Pro. Vous choisissez seulement le nombre de sites. Prix HT, facturés annuellement.

Cartnorm B2B Pro est en développement et pas encore en vente. Voici les prix qu'il aura. Vous voulez savoir quand il sera prêt ? Nous vous enverrons un seul e-mail.

Une boutique

1 site

99 € / an

Environ 8,25 € par mois, facturé annuellement

Bientôt — me prévenir

Aucun paiement maintenant. Un seul e-mail au lancement.

Agence

20 sites

299 € / an

14,95 € par site

Bientôt — me prévenir

Aucun paiement maintenant. Un seul e-mail au lancement.

Chaque formule comprend

Tout le plugin gratuit

Groupes de clients illimités

Prix par client et grilles tarifaires CSV

Revérification automatique des numéros de TVA

Devis PDF avec lien de paiement et relances

Paiement sur facture avec délai et plafond de crédit

État récapitulatif UE (CSV, DATEV)

Import depuis Wholesale Suite et B2BKing

Prix HT. Essai de 14 jours (carte ou PayPal requis), satisfait ou remboursé pendant 30 jours. Cartnorm B2B Pro est vendu exclusivement aux professionnels. Les paiements sont gérés par Freemius en tant que Merchant of Record.

Essai et remboursement

L'essai de 14 jours demande une carte ou PayPal et ne coûte rien si vous annulez avant la fin. Après un paiement, vous avez 30 jours pour demander le remboursement intégral, sans justification.

Renouvellement

Pro se renouvelle une fois par an au même prix jusqu'à ce que vous annuliez, à tout moment, dans l'espace client. Sans renouvellement, le plugin gratuit continue de fonctionner avec tout ce qui figure dans la colonne « Gratuit » ; les fonctions Pro et les mises à jour s'arrêtent.

TVA et factures

Freemius, Inc. vend Cartnorm B2B Pro en son nom propre, en tant que revendeur et Merchant of Record. Il calcule la TVA de votre pays au paiement et vous envoie une facture.

Questions

Mes clients particuliers voient-ils une différence ?

Non. Les visiteurs et les clients sans groupe sont des « particuliers » et voient exactement les prix que WooCommerce affiche sans le plugin.

Un client peut-il se placer lui-même dans un groupe revendeur ?

Non. Seul le personnel autorisé à gérer WooCommerce ou à modifier les utilisateurs peut changer le groupe d'un client. Le plugin ne reprend jamais un groupe depuis un formulaire d'inscription, de commande ou de compte.

Quand la TVA est-elle à 0 % ?

Seulement si le numéro de TVA est valide dans VIES et que le client se trouve dans un autre pays de l'UE que votre boutique. Les clients de votre pays paient toujours la TVA. Les biens reçoivent la mention de livraison intracommunautaire, les services celle d'autoliquidation.

Que se passe-t-il si VIES est indisponible ?

Le client peut commander quand même. La TVA est appliquée, la commande est marquée « vérification en attente » et le numéro est revérifié automatiquement. Si VIES le confirme ensuite, vous recevez une note de commande pour émettre une facture rectificative.

Puis-je vendre aux particuliers et aux professionnels dans une même boutique ?

Oui, c'est le mode hybride, activé par défaut. Les particuliers et les visiteurs voient vos prix TTC habituels ; les groupes B2B validés voient leurs propres prix, en HT si vous le souhaitez.

Quand puis-je afficher uniquement des prix HT (« B2B uniquement ») ?

Seulement si les particuliers sont effectivement exclus de l'achat : chaque client s'inscrit comme entreprise et vous vérifiez le compte (numéro de TVA, données de la société) avant de le valider. Une mention ou une case « Je suis un professionnel » ne suffit pas, et les particuliers qui peuvent encore commander doivent voir des prix TTC. Utilisez le mode « B2B uniquement » avec validation manuelle, ou validation automatique par VIES. Ceci n'est pas un conseil juridique ; consultez votre avocat ou votre conseiller fiscal.

Un particulier peut-il voir une page en cache avec des prix HT ?

Pas depuis les caches de pages WordPress : les pages des clients B2B sont envoyées en privé et sans stockage, et WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache et FlyingPress reçoivent l'instruction de ne pas les mettre en cache. Les caches extérieurs à WordPress (hébergeur, Varnish, nginx, Cloudflare) ne peuvent pas être configurés par un plugin ; la documentation donne les règles à ajouter. Lancez l'autotest après chaque changement de cache.

Est-ce compatible avec Cartnorm Omnibus ?

Oui. Les particuliers voient toujours le prix le plus bas sur 30 jours ; les membres des groupes B2B non, car c'est une règle de protection des consommateurs, et Omnibus ne réécrit pas leurs prix de groupe.

Est-ce compatible avec Germanized et German Market ?

Avec Germanized, les prix à l'unité et les mentions de TVA suivent le prix de groupe et l'affichage. German Market n'a pas encore été testé, car nous n'avions pas accès à son code source : les prix de groupe fonctionnent normalement, et les prix à l'unité calculés automatiquement par German Market suivent le prix de groupe.

Que se passe-t-il si je désactive ou supprime le plugin ?

Désactivé : tout le monde revoit vos prix produits habituels ; vos données produit ne sont pas modifiées. Supprimé : réglages, groupes, prix de groupe, règles de quantité, devis, demandes et résultats VIES en cache sont effacés. Les commandes et leurs preuves de TVA sont conservées.

La version gratuite est-elle limitée dans le temps ?

Non. Tout ce qui figure dans la colonne « Gratuit » est gratuit, sans limite de durée. Le plugin ne mentionne Pro que dans une ligne masquable, au bon endroit, et dans son propre onglet « Pro ». Aucune bannière.

Est-ce un conseil fiscal ?

Non. Cartnorm B2B applique les règles générales de l'UE pour les ventes entre entreprises (articles 138 et 196 de la directive 2006/112/CE). Les cas particuliers comme les opérations triangulaires ou les régimes particuliers ne sont pas couverts, et vous restez responsable de vos factures et déclarations. Vérifiez avec votre conseiller fiscal comment ces règles s'appliquent à votre entreprise.

Quand pourrai-je l'utiliser ?

Le plugin gratuit arrive d'abord sur WordPress.org, Pro ensuite. Nous ne donnons pas de dates que nous ne pouvons pas tenir. Écrivez-nous et vous recevrez un e-mail par lancement.

Prêt pour votre premier client professionnel ?

Le plugin gratuit arrive sur WordPress.org. Écrivez-nous et nous vous préviendrons le jour du lancement. En attendant, la documentation montre exactement comment il fonctionne.