Élevons votre présence en ligne au niveau supérieur

Champs TVA, SIRET et quantité dans un formulaire de devis WooCommerce

Vous avez activé un formulaire de devis sur votre boutique. Un prospect envoie sa demande. Et là, vous découvrez dans votre boîte mail : « Bonjour, je voudrais un tarif pour 50 unités, merci ». Pas de SIRET. Pas de numéro de TVA. Pas de quantité exacte. Vous répondez pour demander, vous attendez, le prospect a déjà demandé ailleurs. Ce manège, c’est le quotidien de la plupart des boutiques B2B WooCommerce qui ont installé un formulaire rapide sans figer les bons champs.

Ici, on ne va pas vous expliquer ce qu’est un formulaire de devis. On va regarder précisément comment ajouter trois champs critiques — SIRET, numéro de TVA intracommunautaire et quantité — à un formulaire de devis WooCommerce, avec le bon type de champ, la bonne validation, et sans se retrouver avec une base de prospects inexploitable. Le mot-clé qui nous guide : formulaire devis WooCommerce champs personnalisés.

Bouton Demander un devis sur la fiche produit
Le bouton Ajouter au panier remplace par Demander un devis

Pourquoi SIRET et TVA ne sont pas des champs « comme les autres »

Sur la plupart des boutiques WooCommerce qui vendent en B2B, le formulaire de devis par défaut hérite du formulaire de commande : nom, email, adresse, message. C’est pratique pour du B2C. En B2B pro, c’est faussé dès la première session.

Deux raisons concrètes à ça. D’abord, le SIRET (14 chiffres) et le numéro de TVA intracommunautaire (FR + 2 chiffres + 9 chiffres SIREN) ont des formats stricts. Un champ texte libre vous ramènera en vrac « 123 456 789 00012 », « 12345678900012 » et « SIRET 12345678900012 ». Si vous devez plus tard faire un export comptable ou un devis PDF, vous passerez un temps fou à nettoyer. Ensuite, ces deux informations déterminent si le prospect est une entreprise française, une entreprise UE (autoliquidation possible) ou une entreprise hors UE. Ce n’est pas cosmétique, ça change le régime de TVA de votre devis.

Donc oui : ces champs doivent être typés, validés et stockés proprement, pas posés dans un champ « message complémentaire ».

La logique technique : trois endroits où ça se joue

Un formulaire de devis WooCommerce personnalisé s’appuie sur trois couches distinctes. Comprendre ça évite 80 % des erreurs de mapping.

1. L’affichage du champ (front)

C’est le champ tel que le prospect le voit. Type attendu : text pour SIRET avec un masque ou une regex côté serveur, text pour TVA avec une validation de format, number ou select pour la quantité selon que vous vendez à l’unité ou par paliers. Un champ « quantité » en texte libre avec valeur par défaut vide génère souvent des réponses fantaisistes. Posez une valeur par défaut (1) et une limite min/max cohérente avec vos lots.

2. La validation côté serveur

Le required HTML ne suffit pas. Il faut vérifier : SIRET à 14 chiffres (algorithme de Luhn pour être rigoureux), TVA qui commence par le préfixe pays à 2 lettres, quantité strictement positive et dans la fourchette. Si la validation échoue, renvoyer le formulaire avec un message clair — pas une erreur 500.

3. Le stockage et le mapping commande

C’est là où ça se complique avec la plupart des plugins génériques. Le champ SIRET doit finir dans une méta-donnée de commande (ou de devis), pas dans une note privée. Sinon, à l’export, vous n’avez rien. Et pour le champ TVA, il faut pouvoir le retrouver côté facture.

Sur Ebene Request a Quote, ce mapping est géré : les champs personnalisés ajoutés au formulaire de devis remontent en métadonnées exploitables dans l’admin et dans le récapitulatif du devis, ce qui évite le copier-coller manuel entre deux écrans.

Formulaire de demande de devis cote client
Formulaire de demande de devis rempli par le client

Mise en place pas à pas (l’ordre qui évite de tout refaire)

Voici la séquence que je recommande, quelle que soit la solution retenue. Elle fonctionne aussi bien avec un formulaire codé qu’avec un plugin de devis.

Étape 1 — Listez les champs en distinguant obligatoires / conditionnels

SIRET : obligatoire pour toute entreprise française.
TVA : conditionnel — un artisan en franchise de TVA n’en a pas, mais doit pouvoir cocher « non assujetti ».
Quantité : obligatoire avec valeur par défaut 1.

Ajoutez systématiquement une case à cocher « Je suis un professionnel » qui conditionne l’affichage de SIRET et TVA. Sinon vous bloquez les particuliers qui passent par accident.

Étape 2 — Déclarez chaque champ avec son type et ses contraintes

Par exemple, en pseudo-configuration :

  • Champ SIRET — type text, regex ^[0-9]{14}$, required si la case pro est cochée, label « Numéro SIRET (14 chiffres) ».
  • Champ TVA — type text, regex ^[A-Z]{2}[0-9A-Z]{2,12}$, non required, avec une mention « Laissez vide si vous êtes en franchise de TVA ».
  • Champ quantité — type number, min 1, max défini selon vos lots (par ex. 999), step selon votre unité de vente.

Ce niveau de détail évite le fameux « le prospect a mis 0 en quantité et j’ai dû relancer ».

Étape 3 — Testez avec 4 profils types

Avant de pousser en prod : un SIRET valide, un SIRET à 13 chiffres (doit refuser), un numéro de TVA allemand (doit passer), un particulier sans case pro cochée (les champs doivent disparaître). C’est bête, mais 9 formulaires sur 10 que je vois passer échouent sur au moins un de ces tests.

Exemple concret : Julie et sa boutique de matériel de chantier

Julie gère une boutique WooCommerce de location de matériel pro (environ 300 références). Au départ, son formulaire de devis demandait uniquement nom, email et message. Résultat : sur une semaine type, la moitié des demandes arrivaient sans SIRET, et un tiers sans quantité. Chaque devis demandait un aller-retour par mail, parfois deux. Sur les gros dossiers, ce délai la faisait perdre face à des concurrents qui répondaient plus vite.

Elle a ajouté trois champs : SIRET (14 chiffres imposés), TVA (facultative), quantité (numérique, min 1). Elle a coché l’obligation SIRET uniquement quand la case « je suis pro » est active. En deux semaines, elle a constaté que ses devis partaient souvent du premier coup, sans relance pour compléter. Ce n’est pas une statistique magique : c’est mécanique — si l’information est exigée au bon endroit, elle arrive avec la demande.

Pour aller plus loin sur la qualification du prospect derrière le formulaire, l’article qualifier vos prospects B2B détaille quels champs discriminent vraiment un acheteur sérieux d’un curieux.

Trois pièges qui ruinent l’exercice

Mettre la TVA en champ obligatoire

C’est l’erreur la plus fréquente. Un auto-entrepreneur en franchise, un artisan en micro-entreprise ou une association n’ont pas de numéro de TVA à fournir. Si vous le rendez obligatoire, ils abandonnent. Laissez-le facultatif, mais demandez une confirmation « non assujetti » via une case à part.

Traiter la quantité comme un simple champ texte

Un champ texte libre accepte « beaucoup », « 50 unités svp », « 3 palettes ». Vous vous retrouvez à interpréter. Préférez un champ numérique avec step et min. Si vous vendez par paliers, un menu déroulant (1, 5, 10, 50, 100+) est encore plus efficace en B2B.

Ne pas réutiliser les données côté devis

Un champ collecté mais non remonté dans le devis PDF ou l’email récapitulatif ne sert à rien. Vérifiez systématiquement que SIRET, TVA et quantité apparaissent dans la confirmation que vous recevez. Sinon, vous les recollez à la main à chaque envoi.

Champs personnalisés ou formulaire codé : où placer la frontière

Si vous avez un développeur interne et une tolérance aux mises à jour manuelles, un formulaire codé en add_action('woocommerce_after_order_notes', ...) fonctionne. Mais vous devrez gérer vous-même la validation, le stockage, l’export, et le rendu dans les emails. Dès que vous ajoutez un champ (par exemple « référence chantier » ou « date de livraison souhaitée »), il faut retoucher le code.

Un plugin de devis dédié permet d’ajouter ces champs depuis l’admin, avec validation, sans toucher au code. C’est le choix qui tient dans le temps quand vous changez de catalogue ou de grille tarifaire. Pour une vue comparative, l’article formulaire devis personnalisé sans coder détaille les options disponibles. Et si vous hésitez encore entre formulaire et panier classique, formulaire devis ou panier pour le matériel pro tranche la question.

Après le formulaire : industrialiser le suivi

Collecter SIRET, TVA et quantité ne suffit pas. Encore faut-il que la demande atterrisse dans un flux de suivi — statut, relance, conversion en commande. Sur des volumes modestes, un simple tableau suffit. Au-delà, il faut un vrai pipeline. La méthode est décrite dans suivi des demandes de devis B2B WooCommerce. Le champ quantité devient alors un indicateur précieux pour prioriser : une demande à 200 unités ne se traite pas comme une à 2.

FAQ

Peut-on rendre le SIRET obligatoire uniquement pour les professionnels ?

Oui, en conditionnant l’affichage et la validation à une case « je suis un professionnel ». Sans cette case, les particuliers risquent d’être bloqués par un champ qu’ils ne peuvent pas remplir.

Faut-il valider le numéro de TVA en temps réel auprès de l’administration fiscale ?

Ce n’est pas indispensable pour un devis. Une validation de format (préfixe pays + longueur) suffit pour filtrer les saisies manifestement fausses. La vérification officielle VIES se justifie plutôt au moment de la facturation.

Quel type de champ utiliser pour la quantité ?

Un champ numérique avec minimum 1 et un maximum cohérent avec vos lots. Si vous vendez par paliers fixes (par exemple 10, 50, 100), un menu déroulant est souvent plus fiable qu’une saisie libre.