Module · LNK Comptes pro
  • PrestaShop

Ouvrez votre boutique PrestaShop aux professionnels

LNK Comptes pro sépare l'inscription des particuliers et celle des professionnels sur votre boutique PrestaShop. Le professionnel donne sa raison sociale, son SIRET et son numéro de TVA intracommunautaire ; le module les vérifie, le place dans le bon groupe client selon sa zone fiscale et, si vous le voulez, attend votre validation avant d'ouvrir le compte. Vos prix peuvent aussi rester réservés aux comptes pro.

  • Version 2.1.1 · PrestaShop 1.7.6 à 8.x
  • Version 2.9.1 · PrestaShop 9
  • PrestaShop 1.7.7 à 9.x
  • PHP 7.1 à 8.4
  • Aucun override

Points clés

  • Inscription particulier et professionnel séparées, formulaires composés champ par champ
  • SIRET vérifié (API Sirene de l'INSEE, avec votre clé)
  • Numéro de TVA contrôlé à la saisie et vérifié par VIES
  • Groupe client automatique selon la zone fiscale, groupes pro créés à la demande
  • Activation manuelle des comptes pro, avec e-mail au client
  • Relances par e-mail des SIRET et numéros de TVA manquants
  • Catalogue réservé : prix cachés aux visiteurs, catalogue fermé en option
  • Anti-robots reCAPTCHA ou Cloudflare Turnstile, si activé
  • Pièces jointes hors du dossier du module, données gardées à la désinstallation
  • 3,9 Ko compressés au plus, sur les deux pages d'inscription ; 1,6 Ko sur la connexion, le compte et la commande ; rien ailleurs
  • Français, anglais, arabe de droite à gauche, plus espagnol et allemand
  • PrestaShop 1.7.7 à 9.x, PHP 7.1 à 8.4, sans override, multiboutique

Deux inscriptions, deux formulaires

Le visiteur choisit son parcours : « Je suis un particulier » ou « Je suis un professionnel », deux boutons ajoutés sous le formulaire de connexion, chacun vers sa page (/compte-particulier et /compte-professionnel). Vous pouvez fermer l'inscription des particuliers, afficher une page CMS de présentation avant l'inscription pro et faire accepter des CGV propres aux professionnels.

Chaque formulaire se compose champ par champ : texte, zone de texte, interrupteur, liste à choix unique ou multiple, boutons radio, cases à cocher, envoi de fichier (un Kbis, par exemple), message d'information et date. Chaque champ a son libellé dans chaque langue et peut être obligatoire. La première adresse peut être demandée dès l'inscription.

SIRET et numéro de TVA vérifiés

  • SIRET : 14 chiffres et clé de contrôle vérifiés sur place, puis, si vous l'activez, existence de l'établissement auprès de l'API Sirene de l'INSEE, avec votre propre clé d'accès.
  • Numéro de TVA intracommunautaire : format contrôlé pendant la saisie selon le pays, puis, si vous l'activez, vérification auprès de VIES, le service de la Commission européenne.
  • Une question « Assujetti à la TVA ? » peut précéder le champ.

Chaque champ s'affiche ou non, et peut être obligatoire. Un client pro à qui il manque le SIRET ou le numéro de TVA peut être relancé par e-mail : vous réglez l'écart entre deux relances et leur nombre maximum, puis vous faites appeler une fois par jour l'adresse avec jeton affichée au back-office (tâche cron de votre hébergeur ou module natif des tâches planifiées). Un client qui complète sa fiche sort de la file.

Le bon groupe client selon la zone fiscale

Trois zones, réglées chacune à part : le pays de votre boutique, l'Union européenne, le reste du monde. Pour chacune, vous choisissez les groupes du client pro et son groupe par défaut ; les règles de taxes de votre boutique appliquent ensuite le bon régime. Le module ne fixe aucun taux.

Votre boutique n'a pas encore de groupes pro ? Le module crée les trois groupes à la demande, et aligne leurs droits (catégories, transporteurs, modules de paiement et autres) sur ceux du groupe client par défaut, sans jamais retirer un droit. Sans cet alignement, un client placé dans un groupe neuf de PrestaShop trouve un catalogue vide.

Vos comptes d'entreprise créés avant le module peuvent être rattrapés en un clic : ils reçoivent les groupes de leur zone en plus de ceux qu'ils ont déjà. Un client sans adresse, donc sans pays connu, n'est jamais déplacé.

Activation manuelle des comptes pro

Allumez l'activation manuelle : un compte pro est créé inactif, le client est prévenu que sa demande est à l'étude, et vous retrouvez les comptes en attente dans le back-office. Un clic active le compte et le client reçoit un e-mail. Vous choisissez aussi les e-mails envoyés au client et au marchand (création et mise à jour de compte) et les employés prévenus.

Catalogue réservé aux professionnels

  • « Catalogue réservé aux professionnels » : les prix sont cachés aux visiteurs, par le réglage natif « Afficher les prix » des groupes Visiteur et Invité. À la place du prix, le thème affiche « Connectez-vous pour voir les prix », avec les liens de connexion et d'ouverture d'un compte pro.
  • « Masquer aussi le catalogue aux visiteurs » : catégories et produits sont fermés aux visiteurs par l'accès natif des catégories (accueil compris, la racine exceptée). Ils mènent à la page native « accès refusé » (403), complétée par le bloc « Réservé aux professionnels ».

Tout est remis comme avant quand vous éteignez ces options ou désinstallez le module.

Anti-robots, seulement si vous l'activez

Google reCAPTCHA (v2 ou v3, avec seuil réglable) ou Cloudflare Turnstile, avec vos propres clés. Le script du fournisseur ne se charge que sur les deux pages d'inscription du module, et seulement quand la protection est allumée.

Les pièces jointes de vos clients à l'abri

Les fichiers envoyés par vos clients (Kbis, justificatifs) sont rangés hors du dossier du module, dans var/lnk_b2baccount/, qu'une mise à jour du module ne touche pas. Ils ne sont jamais servis directement : seul le back-office les ouvre, pour un employé connecté. Sous Apache, un .htaccess refuse tout accès. Nginx ignore les .htaccess : ajoutez le bloc donné dans la FAQ à la configuration de votre serveur.

À la désinstallation, les champs, les valeurs saisies par vos clients, leurs pièces jointes et les relances sont gardés par défaut. Leur suppression se demande en deux temps, sous « Avancé ».

Léger et rapide

Chiffres mesurés sur le module livré, compressé en gzip (niveau 9). Le script du formulaire : 2,4 Ko (2 378 octets), chargé seulement sur les deux pages d'inscription du module. La feuille de style : 1,6 Ko (1 551 octets), chargée seulement sur les pages de connexion et d'inscription (et sur les pages d'identité, d'adresses et de commande, où les champs pro s'affichent). Rien sur l'accueil, les catégories ni les fiches produit. Les quatre rendus du contrat de thème (à la place du prix, page réservée, état du compte, lien d'inscription) n'ajoutent ni feuille de style ni script du module : le thème les habille.

Un écran de réglages clair

Une seule page de réglages, en onglets, sur l'habillage commun des modules LNK : douze réglages visibles au plus par écran, les réglages rares repliés sous « Avancé ». Les champs des formulaires se traduisent dans chaque langue de la boutique. La page du module et les formulaires se lisent de droite à gauche en arabe.

Pour les thèmes et les intégrateurs

Contrat de thème lnk.b2b.account/1, pensé pour le thème LNK B2B et utilisable par tout thème qui appelle ses crochets :

  • displayLnkB2bPriceLogin à la place du prix (vignette, vue tableau, fiche) ;
  • displayLnkB2bRestricted dans la page « accès refusé » ;
  • displayLnkB2bStatus : « Compte pro actif » ou « informations légales à compléter », rien pour un visiteur, compatible avec un cache de page ;
  • {widget name='lnk_b2baccount' mode='link'} : le lien « Ouvrir un compte pro ».

Sans ces crochets, PrestaShop garde son comportement natif. Gabarits surchargeables dans le thème.

Multiboutique

Formulaires, relances et réglages par boutique ; la page du module affiche toujours la portée de ce que vous enregistrez. Une nouvelle boutique reçoit les formulaires, une boutique supprimée est nettoyée. Les réglages du catalogue réservé sont communs à toutes les boutiques, comme les groupes clients de PrestaShop.

Compatibilité PrestaShop 1.7.7, 8 et 9

PrestaShop 1.7.7 → 9.x
PHP 7.1 → 8.4
Livraison Deux archives : 2.9.N pour PrestaShop 9, 2.1.N pour 1.7.7 à 8.x
Contient un override Non
Multiboutique Oui
Appels extérieurs VIES (Commission européenne) ; API Sirene de l'INSEE avec votre clé ; reCAPTCHA ou Turnstile si activé

Chaque version est vérifiée par une installation réelle : PrestaShop 1.7.8 et 8.1 pour l'archive 2.1.N, PrestaShop 9.0 pour l'archive 2.9.N. Les essais portent sur l'installation, l'affichage, le back-office et la désinstallation.

Questions fréquentes

Comment mes clients choisissent-ils entre compte particulier et compte pro ?

Deux boutons, « Je suis un particulier » et « Je suis un professionnel », s'ajoutent sous le formulaire de connexion. Chacun mène à sa page d'inscription, avec son propre formulaire. Vous pouvez fermer l'inscription des particuliers si vous vendez seulement aux professionnels.

Quels champs puis-je ajouter aux formulaires ?

Texte, zone de texte, interrupteur, liste à choix unique ou multiple, boutons radio, cases à cocher, envoi de fichier, message d'information et date. Chaque champ a son libellé dans chaque langue de la boutique et peut être obligatoire. Les valeurs saisies se retrouvent sur la fiche du client dans le back-office.

Comment le SIRET est-il vérifié ?

Le format (14 chiffres et clé de contrôle) est vérifié sur place, sans appel extérieur. Si vous activez la vérification automatique, le module demande aussi à l'API Sirene de l'INSEE si l'établissement existe. Cette vérification utilise votre propre clé d'accès à l'API, à saisir dans l'onglet SIRET.

Comment le numéro de TVA intracommunautaire est-il vérifié ?

Le format est contrôlé pendant la saisie, selon le pays. Si vous activez la vérification automatique, le numéro est ensuite vérifié auprès de VIES, le service de la Commission européenne. Elle demande l'extension PHP soap sur le serveur : sans elle, la vérification VIES est sautée au lieu de bloquer l'inscription.

Pourquoi le numéro de TVA demande-t-il une adresse ?

Dans PrestaShop, le numéro de TVA appartient à l'adresse du client. Si vous demandez le numéro de TVA à l'inscription, activez aussi « Ajout d'adresse » dans l'onglet Adresse : sans adresse, le numéro ne peut être enregistré nulle part.

Le module applique-t-il lui-même la TVA ?

Non. Il place le client pro dans les groupes de sa zone fiscale (pays de la boutique, Union européenne, hors Union européenne). Ce sont les règles de taxes et les prix de vos groupes qui s'appliquent ensuite : vous restez maître de votre fiscalité.

Que deviennent mes clients professionnels déjà inscrits ?

L'onglet « Comptes existants » compte vos comptes d'entreprise et les rattrape en un clic : ils reçoivent les groupes de leur zone, en plus de ceux qu'ils ont déjà (remises, tarifs négociés). Un client sans adresse, donc sans pays connu, n'est jamais déplacé.

Comment cacher mes prix aux visiteurs ?

Allumez « Catalogue réservé aux professionnels » : le réglage natif « Afficher les prix » est coupé pour les groupes Visiteur et Invité, et le thème affiche « Connectez-vous pour voir les prix ». Avec « Masquer aussi le catalogue aux visiteurs », catégories et produits leur sont fermés et mènent à la page « accès refusé ». Quand vous éteignez ces options, ou à la désinstallation, tout est remis comme avant.

Mon thème doit-il être modifié ?

Pour l'inscription, la vérification et les groupes, non. Le texte « Connectez-vous pour voir les prix », le bloc « Réservé aux professionnels » et l'état du compte pro s'affichent si le thème appelle les crochets du contrat lnk.b2b.account/1 (le thème LNK B2B les appelle). Sans eux, le prix reste caché et la page « accès refusé » reste celle de PrestaShop.

Où sont rangés les fichiers envoyés par mes clients ?

Dans var/lnk_b2baccount/ à la racine de la boutique, hors du dossier du module : une mise à jour ne les efface pas. Ils ne sont jamais servis directement ; seul un employé connecté les ouvre depuis le back-office. Sous Apache, un .htaccess refuse tout accès. Nginx ignore les .htaccess : ajoutez ce bloc à la configuration du site. La configuration Nginx recommandée par PrestaShop dans ses versions récentes refuse déjà /var/, ce bloc s'en assure.

location ^~ /var/lnk_b2baccount/ { deny all; return 403; }
Que deviennent les données à la désinstallation ?

Elles sont gardées : les champs, les valeurs saisies par vos clients, leurs pièces jointes et les relances. Pour tout supprimer, cochez sous « Avancé » « Supprimer aussi les données à la désinstallation », puis « Je confirme la suppression définitive ». Les réglages de prix et d'accès des visiteurs sont remis comme avant dans tous les cas.

Le module fait-il des appels extérieurs ?

Seulement ceux que vous activez : VIES (Commission européenne) pour le numéro de TVA, l'API Sirene de l'INSEE avec votre clé pour le SIRET, et Google reCAPTCHA ou Cloudflare Turnstile si la protection anti-robots est allumée. Aucun autre.

Fonctionne-t-il en multiboutique ?

Oui. Formulaires, relances et réglages sont propres à chaque boutique, et la page du module affiche toujours la portée de ce que vous enregistrez. Une nouvelle boutique reçoit les formulaires, une boutique supprimée est nettoyée. Le catalogue réservé est commun à toutes les boutiques, comme les groupes clients de PrestaShop.

Le module ralentit-il ma boutique ?

Non. Le script de 2,4 Ko (compressé) se charge seulement sur les deux pages d'inscription du module, la feuille de style de 1,6 Ko seulement sur les pages de connexion, d'inscription, de compte et de commande. Rien sur l'accueil, les catégories ni les fiches produit.

En quelles langues est-il livré ?

En français, anglais et arabe (de droite à gauche), plus l'espagnol et l'allemand. Les libellés de vos champs se saisissent dans chaque langue de la boutique.

Journal des versions

4 versions publiées pour PrestaShop

  1. Version 2.9.1 PrestaShop 9

    Nouveautés

    • Courriels en arabe, de droite à gauche : les six courriels du module (compte créé, compte en attente, relance, compte validé, et les deux avis au marchand), en HTML et en texte.

    Corrections

    • Courriels au client dans sa langue, sujet compris, même quand ils partent du back-office (validation du compte, relances SIRET et TVA) : la langue de l'employé ne s'y mêle plus, la mention des informations manquantes suit aussi. L'avis au marchand garde la langue de la boutique.
    • Poids annoncé dans la fiche et la FAQ, mesuré sur le paquet livré (gzip niveau 9) : 3,9 Ko en tout, feuille de style 1,6 Ko (1 551 octets), script 2,4 Ko (2 378 octets).
  2. Version 2.9.0 PrestaShop 9 Correctif de sécurité

    Première version de l'usine LNKBOOT, reprise du module d'origine. Branche 9 : PrestaShop 9.0 à 9.x seulement. PrestaShop 1.7.7 à 8.x passent sur la branche prestashop/legacy (2.1.0).

    Sécurité

    • Sondes de sécurité rejouées à chaque version sur les points d'entrée publics du module : actions Ajax, adresse des relances sans jeton ou avec un mauvais jeton, formulaires d'inscription, page de présentation pro, accès direct aux pièces jointes.

    Nouveautés

    • Catalogue réservé aux professionnels : prix cachés aux visiteurs par le réglage natif des groupes Visiteur et Invité, « Connectez-vous pour voir les prix » à la place du prix ; option « Masquer aussi le catalogue aux visiteurs » par l'accès natif des catégories (accueil compris, racine exceptée), page native « accès refusé » complétée par le bloc « Réservé aux professionnels » ; tout remis comme avant quand on éteint et à la désinstallation.
    • Contrat de thème lnk.b2b.account/1 : crochets displayLnkB2bPriceLogin, displayLnkB2bRestricted, displayLnkB2bStatus (« Compte pro actif » ou « informations légales à compléter », rien pour un visiteur) et lien {widget name='lnk_b2baccount' mode='link'}, sans feuille de style ni script du module.
    • Multiboutique : formulaires, relances et réglages par boutique, portée affichée, formulaires copiés dans une nouvelle boutique, lignes d'une boutique supprimée effacées.
    • Arabe, de droite à gauche, au back-office et sur les formulaires.
    • Option « Supprimer aussi les données à la désinstallation », en deux temps, sous « Avancé ».

    Modifications

    • Pièces jointes des clients rangées hors du dossier du module, dans var/lnk_b2baccount/, jamais servies directement ; celles des versions précédentes y sont déplacées à la mise à jour.
    • Données gardées à la désinstallation par défaut (champs, valeurs saisies, pièces jointes, relances).
    • Nouveau back-office sur l'habillage commun des modules LNK : douze réglages visibles au plus par écran, réglages rares sous « Avancé ».
    • Front au design commun des modules LNK : inscription, champs pro de la page d'identité, choix du type de compte et invitation pro du tunnel en classes lnk-b2baccount__…, couleurs du thème par les variables --lnk-*, valeurs neutres sinon (plus de couleur imposée).
    • Traductions complétées : 89 chaînes du code et 18 du front qui n'étaient traduites nulle part ; libellés des champs créés à l'installation et noms des groupes pro écrits dans la langue de chaque ligne.
  3. Version 2.1.1 PrestaShop 1.7.6 à 8.x

    Nouveautés

    • Courriels en arabe, de droite à gauche : les six courriels du module (compte créé, compte en attente, relance, compte validé, et les deux avis au marchand), en HTML et en texte.

    Corrections

    • Courriels au client dans sa langue, sujet compris, même quand ils partent du back-office (validation du compte, relances SIRET et TVA) : la langue de l'employé ne s'y mêle plus, la mention des informations manquantes suit aussi. L'avis au marchand garde la langue de la boutique.
    • Poids annoncé dans la fiche et la FAQ, mesuré sur le paquet livré (gzip niveau 9) : 3,9 Ko en tout, feuille de style 1,6 Ko (1 551 octets), script 2,4 Ko (2 378 octets).
Voir la version précédente
  1. Version 2.1.0 PrestaShop 1.7.6 à 8.x Correctif de sécurité

    Première version de l'usine LNKBOOT, reprise du module d'origine. Branche 1 : PrestaShop 1.7.7 à 8.x. PrestaShop 9 a sa propre archive (2.9.0), au même code métier.

    Sécurité

    • Sondes de sécurité rejouées à chaque version sur les points d'entrée publics du module : actions Ajax, adresse des relances sans jeton ou avec un mauvais jeton, formulaires d'inscription, page de présentation pro, accès direct aux pièces jointes.

    Nouveautés

    • Catalogue réservé aux professionnels : prix cachés aux visiteurs par le réglage natif des groupes Visiteur et Invité, « Connectez-vous pour voir les prix » à la place du prix ; option « Masquer aussi le catalogue aux visiteurs » par l'accès natif des catégories (accueil compris, racine exceptée), page native « accès refusé » complétée par le bloc « Réservé aux professionnels » ; tout remis comme avant quand on éteint et à la désinstallation.
    • Contrat de thème lnk.b2b.account/1 : crochets displayLnkB2bPriceLogin, displayLnkB2bRestricted, displayLnkB2bStatus (« Compte pro actif » ou « informations légales à compléter », rien pour un visiteur) et lien {widget name='lnk_b2baccount' mode='link'}, sans feuille de style ni script du module.
    • Multiboutique : formulaires, relances et réglages par boutique, portée affichée, formulaires copiés dans une nouvelle boutique, lignes d'une boutique supprimée effacées.
    • Arabe, de droite à gauche, au back-office et sur les formulaires.
    • Option « Supprimer aussi les données à la désinstallation », en deux temps, sous « Avancé ».

    Modifications

    • Pièces jointes des clients rangées hors du dossier du module, dans var/lnk_b2baccount/, jamais servies directement ; celles des versions précédentes y sont déplacées à la mise à jour.
    • Données gardées à la désinstallation par défaut (champs, valeurs saisies, pièces jointes, relances).
    • Nouveau back-office sur l'habillage commun des modules LNK : douze réglages visibles au plus par écran, réglages rares sous « Avancé ».
    • Front au design commun des modules LNK : inscription, champs pro de la page d'identité, choix du type de compte et invitation pro du tunnel en classes lnk-b2baccount__…, couleurs du thème par les variables --lnk-*, valeurs neutres sinon (plus de couleur imposée).
    • Traductions complétées : 89 chaînes du code et 18 du front qui n'étaient traduites nulle part ; libellés des champs créés à l'installation et noms des groupes pro écrits dans la langue de chaque ligne.
    • Traductions par le système historique de PrestaShop, le seul que lit la 1.7.7 (fichiers translations/fr.php, en.php, ar.php, es.php et de.php).

Votre panier

Votre panier est vide.