Easy Checkout Fields ajoute vos propres questions au tunnel de commande de PrestaShop : un numéro de bon de commande, un créneau de retrait, un message cadeau, une case de consentement… Vos clients répondent pendant leur commande, et vous retrouvez leurs réponses sur la commande, dans les e-mails, sur les factures et dans un export pour tableur.
Ce guide s’adresse aux commerçants, pas aux développeurs. Il vous guide pas à pas, avec des exemples concrets. Version décrite : 1.1.1.
À propos des captures. Elles viennent d’une boutique de démonstration en anglais, « Colibri & Co », sous PrestaShop 9.1. Votre back-office peut être un peu différent sur une autre version de PrestaShop. Si votre back-office est en français, le module s’affiche en français : ce guide cite les libellés français, avec l’équivalent anglais entre parenthèses quand il aide à se repérer sur les captures. Les numéros dans les pastilles orange des captures renvoient aux étapes numérotées du texte.
1. Ce que fait le module
Pendant la commande, PrestaShop ne demande que l’essentiel : nom, adresse, transporteur et paiement. Beaucoup de boutiques ont besoin d’une information de plus, par exemple :
- Commandes professionnelles : le numéro de bon de commande du client, et le bon de commande signé en PDF.
- Retrait en boutique : le créneau où le client passera.
- Cadeaux : « Cette commande est un cadeau » et un message pour la carte cadeau.
- Livraison : une date de livraison souhaitée, un digicode, l’étage.
- RGPD : une case de consentement, par exemple pour transmettre le numéro de téléphone au transporteur.
Easy Checkout Fields vous permet d’ajouter ces questions vous-même, en quelques clics, sans toucher à votre thème. Chaque question s’appelle un champ.
Où vont les réponses
Une fois la commande passée, vous retrouvez les réponses :
- sur la page de la commande dans votre back-office (où vous pouvez aussi télécharger les fichiers joints) ;
- sur la page de confirmation de commande et dans le compte du client ;
- dans les e-mails de commande envoyés au client et dans l’e-mail « nouvelle commande » qui vous est envoyé ;
- sur la facture PDF et sur le bon de livraison PDF ;
- sur la page Données collectées du module, avec un export CSV pour votre tableur.
Pour chaque champ, vous choisissez où sa réponse apparaît.
Compatibilité et prérequis
| Élément | Pris en charge |
|---|---|
| PrestaShop | 1.7.6 à 9.1 (testé jusqu’à la 9.1.5) |
| PHP | 7.1 ou plus récent (testé jusqu’à PHP 8.4) |
| Tunnel de commande | Le tunnel natif de PrestaShop (4 étapes) |
| Thème | Classic (testé). Pour un autre thème, voir l’encadré ci-dessous. |
| Multiboutique | Oui : chaque boutique a ses propres champs |
Pas encore validés : le thème Hummingbird, le tunnel de commande sur une seule page de PrestaShop 9.2, les modules de commande en une page d’autres éditeurs et les thèmes qui modifient fortement le tunnel. Si vous en utilisez un, testez d’abord le module sur une copie de votre boutique.
Offres : Free, Starter et Business
Le module est vendu par abonnement, avec trois offres. L’offre Free fonctionne sans clé de licence et sans limite de durée. Les prix en vigueur figurent sur la page du module.
| Fonction | Free | Starter | Business |
|---|---|---|---|
| Nombre de champs | 3 | Illimité | Illimité |
| Types de champs | Texte, Zone de texte, Liste déroulante, Oui / Non, Consentement RGPD, Message d’information | Tous les types sauf Envoi de fichier (13 types) | Les 14 types |
| 8 emplacements dans le tunnel, sauvegarde automatique, contrôle à chaque étape | ✓ | ✓ | ✓ |
| Réponses sur la page de commande, la page de confirmation, le compte client et les e-mails | ✓ | ✓ | ✓ |
| Outils RGPD (psgdpr, purge, anonymisation, suppression) | ✓ | ✓ | ✓ |
| Ciblage d’affichage par produits, catégories, groupes de clients et langues | – | ✓ | ✓ |
| Champ obligatoire selon la réponse à un autre champ | – | ✓ | ✓ |
| Facture PDF, bon de livraison PDF et export CSV | – | ✓ | ✓ |
| Affichage selon une autre réponse ou le contexte de la commande (panier, transporteur, paiement, pays, groupe, invité) | – | – | ✓ |
| Champ obligatoire selon le contexte de la commande | – | – | ✓ |
| Ciblage d’affichage par transporteur | – | – | ✓ |
| Champ d’envoi de fichier | – | – | ✓ |
| Modification des réponses depuis la page de commande | – | – | ✓ |
Dans le module, la plupart des fonctions absentes de votre offre affichent un petit cadenas, en général avec le nom de l’offre qui les débloque.
Si votre abonnement prend fin, le module repasse à l’offre Free. Vos champs et les réponses déjà collectées sont conservés. Dans le tunnel, un champ dont le type, le ciblage d’affichage ou les conditions d’affichage ne sont pas inclus dans l’offre Free est masqué, plutôt que montré à tout le monde : un champ réservé à certains clients ne devient jamais visible de tous par accident. Au-delà des 3 premiers champs que l’offre peut afficher, les autres sont masqués aussi. Une obligation conditionnelle cesse simplement de s’appliquer, et les réponses n’apparaissent plus sur les factures ni sur les bons de livraison.
2. Installation
Avant de commencer, téléchargez le fichier ZIP du module depuis votre espace client sur modules.gekkode.com : Mes licences, puis le bouton Télécharger de votre licence. Ne le décompressez pas.
- Dans votre back-office, ouvrez Modules > Gestionnaire de modules (Module Manager).
- Cliquez sur Installer un module (Upload a module) en haut à droite (1).
- Déposez le fichier ZIP dans la fenêtre, ou cliquez sur le lien pour le choisir sur votre ordinateur.
- Attendez le message « Module installé ! », puis cliquez sur Configurer.


Le module se trouve désormais dans le menu Commandes (1), rubrique Easy Checkout Fields (2). Il compte quatre pages, en onglets en haut : Tableau de bord, Champs, Données collectées et Réglages.

Bon à savoir. Installer le module ne change rien à votre tunnel de commande. Rien n’apparaît à vos clients tant que vous n’avez pas créé et activé un champ.
Licence et activation
L’offre Free fonctionne dès l’installation : vous n’avez rien à activer. Pour l’offre Starter ou Business, vous reliez votre licence à votre boutique à deux endroits : d’abord dans votre espace client, puis dans PrestaShop.
Dans votre espace client sur modules.gekkode.com (commencez toujours par là) :
- Ouvrez Mes sites et cliquez sur Ajouter un site.
- Dans Nom de domaine du site, saisissez le domaine de votre boutique, par exemple
ma-boutique.fr, puis cliquez sur Ajouter le site. Vous pouvez l’écrire avec ou sanshttps://etwww.: ils sont ignorés, doncwww.ma-boutique.fretma-boutique.frsont le même site. Un sous-domaine, en revanche, est un autre site :shop.ma-boutique.frn’est pasma-boutique.fr. - Ouvrez Mes licences, ouvrez votre licence Easy Checkout Fields, cliquez sur Activer sur un site et choisissez le site que vous venez d’ajouter.
- Cliquez sur Copier la clé pour copier votre clé de licence. Elle ressemble à
XXXX-XXXX-XXXX-XXXX.
Puis dans PrestaShop :
- Ouvrez Commandes > Easy Checkout Fields > Tableau de bord.
- En bas de la page, cliquez sur le panneau Information sur le module pour l’ouvrir.
- Collez votre clé dans le champ Clé de licence, puis cliquez sur Activer la licence.


« Domaine non autorisé » ? Le domaine de votre boutique n’est pas encore relié à la licence. Vérifiez les étapes 1 à 3 dans votre espace client, puis rechargez le tableau de bord. Le panneau affiche le domaine utilisé par votre boutique (Domaine de la boutique) : ce doit être celui que vous avez ajouté.
Si le serveur de licences est injoignable (problème réseau sur votre serveur ou le nôtre), le module garde votre offre payante pendant 14 jours, sur la base de la dernière vérification réussie, et réessaie tout seul. Au-delà de 14 jours sans réponse, il repasse à l’offre Free jusqu’à ce que le serveur réponde de nouveau. Un message sur les pages du module vous prévient quand c’est le cas.
Si votre licence expire ou est suspendue (par exemple après un paiement refusé), le module repasse à l’offre Free et un message explique quoi faire. Renouvelez ou régularisez le paiement depuis votre espace client : les fonctions payantes reviennent à la vérification suivante.
Mettre à jour le module
Le panneau Information sur le module du tableau de bord vérifie s’il existe une nouvelle version. Quand c’est le cas, il affiche Mise à jour disponible et un bouton Installer la mise à jour. Le module garde une sauvegarde de la version en place et la restaure automatiquement en cas de problème. Vous pouvez aussi cliquer sur Télécharger le ZIP et l’installer par Modules > Gestionnaire de modules > Installer un module. Ces deux boutons demandent une clé de licence activée dans le panneau. Sans clé, téléchargez le nouveau ZIP depuis Mes licences dans votre espace client et installez-le de la même façon. Vos champs, vos réponses et les fichiers joints sont conservés.
Désinstaller
Si vous désinstallez le module, vos champs, les réponses et les fichiers envoyés sont conservés par défaut : vous pourrez le réinstaller plus tard sans les perdre. Seule la page Réglages reprend ses valeurs par défaut. Pour tout effacer à la désinstallation, activez d’abord Supprimer TOUTES les données à la désinstallation dans les Réglages.
3. Votre premier champ en 5 minutes
Exemple : vous livrez des meubles et voulez que vos clients laissent des instructions de livraison (digicode, étage, meilleur moment). La réponse doit figurer sur le bon de livraison, pour que le livreur l’ait sous les yeux.
Étape 1 : ouvrir le formulaire
Allez dans Commandes > Easy Checkout Fields, onglet Champs, et cliquez sur Nouveau champ (New field).

Étape 2 : remplir l’essentiel
- Libellé (Label) (1) : la question que lit votre client. Saisissez Instructions de livraison.
- Type de champ (Field type) (2) : choisissez Zone de texte (Text area), une case de saisie sur plusieurs lignes.
- Texte indicatif (Placeholder) (3), facultatif : un exemple en gris dans la case vide. Saisissez Digicode, étage, meilleur moment pour livrer…
- Texte d’aide (Help text) (4), facultatif : une petite note sous le champ. Saisissez Facultatif. Notre livreur le lira avant de livrer.

Étape 3 : choisir où et quand il apparaît
Dans la colonne de droite :
- Champ actif (Active field) (1) est activé : le champ apparaîtra dans le tunnel.
- Champ obligatoire (Required field) (2) reste désactivé : le client peut laisser la case vide. Ne rendez un champ obligatoire que si vous ne pouvez vraiment pas préparer la commande sans la réponse.
- Étape (Step) (3) : choisissez Étape 3 — Livraison, l’étape où le client choisit un transporteur.
- Emplacement (Placement) (4) : choisissez Après les transporteurs.
- Dans Afficher la réponse dans (Show the answer in), laissez les trois premiers interrupteurs activés et activez Bon de livraison PDF (5).
Avec l’offre Free, les interrupteurs PDF sont verrouillés : le bon de livraison et la facture sont inclus à partir de l’offre Starter.

Étape 4 : enregistrer et vérifier
Cliquez sur Créer le champ (Create field) en bas du formulaire. Le champ apparaît maintenant dans la liste, et dans votre tunnel, sous les transporteurs :

Passez une commande de test dans votre boutique : vous retrouverez la réponse sur la page de la commande dans votre back-office, dans les e-mails et sur le bon de livraison.
Gardez un tunnel court. Chaque question en plus ralentit vos clients. Ne demandez que ce que vous utilisez vraiment, préférez les champs facultatifs, et servez-vous des conditions pour ne montrer un champ qu’aux clients concernés.
4. Les 14 types de champs
Choisissez le type qui correspond à la réponse attendue. Le formulaire n’affiche que les réglages utiles pour le type choisi.
| Type | Ce que voit le client | Exemple concret | Réglages propres |
|---|---|---|---|
| Texte | Une case sur une ligne | Numéro SIRET, digicode | Longueur maximale (255 caractères par défaut) |
| Zone de texte | Une case sur plusieurs lignes | Instructions de livraison, message pour la carte cadeau | Longueur maximale (2 000 caractères par défaut) |
| Date | Un calendrier | Date de livraison souhaitée, date d’un événement | Dates autorisées : n’importe quelle date, aujourd’hui ou après, aujourd’hui ou avant |
| Heure | Un sélecteur d’heure (heures et minutes) | Heure de livraison souhaitée | – |
| Nombre | Une case qui n’accepte qu’un nombre | Nombre de convives, nombre de colis | Valeur minimale, valeur maximale |
| Une case qui vérifie le format de l’adresse | E-mail du destinataire du cadeau, du service comptable | – | |
| Téléphone | Une case qui vérifie le format du numéro | Téléphone de la personne qui réceptionne le colis | – |
| Liste déroulante | Une liste, un seul choix | Créneau de retrait | Choix (un par ligne) |
| Boutons radio | Tous les choix visibles, un seul possible | « Déposer le colis : devant la porte / chez un voisin » | Choix (un par ligne) |
| Cases à cocher | Tous les choix visibles, plusieurs possibles | Options cadeau : emballage, carte, ruban | Choix (un par ligne) |
| Oui / Non | Une seule case à cocher | « Je commande pour une entreprise », « Cette commande est un cadeau » | – |
| Envoi de fichier | Un bouton « Choisir un fichier » | Bon de commande signé, logo à imprimer | Extensions autorisées, taille maximale (voir Envois de fichiers) |
| Message d’information | Un texte, sans rien à remplir | « Les commandes passées après 14 h partent le lendemain. » | Message (HTML simple accepté, par exemple un lien) |
| Consentement RGPD | Une case à cocher à côté de votre texte | « J’accepte que mon numéro de téléphone soit transmis au transporteur. » | Message (HTML simple accepté, par exemple un lien vers votre page de confidentialité) |
Écrire les choix d’une liste
Pour les types Liste déroulante, Boutons radio et Cases à cocher, saisissez un choix par ligne dans Choix (Choices). Vous pouvez simplement écrire le texte affiché au client :
Mardi, 10 h – 12 h
Mercredi, 14 h – 18 h
Ou utiliser la forme valeur|Texte affiché : la partie avant le | est un code court enregistré avec la commande, la partie après est ce que lit le client.
mardi|Mardi, 10 h – 12 h
mercredi|Mercredi, 14 h – 18 h
samedi|Samedi, 10 h – 13 h

valeur|Texte affiché.Utilisez la forme valeur|Texte affiché si votre boutique a plusieurs langues. Vous traduisez le texte après le | et gardez le même code dans toutes les langues. Les réponses restent alors cohérentes quelle que soit la langue du client, et vos conditions fonctionnent dans toutes les langues.
Trois types qui se comportent différemment
- Oui / Non : si vous le rendez obligatoire, le client doit cocher la case pour commander. Pour une question à laquelle le client peut répondre « non », laissez-le facultatif : une case non cochée est enregistrée comme ✗.
- Consentement RGPD : toujours obligatoire. Le client ne peut pas commander sans cocher la case. La réponse est enregistrée avec la commande (✓), comme trace du consentement.
- Message d’information : il affiche seulement votre texte. Il ne collecte rien, il n’apparaît donc jamais dans les commandes, les e-mails ni les documents.
5. Étapes du tunnel et emplacement
Le tunnel de commande natif de PrestaShop compte 4 étapes. Pour chaque champ, vous choisissez l’Étape, puis l’Emplacement dans cette étape : avant ou après son contenu principal. Cela fait 8 emplacements possibles.
| Étape | Ce que fait le client | Emplacement « avant » | Emplacement « après » |
|---|---|---|---|
| Étape 1 — Informations personnelles | Donne son nom et son e-mail, se connecte ou commande en invité | Avant le formulaire d’informations client | Après les informations client |
| Étape 2 — Adresses | Saisit ou choisit l’adresse de livraison | Avant la sélection des adresses | Après la sélection des adresses |
| Étape 3 — Livraison | Choisit un transporteur | Avant les transporteurs | Après les transporteurs |
| Étape 4 — Paiement | Choisit un moyen de paiement et valide la commande | Avant les moyens de paiement | Après les moyens de paiement |
Quelle étape choisir ? Posez la question là où elle a du sens pour le client :
- « Commandez-vous pour une entreprise ? » : étape 1, avec les informations personnelles.
- Un digicode ou un étage : étape 2, après l’adresse.
- Un créneau de retrait ou une date de livraison souhaitée : étape 3, après les transporteurs.
- Un numéro de bon de commande, un message cadeau, un consentement : étape 4, avant les moyens de paiement. Dans le doute, c’est l’endroit le plus sûr : le client a fait tous ses choix.
Au même emplacement, les champs apparaissent dans l’ordre de la liste Champs. Glissez les lignes pour le changer.
Comment les réponses sont enregistrées et contrôlées
- Enregistrées pendant la saisie. Chaque réponse est enregistrée avec le panier au fur et à mesure. Rien n’est perdu si le client revient à une étape précédente.
- Contrôlées à chaque étape. Quand le client clique sur Continuer, le module contrôle les champs de l’étape : un champ obligatoire vide ou un format incorrect (une adresse e-mail invalide, une date passée…) s’affiche en rouge avec une explication.
- Contrôlées de nouveau avant le paiement. Quand le client valide sa commande, chaque champ visible du tunnel est contrôlé de nouveau, y compris sur le serveur. Un champ qui pose problème passe en rouge avec son message (par exemple « Ce champ est obligatoire. ») et la page défile jusqu’à lui.
- Un champ masqué ne bloque jamais la commande. Un champ masqué par ses conditions n’est jamais contrôlé, et ce que le client saisit pendant qu’il est masqué n’est pas enregistré.

6. Conditions : n’afficher un champ que lorsqu’il est utile
Une condition est une règle du type « n’afficher ce champ que si le client paie par virement ». Les conditions gardent votre tunnel court : chaque client ne voit que les questions qui le concernent.
Dans le formulaire du champ, vous trouverez deux cartes :
- Affichage conditionnel (Conditional display) : le champ n’est affiché que lorsque les règles sont remplies. Sinon, il est masqué et jamais obligatoire.
- Obligatoire sous condition (Conditionally required) : le champ est toujours affiché, mais il ne devient obligatoire que lorsque les règles sont remplies.
Les deux cartes fonctionnent indépendamment. Vous pouvez utiliser l’une, l’autre, ou les deux.
Comment s’écrit une règle
Une règle se compose de trois parties, choisies dans des listes, de gauche à droite : ce qu’on regarde, la façon de comparer et la valeur. Par exemple : Moyen de paiement sélectionné · est · ps_wirepayment.
Quand une carte contient plusieurs règles, choisissez en haut entre TOUTES les conditions sont remplies (chaque règle doit être vraie) et AU MOINS UNE condition est remplie (une seule règle vraie suffit).
Exemple 1 : numéro de bon de commande pour les professionnels qui paient par virement
Les clients professionnels qui paient par virement doivent donner leur numéro de bon de commande. Les autres clients ne doivent pas voir cette question. La boutique de démo utilise un champ Oui / Non « Je commande pour une entreprise » (I’m ordering for a company) à l’étape 1, puis un champ Texte « Numéro de bon de commande » (Purchase order number) à l’étape 4.
- Ouvrez le champ « Numéro de bon de commande ». Dans Affichage conditionnel, activez Activer les conditions pour ce champ (1).
- Dans Afficher le champ lorsque, gardez TOUTES les conditions sont remplies (2).
- Cliquez sur Ajouter une condition et réglez : Un autre champ · Je commande pour une entreprise · est · Oui (3). Dans la liste des valeurs, Oui apparaît sous la forme « Oui / Yes ».
- Ajoutez une seconde condition : Moyen de paiement sélectionné · est ·
ps_wirepayment(4). C’est le nom technique du module de virement (voir le tableau plus bas). - Dans Obligatoire sous condition, activez Activer l’obligation conditionnelle (5) et ajoutez : Moyen de paiement sélectionné · est ·
ps_wirepayment(6). - Laissez Champ obligatoire désactivé dans la colonne de droite, puis cliquez sur Enregistrer les modifications.

Laissez « Champ obligatoire » désactivé quand vous utilisez « Obligatoire sous condition ». « Champ obligatoire » rend le champ obligatoire chaque fois qu’il est affiché, quelles que soient vos règles. L’obligation conditionnelle ne fonctionne que s’il est désactivé.
Résultat dans le tunnel : le client coche « Je commande pour une entreprise » à l’étape 1, puis choisit le virement à l’étape 4, et le numéro de bon de commande apparaît, avec le champ d’envoi du bon de commande signé.


Exemple 2 : message pour la carte cadeau
Créez un champ Oui / Non « Cette commande est un cadeau » (This order is a gift), puis un champ Zone de texte « Message pour la carte cadeau » (Gift card message) à la même étape. Sur le champ du message, ajoutez une condition d’affichage : Un autre champ · Cette commande est un cadeau · est · Oui. La case du message n’apparaît que lorsque le client coche « Cette commande est un cadeau ».

Exemple 3 : créneau pour le retrait en boutique
Le champ « Créneau de retrait en boutique » (In-store pickup time slot) est une Liste déroulante à l’étape 3, après les transporteurs. Sa condition d’affichage est Transporteur sélectionné · est · 1, où 1 est le numéro du transporteur « Click and collect » de la boutique de démo. Le créneau apparaît dès que le client choisit le retrait en boutique, et disparaît s’il choisit la livraison.


Ce qu’une règle peut regarder
La première liste d’une règle propose 9 choix. Pour certains, vous saisissez un numéro ou un nom technique : le tableau indique où le trouver.
| Choix | Ce qu’il regarde | Ce qu’il faut saisir comme valeur |
|---|---|---|
| Un autre champ | La réponse du client à un autre champ | Pour un Oui / Non : choisissez Oui ou Non. Pour une liste : choisissez l’un de ses choix. Sinon, saisissez le texte à comparer. |
| Montant du panier | Le montant du panier TTC, sans les frais de port | Un montant, avec un point pour les décimales : 100 ou 99.90 |
| Produits dans le panier | Les produits du panier | Un ID de produit, visible dans la colonne ID de Catalogue > Produits |
| Catégories dans le panier | Les catégories des produits du panier | Un ID de catégorie, visible dans Catalogue > Catégories |
| Transporteur sélectionné | Le transporteur choisi à l’étape 3 | Le numéro du transporteur, visible dans la colonne ID de Livraison > Transporteurs (voir la FAQ si vous avez modifié le transporteur) |
| Moyen de paiement sélectionné | Le moyen de paiement choisi à l’étape 4 | Le nom technique du module de paiement, par exemple ps_wirepayment (virement), ps_checkpayment (chèque), ps_cashondelivery (paiement à la livraison). Pour le trouver, cliquez sur Configurer sur le module de paiement dans le gestionnaire de modules : le nom figure dans l’adresse de la page, juste après configure. |
| Pays de livraison | Le pays de l’adresse de livraison | Un ID de pays, visible dans International > Zones géographiques > Pays |
| Groupe client | Les groupes du client | Un ID de groupe, visible dans Clients > Groupes. Par défaut : 1 = Visiteur, 2 = Invité, 3 = Client. Un client qui commande sans compte est classé ici comme Visiteur : pour le cibler, utilisez plutôt Commande en tant qu’invité. |
| Commande en tant qu’invité | Si le client commande sans compte | Choisissez Oui ou Non |
Comment comparer
| Opérateur | La règle est vraie quand… | Exemple |
|---|---|---|
| est | la valeur est exactement celle saisie. Pour les produits, les catégories et les groupes, il suffit que l’un d’eux corresponde. | Transporteur sélectionné · est · 1 |
| n’est pas | la valeur est différente | Pays de livraison · n’est pas · 8 |
| contient | la réponse contient votre texte, majuscules ou non | Un autre champ (Raison sociale) · contient · SARL |
| ne contient pas | la réponse ne contient pas votre texte | Un autre champ · ne contient pas · test |
| est vide | le client n’a pas répondu, une case Oui / Non n’est pas cochée, ou la réponse vaut 0 | Un autre champ (N° de TVA) · est vide |
| est renseigné | le client a répondu | Un autre champ (Digicode) · est renseigné |
| est supérieur à | le nombre est strictement plus grand | Montant du panier · est supérieur à · 500 |
| est inférieur à | le nombre est strictement plus petit | Montant du panier · est inférieur à · 50 |
Règles à connaître
- Une réponse saisie pendant que le champ était affiché reste sur la commande. Par exemple, si un client écrit un message cadeau puis décoche « Cette commande est un cadeau », le message déjà saisi reste enregistré avec la commande.
- Quels champs peut-on utiliser dans une règle ? Un champ actif, qui n’a pas lui-même de condition d’affichage, et qui n’est ni un Envoi de fichier ni un Message d’information. Les conditions n’ont qu’un seul niveau : un champ affiché sous condition ne peut pas servir de condition à un autre champ. Si la liste est vide, le formulaire le signale : créez d’abord l’autre champ.
- Un choix pas encore fait compte comme « inconnu ». Tant que le client n’a pas choisi de transporteur ou de moyen de paiement, un champ qui en dépend reste masqué. Il apparaît dès que le choix est fait, sans recharger la page.
- Un champ ne peut dépendre que de ce qui est déjà connu. Placez le champ à la même étape que le choix dont il dépend, ou après. Par exemple, un champ qui dépend du moyen de paiement se place à l’étape 4.
Ciblage d’affichage : réserver un champ à certains clients
La carte Ciblage d’affichage (Display targeting) est une façon plus simple de limiter un champ. Laissez tout vide pour montrer le champ à tous les clients, ou remplissez un ou plusieurs critères :
- Produits dans le panier et Catégories dans le panier : saisissez au moins 2 lettres, puis cliquez sur le produit ou la catégorie pour l’ajouter. Le champ apparaît si le panier contient au moins l’un d’eux.
- Groupes de clients : cochez les groupes autorisés à voir le champ.
- Langues de la boutique (seulement si votre boutique a plusieurs langues) : cochez les langues dans lesquelles le champ apparaît.
- Transporteurs : cochez les transporteurs. Ce critère est prévu pour les champs de l’étape 4, une fois le transporteur choisi. Pour un champ de l’étape 3 qui doit réagir au transporteur sur lequel le client clique, utilisez plutôt une condition Transporteur sélectionné (exemple 3).
Quand vous remplissez plusieurs critères, ils doivent tous être respectés. À l’intérieur d’un critère, une seule correspondance suffit.

Ciblage ou condition ? Le ciblage est décidé au chargement du tunnel de commande, d’après le panier et le client. Une condition réagit en direct à ce que fait le client dans la page : cocher une case, choisir un transporteur ou un moyen de paiement.
7. Traduire les textes
Les textes de vos champs
Chaque texte que vous saisissez dans un champ (libellé, texte indicatif, texte d’aide, choix, message) existe dans chaque langue de votre boutique. Ces cases portent la mention Champ multilingue.
- En haut de la carte L’essentiel, choisissez une langue dans Langue.
- Saisissez les textes dans cette langue.
- Recommencez pour chaque langue, puis enregistrez.
- Si vous laissez le libellé vide dans une langue, le module recopie celui d’une autre langue : la question n’est jamais vide.
- Les autres textes ne sont pas recopiés. Remplissez les Choix d’une liste et le Message d’un Message d’information ou d’un Consentement RGPD dans toutes les langues : sinon la liste est vide, ou la case n’a pas de texte, pour les clients de cette langue.
- Pour les listes, utilisez la forme
valeur|Texte affiché(voir Écrire les choix).
Les textes du module
Le module affiche aussi ses propres textes aux clients : le titre « Informations complémentaires », le bouton « Choisir un fichier » et les messages d’erreur (« Ce champ est obligatoire. »…). Ils sont fournis en anglais, français, espagnol, italien, allemand et polonais.
Dans la version 1.1.1, ces textes ne se modifient pas depuis le back-office : la page de traduction de PrestaShop (International > Traductions) ne les propose pas. Dans une autre langue que ces six-là, les clients les voient en anglais. Si le titre « Informations complémentaires » ne vous convient pas, vous pouvez le masquer dans les Réglages.
La langue du back-office du module
Le back-office du module suit la langue de l’employé connecté. Il existe en anglais et en français ; dans les autres langues, il s’affiche en anglais.
Les réponses sont enregistrées avec le libellé dans la langue du client au moment de la commande. Si un client a commandé en anglais, vous lirez le libellé anglais sur la page de la commande.
8. Où retrouver les réponses
Dans chaque champ, la carte Afficher la réponse dans indique où sa réponse apparaît. Par défaut, les trois premiers emplacements sont activés. Les réponses facultatives laissées vides n’apparaissent ni au client, ni dans les e-mails, ni sur les documents ; la page de commande de votre back-office les affiche quand même, vides. Une case Oui / Non non cochée apparaît comme ✗.
Sur la page de commande de votre back-office
Ouvrez la commande dans Commandes > Commandes. Le bloc Informations complémentaires (Easy Checkout Fields) liste les réponses. Cliquez sur le nom d’un fichier pour le télécharger (1).
Pour corriger une réponse donnée par erreur, cliquez sur le crayon à côté (2), modifiez la valeur et cliquez sur Enregistrer. Les fichiers ne se modifient pas.
La modification des réponses depuis la page de commande est incluse dans l’offre Business.

Sur la page de confirmation et dans le compte client
Avec Compte client et page de confirmation activé, le client retrouve les réponses sur la page de confirmation après sa commande, puis dans son compte, rubrique Historique et détails de mes commandes, dans le détail de la commande.


Dans les e-mails
Avec E-mails de commande activé, un bloc « Informations complémentaires » est ajouté à ces e-mails, sans modifier vos modèles d’e-mail :
- au client : confirmation de commande, en attente du paiement par virement, en attente du paiement par chèque, paiement accepté ;
- à vous : l’e-mail « nouvelle commande ». PrestaShop l’envoie par son module Alertes par e-mail (ps_emailalerts), qui doit être installé et configuré avec votre adresse e-mail.
Le bloc apparaît sous le moyen de paiement dans la confirmation de commande et dans l’e-mail « nouvelle commande », et à la fin des autres e-mails. Dans les Réglages, vous pouvez retirer d’un coup les réponses de tous les e-mails client, ou de l’e-mail « nouvelle commande ». Pour un fichier envoyé, l’e-mail indique le nom du fichier, pas le fichier lui-même.

Sur la facture et le bon de livraison
Activez Facture PDF et/ou Bon de livraison PDF dans le champ. Un bloc « Informations complémentaires » apparaît alors en bas du document. Les factures et les bons de livraison sont générés au moment où vous les ouvrez : une réponse apparaît donc aussi sur les documents des commandes passées.
La facture et le bon de livraison sont inclus à partir de l’offre Starter.


Si vous modifiez ou supprimez un champ
- Le libellé est enregistré avec chaque réponse. Si vous renommez un champ plus tard, les commandes passées gardent le libellé que le client a vu.
- Supprimer un champ ne supprime jamais les réponses déjà rattachées aux commandes. Elles restent visibles sur la page de commande de votre back-office, sur la page Données collectées et dans l’export, mais n’apparaissent plus sur les pages du client, ni dans les e-mails, ni sur les documents.
- Si une commande est scindée en plusieurs commandes (une par transporteur), chaque commande garde les réponses.
9. Données collectées et export CSV
La page Données collectées liste les réponses de vos commandes, des plus récentes aux plus anciennes : commande, champ, réponse, fichier, client et date. Elle montre aussi les réponses encore dans des paniers, marquées Panier (non commandé) : par défaut, elles sont supprimées au bout de 30 jours si le panier ne devient pas une commande (voir RGPD). Vous pouvez rechercher, filtrer par champ (2) et ouvrir la commande.

Exporter vers un tableur
Cliquez sur Exporter en CSV (1). Vous obtenez un fichier avec une ligne par commande, qui s’ouvre dans Excel, LibreOffice ou Google Sheets. Il contient :
- la commande : numéro, référence, date, statut, transporteur, moyen de paiement, totaux et devise ;
- le client : nom, e-mail, adresses de livraison et de facturation ;
- les produits : quantité, nom et référence ;
- puis une colonne par champ, avec les réponses.
Les colonnes sont séparées par des points-virgules. Le fichier est encodé pour que les accents s’affichent correctement dans Excel. Tout texte qui commence par =, +, - ou @ est précédé d’une apostrophe, pour que votre tableur ne l’exécute jamais comme une formule. Les nombres simples restent tels quels.
L’export CSV est inclus à partir de l’offre Starter.
L’export contient des données personnelles (noms, e-mails, adresses). Rangez le fichier en lieu sûr et supprimez-le quand vous n’en avez plus besoin.
10. Envois de fichiers
Avec un champ Envoi de fichier, le client joint un document à sa commande : un bon de commande signé, un logo à imprimer, un schéma… Il clique sur Choisir un fichier. Le fichier est envoyé aussitôt ; le client peut le retirer avec la croix × et en choisir un autre.
Le champ Envoi de fichier est inclus dans l’offre Business.
Quels fichiers sont acceptés
- Extensions : par défaut
pdf, jpg, jpeg, png, gif, doc, docx, txt, zip. Vous pouvez changer cette liste pour tous les champs dans les Réglages, ou pour un champ dans ses propres réglages (Extensions autorisées). - Taille : 5 Mo par fichier par défaut, valeur modifiable dans les Réglages. Pour accepter des fichiers plus lourds, augmentez cette valeur, jusqu’à la limite de votre serveur, que le module affiche ; au-delà, demandez à votre hébergeur de relever les limites d’envoi de PHP (
upload_max_filesizeetpost_max_size). Dans les réglages d’un champ, vous pouvez fixer une limite plus basse pour ce champ. - Toujours refusés, quelle que soit votre liste : les programmes et les scripts (par exemple
php,js,exe,sh,html,svg). - Contenu réel vérifié : pour les formats courants (PDF, images, documents Word et Excel, texte, CSV, ZIP), le module vérifie que le fichier est bien ce qu’annonce son extension, lorsque votre serveur dispose de l’extension PHP « fileinfo » (c’est le cas chez la plupart des hébergeurs). Un programme renommé est refusé.
Où sont gardés les fichiers
Les fichiers sont stockés dans le dossier modules/easycheckoutfields/uploads/ de votre boutique, sous des noms aléatoires, sans extension. Vous les téléchargez uniquement depuis votre back-office : depuis la page de commande ou depuis la page Données collectées. Les e-mails, les factures et l’export n’indiquent que le nom du fichier.
Le dossier contient une règle qui en interdit l’accès aux visiteurs sur les serveurs Apache, les plus courants. Si votre serveur utilise Nginx, demandez à votre hébergeur de bloquer l’accès web à ce dossier.
Incluez ce dossier dans vos sauvegardes. Si vous supprimez à la main le dossier du module sur votre serveur, les fichiers disparaissent avec lui.
11. RGPD et données personnelles
Les réponses à vos champs peuvent être des données personnelles. Le module vous donne les outils pour respecter le RGPD :
- Champ Consentement RGPD. Rédigez votre texte, avec un lien vers votre page de confidentialité si vous le souhaitez. La case est toujours obligatoire, et le ✓ est enregistré avec la commande, comme trace du consentement.
- Module RGPD officiel (psgdpr). Si vous utilisez le module RGPD gratuit de PrestaShop, Easy Checkout Fields apparaît dans sa liste. Quand un client demande ses données, l’export inclut ses réponses. Quand il demande l’effacement de ses données, ses réponses et ses fichiers sont supprimés.
- Suppression d’un client. Quand vous supprimez un client dans PrestaShop, ses réponses et ses fichiers sont supprimés aussi.
- Réponses des paniers abandonnés. Les réponses enregistrées dans des paniers qui ne sont jamais devenus des commandes sont supprimées au bout de 30 jours par défaut.
- Anonymisation. Vous pouvez faire remplacer les réponses des anciennes commandes par « [anonymized] » (et supprimer les fichiers) au bout d’un certain nombre de mois.
- Suppression au cas par cas. Sur la page Données collectées, l’icône corbeille (3) supprime définitivement une réponse et son fichier.
Les durées de conservation se règlent dans Réglages > RGPD et conservation des données (voir plus bas). Ne demandez que les informations dont vous avez besoin : c’est la première règle du RGPD, et vos clients vous en remercieront.
12. Réglages
La page Réglages fixe le comportement général du module. Cliquez sur Enregistrer les réglages en bas après chaque modification.
Affichage dans le tunnel de commande
Afficher le titre « Informations complémentaires » au-dessus des champs : affiche ou masque ce titre au-dessus de chaque groupe de champs dans le tunnel.

E-mails
- E-mails client (confirmation de commande, paiement) : ajoute les réponses aux e-mails envoyés au client. Si vous le désactivez, les e-mails partent quand même, sans les réponses.
- Notification marchand (nouvelle commande) : ajoute les réponses à l’e-mail « nouvelle commande » qui vous est envoyé.
Chaque champ peut aussi être exclu des e-mails avec son propre interrupteur E-mails de commande.

Envois de fichiers
- Extensions autorisées (par défaut) : les extensions acceptées par les champs d’envoi de fichier, séparées par des virgules. Un champ peut avoir sa propre liste.
- Taille max (Mo, par défaut) : la taille maximale d’un fichier. La note sous la case indique la limite de votre serveur. Un champ peut avoir une limite plus basse, pas plus haute.

RGPD et conservation des données
- Purger les réponses des paniers abandonnés après (jours) : 30 par défaut. 0 désactive la purge.
- Anonymiser les réponses des commandes après (mois) : 0 par défaut, ce qui garde les réponses. Par exemple, 36 anonymise les réponses des commandes de plus de 3 ans.

Avancé
- Blocage strict côté serveur (désactivé par défaut) : refuse de créer la commande quand un champ obligatoire manque, même si les contrôles du navigateur ont été contournés (robots, tunnels de commande atypiques). Laissez-le désactivé sauf si l’information est indispensable à votre contrat. Attention : avec un module de paiement qui encaisse avant de créer la commande, une commande refusée peut laisser un paiement sans commande.
- Tâches de conservation automatiques déclenchées par le trafic de la boutique (cron paresseux) (activé par défaut) : la purge et l’anonymisation se lancent toutes seules, au plus une fois toutes les 6 heures, quand des visiteurs parcourent votre boutique. Si vous préférez un horaire fixe, désactivez-le et demandez à votre hébergeur d’appeler régulièrement l’adresse affichée sous l’interrupteur (une « tâche cron »). Gardez cette adresse privée.
- Supprimer TOUTES les données à la désinstallation (désactivé par défaut) : si vous l’activez, désinstaller le module supprime définitivement les champs, les réponses et les fichiers envoyés.

Plusieurs boutiques (multiboutique)
Avec la fonction multiboutique de PrestaShop, chaque boutique a ses propres champs et ses propres réponses. Choisissez la boutique dans le sélecteur en haut du back-office avant de gérer ses champs.
13. Questions et dépannage
Mon champ n’apparaît pas dans le tunnel
Vérifiez, dans cet ordre :
- Le champ est Actif (colonne Statut de la liste Champs).
- Vous regardez la bonne étape : le champ n’apparaît qu’à l’étape choisie dans ses réglages.
- Son ciblage d’affichage correspond à votre panier de test (produits, catégories, groupe, langue, transporteur).
- Ses conditions sont remplies. Un champ qui dépend du transporteur ou du moyen de paiement n’apparaît qu’une fois ce choix fait.
- Votre thème utilise le tunnel natif. Un module de commande en une page ou un tunnel très modifié peut ne pas afficher les champs.
Avec l’offre Free, un champ dont le type, le ciblage ou les conditions d’affichage ne sont pas inclus est masqué, et seuls les 3 premiers champs que l’offre peut afficher apparaissent dans le tunnel.
Un client ne peut pas passer sa commande
Un champ obligatoire visible est vide, ou une réponse a un format incorrect. Le champ s’affiche en rouge avec la raison, par exemple « Ce champ est obligatoire. », et la page défile jusqu’à lui. Un champ masqué ne bloque jamais une commande. Si des clients restent souvent bloqués, demandez-vous si le champ doit vraiment être obligatoire.
Si vous avez activé le Blocage strict côté serveur dans les Réglages, PrestaShop peut aussi refuser la commande avec le message « Veuillez renseigner les informations obligatoires avant de passer votre commande. »
Un champ Oui / Non obligatoire bloque les clients qui répondent « non »
C’est normal : une case Oui / Non obligatoire doit être cochée. Pour une vraie question oui/non, laissez le champ facultatif, ou utilisez un champ Boutons radio avec les choix « Oui » et « Non ».
Les réponses manquent dans l’e-mail « nouvelle commande » que je reçois
- Vérifiez que le module PrestaShop Alertes par e-mail est installé et configuré avec votre adresse e-mail : c’est lui qui envoie cet e-mail.
- Vérifiez que Notification marchand (nouvelle commande) est activé dans les Réglages, et E-mails de commande dans le champ.
- Un champ facultatif laissé vide n’apparaît pas dans les e-mails.
Les réponses manquent sur la facture ou le bon de livraison
Activez Facture PDF ou Bon de livraison PDF dans la carte Afficher la réponse dans du champ, puis rouvrez le document. Un champ facultatif laissé vide n’apparaît pas.
Ces deux interrupteurs sont inclus à partir de l’offre Starter.
Ma condition sur le transporteur ne fonctionne pas
Quand vous modifiez un transporteur, PrestaShop peut lui attribuer un nouvel ID, mais le module reconnaît le transporteur à son premier ID, celui qu’il avait à sa création. Si vous avez modifié le transporteur depuis, saisissez ce premier ID. Si vous ne le connaissez pas, utilisez Ciblage d’affichage > Transporteurs pour un champ de l’étape 4 : vous y cochez le transporteur par son nom.
Ma condition sur le moyen de paiement ne fonctionne pas
La valeur doit être le nom technique du module de paiement, pas le nom affiché aux clients : ps_wirepayment, et non « Virement bancaire ». Vérifiez aussi que le champ est à l’étape 4, où se choisit le moyen de paiement.
Le fichier d’un client est refusé
Le message indique pourquoi. « Ce type de fichier n’est pas autorisé. » : l’extension n’est pas dans la liste, ou le contenu du fichier ne correspond pas à son extension. « Ce fichier est trop volumineux. » (ou « Ce fichier est trop volumineux (5 Mo maximum). ») : le fichier dépasse la limite. Ajoutez l’extension à la liste si elle est sans danger, ou augmentez la taille maximale dans les Réglages, dans la limite de votre serveur. Les programmes et les scripts sont toujours refusés.
Le back-office du module est en anglais
Le back-office du module existe en anglais et en français. Il suit la langue de l’employé connecté : dans toute autre langue que le français, il s’affiche en anglais. Vos clients, eux, voient les textes du module en anglais, français, espagnol, italien, allemand ou polonais.
Sur PrestaShop 1.7.6 et 1.7.7, ces versions ne lisent pas les fichiers de traduction placés dans le dossier d’un module. À l’installation et à chaque mise à jour, le module copie donc ses textes français dans le dossier app/Resources/translations/ de votre boutique. Si ce dossier n’est pas accessible en écriture (droits d’accès sur le serveur), la copie échoue et le module reste en anglais, même pour un employé francophone. Demandez à votre hébergeur de rendre le dossier accessible en écriture, puis réinstallez le module ou installez la mise à jour suivante. Une réinstallation garde vos champs et vos réponses, sauf si Supprimer TOUTES les données à la désinstallation est activé, mais remet la page Réglages à ses valeurs par défaut.
Puis-je modifier un champ après avoir reçu des commandes ?
Oui. Les commandes passées gardent le libellé et la réponse tels qu’ils étaient au moment de la commande. Si vous changez les choix d’une liste, les réponses passées gardent le texte que le client avait choisi.
Que fait « Dupliquer » ?
Il crée une copie du champ, avec tous ses réglages, et ajoute « (copy) » à son libellé. La copie est créée inactive : elle n’apparaît pas dans votre tunnel avant que vous l’ayez adaptée.
Avec l’offre Free, la duplication est refusée une fois la limite de 3 champs atteinte.
Le module ralentit-il ma boutique ?
Ses scripts ne se chargent que dans le tunnel de commande, et sa feuille de style dans le tunnel et sur la page de confirmation. Les tâches RGPD automatiques tournent au plus une fois toutes les 6 heures.
Comment obtenir de l’aide ?
Cliquez sur la bulle Support en bas à droite des pages du module pour ouvrir un ticket : vous pouvez joindre une capture d’écran, et la réponse arrive à la fois dans la bulle et par e-mail. Vous pouvez aussi ouvrir un ticket depuis votre espace client sur modules.gekkode.com.
14. Glossaire
- Back-office
- L’administration de votre boutique, où vous gérez produits, commandes et modules.
- Bon de livraison
- Le document PDF qui accompagne le colis.
- Champ
- Une question que vous ajoutez au tunnel de commande.
- Champ obligatoire
- Un champ auquel le client doit répondre pour commander, lorsqu’il est affiché.
- Ciblage d’affichage
- Des critères (produits, catégories, groupes, langues, transporteurs) qui réservent un champ à certains paniers ou clients.
- Commande en tant qu’invité
- Commander sans créer de compte client.
- Condition
- Une règle qui affiche un champ, ou le rend obligatoire, seulement dans certains cas.
- CSV
- Un fichier de tableur simple, qui s’ouvre dans Excel, LibreOffice ou Google Sheets.
- Extension
- La fin du nom d’un fichier, qui indique son type :
.pdf,.jpg… - Groupe client
- Une famille de clients dans PrestaShop (Visiteur, Invité, Client, ou vos propres groupes, comme « Professionnels »).
- ID
- Le numéro que PrestaShop donne à chaque produit, catégorie, transporteur, pays ou groupe. Il figure dans la colonne ID des listes.
- Libellé
- La question affichée au-dessus d’un champ.
- Multiboutique
- Une fonction de PrestaShop pour gérer plusieurs boutiques depuis un seul back-office.
- Nom technique
- Le nom interne d’un module, en minuscules, comme
ps_wirepayment. - Opérateur
- La façon dont une règle compare : est, n’est pas, contient, est supérieur à…
- Panier
- La liste des produits que le client s’apprête à acheter. Les réponses sont enregistrées avec lui jusqu’à la commande.
- psgdpr
- Le module RGPD officiel de PrestaShop, qui traite les demandes d’accès et d’effacement des clients.
- RGPD
- Le règlement européen sur les données personnelles.
- Tâche cron
- Une tâche que votre serveur lance tout seul à intervalles réguliers, réglée par votre hébergeur.
- Texte d’aide
- Une petite note affichée sous un champ.
- Texte indicatif
- Un exemple en gris dans une case vide, qui disparaît quand le client écrit.
- Transporteur
- Le mode de livraison choisi à l’étape 3 (une société de transport, le retrait en boutique…).
- Tunnel de commande
- Les pages où le client passe commande, du panier au paiement. Le tunnel natif de PrestaShop compte 4 étapes.
- ZIP
- Un fichier compressé qui contient le module. Vous l’installez tel quel, sans le décompresser.