# DataFirefly Fidélité et Parrainage : programme de points, paliers et parrainage pour PrestaShop

> Installation Installez le module depuis Modules > Gestionnaire de modules > Installer un module en envoyant le fichier ZIP, ou déposez le dossier dfloyalty dans le répertoire /modules/ de votre…

- Page: <https://www.datafirefly.com/documentation/dfloyalty/>
- Langue: fr
- Mis à jour le: 2026-09-22
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfloyalty/index.md), [es](https://www.datafirefly.com/es/documentation/dfloyalty/index.md), [de](https://www.datafirefly.com/de/documentation/dfloyalty/index.md), [it](https://www.datafirefly.com/it/documentation/dfloyalty/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfloyalty/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfloyalty/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfloyalty/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Installation

Installez le module depuis **Modules > Gestionnaire de modules > Installer un module** en envoyant le fichier ZIP, ou déposez le dossier `dfloyalty` dans le répertoire `/modules/` de votre boutique puis cliquez sur Installer.

À l'installation, le module crée ses tables, enregistre ses réglages par défaut, crée quatre paliers de statut (Bronze, Argent, Or, Platine) et ajoute l'onglet **Clients > Fidélité et Parrainage**. Le bouton Configurer du gestionnaire de modules ouvre directement l'écran des réglages.

Commencez par choisir la **couleur d'accent** dans Réglages > Général. Elle colore les boutons du module, les barres de progression et les e-mails. Par défaut, c'est un vert sombre qui ne correspondra pas forcément à votre charte.

## Premiers réglages

Les réglages sont regroupés en sections, accessibles depuis le sommaire à gauche. Avant d'ouvrir le programme à vos clients, vérifiez au minimum ces points :

- **Points par unité de devise** : 1 par défaut, soit 1 point par euro dépensé. Les décimales sont acceptées (0,5 = 1 point tous les 2 euros).
- **Statuts qui confirment les points** : par défaut les statuts de paiement accepté, expédié et livré.
- **Taux de conversion** : par défaut 100 points = 5 €. L'encadré à gauche calcule en direct le pourcentage reversé aux clients une fois les points convertis.
- **Récompenses de parrainage** : 10 € pour le filleul et 500 points pour le parrain par défaut.

## Gain de points

### Calcul

Les points sont calculés sur les lignes produits de la commande, dans la devise du client puis convertis dans la devise par défaut. Les frais de port ne rapportent jamais de points. Trois options ajustent la base :

- **Calculer sur les prix TTC** : désactivez-la pour calculer sur les prix HT.
- **Déduire les bons et remises** : les règles panier de la commande (hors livraison gratuite) sont retirées de la base au prorata.
- **Pas de points sur les produits déjà en promotion** : les produits vendus avec une réduction sont exclus.

Le multiplicateur du palier du client et les points bonus du produit s'appliquent ensuite. Le résultat est arrondi à l'entier inférieur.

### Cycle de vie des points

- À la validation de la commande, les points sont enregistrés **en attente**. Le client les voit dans son compte mais ne peut pas les utiliser.
- Quand la commande atteint un des statuts qui confirment les points, ils deviennent **disponibles**.
- Quand la commande passe à un des statuts qui annulent les points, ils sont retirés, qu'ils soient en attente ou déjà disponibles.
- Un **avoir partiel** retire la part des points correspondant au montant des produits remboursés.
- Si une commande annulée repasse à un statut de confirmation, les points reviennent.

Chaque mouvement est inscrit dans un historique qui n'est jamais réécrit : on ajoute une ligne de correction plutôt que de modifier une ligne existante.

### Points offerts à l'inscription

Le réglage **Points offerts à l'inscription** crédite un nombre fixe de points à chaque création de compte client (pas aux commandes en invité). Laissez 0 pour le désactiver.

## Paliers de statut

L'onglet **Paliers** liste les paliers dans l'ordre de leur seuil. Chaque palier comporte un nom et un texte d'avantages traduisibles, un seuil en points de statut, un multiplicateur de points et une couleur, utilisée pour la carte de membre du client.

Les **points de statut** sont les points gagnés, moins les annulations et remboursements. Convertir des points en bon d'achat ou les laisser expirer ne fait pas baisser le statut. Le réglage **Période de statut** limite le calcul aux N derniers mois ; laissez 0 pour compter depuis l'inscription.

Le premier palier doit avoir un seuil de 0 pour que tous les clients aient un statut dès leur première commande. Quand un client atteint un nouveau palier, un message de félicitations s'affiche à sa prochaine visite de la page fidélité.

Le texte d'avantages est informatif. Pour qu'un avantage s'applique réellement, reliez le palier à un groupe client (voir ci-dessous).

### Groupe client du palier

Dans la fiche d'un palier, le champ **Groupe client de ce palier** relie le palier à un groupe PrestaShop. Le module ajoute à ce groupe les clients qui atteignent le palier et les retire quand ils en sortent. Configurez sur ce groupe une réduction (Clients > Groupes), une règle panier de livraison offerte réservée au groupe ou des prix spécifiques : l'avantage s'applique sans intervention.

- Créez un groupe dédié à chaque palier. Un client placé manuellement dans ce groupe en serait retiré s'il n'a pas le palier.
- Le groupe par défaut du client n'est jamais modifié.
- La synchronisation a lieu à chaque mouvement de points, à l'enregistrement d'un palier et chaque jour avec la tâche planifiée.

## Points bonus sur des produits

L'onglet **Produits bonus** permet de donner plus de points sur certains produits. Recherchez le produit par son nom ou sa référence, puis choisissez :

- **Multiplicateur** : 2 double les points de ce produit.
- **Points fixes par article** : un nombre de points ajouté pour chaque unité, en plus des points standards.

Les dates de début et de fin sont facultatives. Sans dates, le bonus est permanent. La fiche produit affiche un badge (x2, +50) et le nombre de points à gagner, recalculé quand le client change la quantité. Le bonus se cumule avec le multiplicateur de palier.

## Conversion en bons d'achat

### Depuis le compte client

Dans l'onglet Récompenses de sa page fidélité, le client choisit au curseur le nombre de points à convertir, par multiples du nombre de points du taux de conversion. Il obtient un bon personnel au code `DFPTS-XXXXXXXX`, affiché dans une fenêtre avec un bouton de copie et, si l'option est active, envoyé par e-mail.

### Directement dans le panier

Si l'option **Permettre aux clients d'utiliser leurs points directement dans le panier** est active, le bloc fidélité du panier propose un curseur. Le bon est créé et appliqué au panier en un clic, sans pouvoir dépasser le total des produits. Un seul bon issu des points peut être appliqué par panier depuis ce bloc. Les bons déjà générés et non utilisés apparaissent aussi avec un bouton Appliquer.

### Réglages des bons

- **Points minimum à convertir** : en dessous, le client voit une barre de progression vers le premier bon.
- **Validité du bon** : en jours, 365 par défaut.
- **Panier minimum pour l'utiliser** : 0 pour aucun minimum.
- **Cumul avec les autres règles panier** : désactivez-le si vos bons fidélité ne doivent pas s'ajouter à vos codes promo.

Les bons sont des règles panier PrestaShop standard, visibles dans Catalogue > Réductions, attachées au client et à usage unique.

## Parrainage

### Le lien du parrain

Chaque client dispose d'un code et d'un lien de parrainage (paramètre `?dfref=CODE` sur la page d'accueil), visibles dans l'onglet Parrainage de sa page fidélité. Il peut copier le lien, le partager par WhatsApp, e-mail, Facebook ou X, ou via le partage natif de son téléphone, et envoyer des invitations par e-mail depuis le formulaire prévu.

### L'arrivée du filleul

Le visiteur qui clique sur le lien est mémorisé pendant la durée réglée dans **Mémorisation du lien** (30 jours par défaut). Un bandeau discret lui présente son cadeau, et un message l'accompagne sur le formulaire d'inscription. À la création de son compte, y compris dans le tunnel de commande :

- si la récompense du filleul est un **montant** ou un **pourcentage**, un bon sans code est créé et ajouté automatiquement à son panier, avec l'achat minimum et la validité réglés ;
- si c'est un nombre de **points**, ils sont crédités à la validation de sa première commande.

### Code saisi à l'inscription

Avec l'option **Ajouter un champ facultatif « Code de parrainage » au formulaire d'inscription**, un ami qui a reçu le code de vive voix peut le saisir en créant son compte. Un code inconnu est refusé avec un message d'erreur. Le champ n'apparaît pas si le visiteur est déjà arrivé par un lien de parrainage.

### La récompense du parrain

Le parrain est récompensé quand la première commande du filleul atteint un statut qui confirme les points et que le total de ses produits TTC atteint le **Première commande minimum du filleul**. Il reçoit des points ou un bon d'achat au code `DFREF-XXXXXXXX`, et un e-mail de remerciement.

### Protections

- Un client ne peut pas se parrainer lui-même, ni avec la même adresse e-mail.
- Une adresse e-mail qui a déjà passé commande sur la boutique n'est pas rattachée à un parrain.
- Seule la première commande validée du filleul compte. Si elle est sous le minimum, le parrainage passe au statut Non éligible.
- Les invitations par e-mail sont limitées par client et par jour, et une même adresse ne peut pas être invitée deux fois en 7 jours.

### Statuts d'un parrainage

**Invité** : e-mail envoyé par le client. **Inscrit** : compte créé avec le lien. **Récompensé** : première commande validée, récompenses accordées. **Non éligible** : première commande sous le minimum.

## Expiration et tâche planifiée

Le réglage **Expiration après inactivité** fait expirer le solde d'un client quand il n'a gagné aucun point pendant le nombre de mois indiqué. Chaque commande repousse l'échéance, et le client voit la date dans son compte. Laissez 0 pour que les points n'expirent jamais.

L'expiration est appliquée à l'ouverture de la page fidélité du client et par la tâche quotidienne dont l'URL figure dans Réglages > Maintenance. Programmez-la une fois par jour dans votre gestionnaire de tâches cron ou le module de tâches de PrestaShop. Elle envoie aussi les rappels d'expiration, crédite les points d'anniversaire et met à jour les groupes des paliers. Le bouton **Lancer la tâche quotidienne maintenant** de l'onglet Maintenance exécute la même chose.

Le réglage **Rappel avant expiration** (30 jours par défaut) envoie au client un e-mail avec son solde, sa valeur en euros et la date d'expiration. Un seul rappel est envoyé par échéance ; si le client commande entre-temps, l'échéance change et un nouveau rappel sera envoyé le moment venu.

Ajoutez `&resync=1` à l'URL pour rejouer aussi les statuts des commandes des 7 derniers jours.

## Anniversaire, newsletter et campagnes

### Points d'anniversaire

Le réglage **Points d'anniversaire** crédite des points une fois par an, à la date de naissance saisie dans le compte client, avec un e-mail de vœux. L'attribution se fait par la tâche quotidienne, et aussi à la connexion du client ou à l'ouverture de sa page fidélité. Les clients nés un 29 février les reçoivent le 28 les années non bissextiles. Par défaut, seuls les clients ayant déjà une commande validée en bénéficient, pour éviter les comptes créés pour le cadeau.

Le champ date de naissance doit être affiché dans le formulaire client : Paramètres de la boutique > Paramètres clients, option « Demander la date de naissance ».

### Points d'abonnement à la newsletter

Le réglage **Points d'abonnement à la newsletter** crédite des points une seule fois par client : à l'inscription si la case newsletter est cochée, lors d'un abonnement ultérieur depuis le compte, ou via le bloc newsletter du pied de page pour une adresse qui correspond à un compte client. Les abonnés antérieurs à l'activation de l'option ne sont pas crédités rétroactivement.

### Campagnes de points

La section **Campagne de points** multiplie tous les points gagnés entre deux dates : 2 pour des points doublés. Le multiplicateur s'ajoute à celui du palier et aux bonus produits. Pendant la campagne, un badge s'affiche sur les fiches produit, dans le bloc panier et sur la page fidélité. La date de commande fait foi : une commande passée pendant la campagne garde ses points bonifiés même si elle est validée après la fin.

## Exclure des groupes de clients

Dans Réglages > Général, cochez les **groupes clients exclus du programme**, par exemple vos comptes professionnels ou le personnel. Un client qui appartient à l'un de ces groupes ne gagne pas de points, ne voit ni la tuile, ni la page fidélité, ni les blocs produit et panier, et son lien de parrainage ne donne pas de récompense.

## Ce que voit le client

- **Mon compte** : une tuile avec le nom du programme et le solde, et un lien dans le bloc Mon compte du pied de page.
- **Page fidélité** : carte de membre aux couleurs du palier, progression, onglets Récompenses, Parrainage, Historique et Statuts.
- **Fiche produit** : points à gagner, valeur en euros, badge bonus. Option **Afficher les points à gagner sur les fiches produit**.
- **Panier** : points de la commande, solde, utilisation des points et bons disponibles. Option **Afficher le bloc points dans le panier**. Le bloc se met à jour à chaque modification du panier.
- **Confirmation de commande** : points gagnés, en attente ou déjà crédités.

## Back-office

### Tableau de bord

Points en circulation et leur valeur (le passif que représentent les soldes), points en attente, nombre de membres, points gagnés et convertis sur 30 jours avec graphique, répartition des membres par palier, bons créés et utilisés, entonnoir de parrainage, meilleurs parrains et activité récente.

### Membres et fiche membre

L'onglet **Membres** liste les clients ayant des points, triés par solde. La recherche porte sur le nom, l'e-mail, l'ID client ou le code de parrainage, et inclut les clients sans points pour pouvoir les créditer. La fiche membre affiche le solde, le palier, l'historique, les bons et les filleuls, et permet un **ajustement manuel** : saisissez un nombre positif ou négatif et un motif, que le client verra dans son historique.

La fiche client native de PrestaShop affiche aussi un encart avec le solde, le palier, le code de parrainage et un lien vers la fiche membre.

### Page commande et exports

Sur la page d'une commande en back-office, un encart indique les points de la commande et leur état, les bonus et multiplicateurs appliqués, les bons fidélité utilisés, et s'il s'agit de la première commande d'un filleul. L'onglet Membres propose deux exports CSV : la liste des membres (solde, palier, points de statut, code de parrainage) et l'ensemble des mouvements de points. Les fichiers s'ouvrent directement dans Excel ou LibreOffice.

## E-mails

Le module envoie six e-mails, dans la langue du destinataire : l'invitation d'un ami, le cadeau de bienvenue du filleul, la récompense du parrain, le bon créé à partir des points, les vœux d'anniversaire et le rappel avant expiration. Ils utilisent un gabarit unique aux couleurs de l'accent, avec le logo de la boutique. Les textes proviennent des traductions du module, le gabarit se trouve dans `mails/`.

## Données et désinstallation

Par défaut, l'option **Conserver les soldes et réglages à la désinstallation du module** est active : désinstaller puis réinstaller ne fait rien perdre. Désactivez-la avant de désinstaller si vous voulez supprimer toutes les données. Quand un client est supprimé dans PrestaShop, ses points, ses bons enregistrés et ses parrainages sont supprimés avec lui.

Le module est compatible avec le module RGPD officiel de PrestaShop : l'export des données d'un client inclut son historique de points et son code de parrainage, et la suppression d'un client depuis ce module efface ses données fidélité.

## Dépannage

### Les points restent en attente

Vérifiez que le statut actuel de la commande est coché dans **Statuts de commande qui confirment les points**. Si un employé a changé le statut et que son profil n'a pas le droit Voir sur le module (Paramètres avancés > Équipe > Permissions), PrestaShop n'a pas exécuté le module : utilisez **Resynchroniser les commandes des 90 derniers jours** dans Réglages > Maintenance. L'opération peut être relancée sans risque de double crédit.

### Le bloc fidélité n'apparaît pas dans le panier

Le bloc s'affiche via le hook `displayShoppingCart`, présent dans le thème Classic. Si votre thème ne l'appelle pas, ajoutez `{hook h='displayShoppingCart'}` dans le template du panier, ou contactez-nous avec le nom du thème.

### Le bandeau de parrainage ne s'affiche pas

Il ne s'affiche qu'aux visiteurs non connectés arrivés par un lien valide, et reste masqué 3 jours après avoir été fermé. Testez dans une fenêtre de navigation privée.

### Des textes restent en anglais

Le module est livré en 8 langues. Pour une autre langue, ou pour modifier un texte, passez par International > Traductions > Traductions des modules installés.

## Compatibilité

- PrestaShop 8.0 à 9.x, le même ZIP couvre les deux branches.
- Multilingue et multidevise. En multiboutique, le solde d'un client est commun à toutes les boutiques.
- Architecture ModuleAdminController, sans dépendance Composer.
- Module et e-mails traduits en anglais, français, espagnol, allemand, italien, néerlandais, polonais et portugais.
