Mass Product Updater (CSV/Excel). Mass Product Updater importe un fichier CSV ou Excel (.xlsx) et met à jour le prix, le stock, l'état et les identifiants de vos produits existants. Vous enregistrez des profils de correspondance de colonnes réutilisables, vous prévisualisez chaque modification ligne par ligne grâce à une simulation avant que quoi que ce soit ne soit écrit, vous lancez l'import par lots avec un rapport d'erreurs ligne par ligne, et vous annulez le dernier import si besoin. Un cron protégé par jeton vous permet d'automatiser les flux fournisseurs. Aucun code, aucune modification du thème.
Mass Product Updater importe un fichier CSV ou Excel (.xlsx) et met à jour le prix, le stock, l'état et les identifiants de vos produits existants. Vous enregistrez des profils de correspondance de colonnes réutilisables, vous prévisualisez chaque modification grâce à une simulation ligne par ligne avant que quoi que ce soit ne soit écrit, vous lancez l'import par lots avec un rapport d'erreurs ligne par ligne, et vous annulez le dernier import si besoin. Un cron protégé par jeton vous permet d'automatiser les flux fournisseurs. Aucun code, aucune modification du thème.
1. Installation
- Dans le back office, allez dans Modules → Gestionnaire de modules → Téléverser un module et sélectionnez le ZIP du module.
- Une fois l'installation terminée, cliquez sur Configurer pour ouvrir l'assistant.
.local, .test, localhost) sont toujours autorisés. Dès qu'une nouvelle version est disponible, elle est signalée directement dans le module.Si, à la place de la confirmation, vous lisez « Upload failed », PrestaShop a peut-être désactivé le module sans vous le dire : vos réglages et vos données restent en place. Comment mettre à jour un module, et que faire en cas de « Upload failed ».
2. Configuration : étape par étape
L'écran Configurer comporte quatre onglets : Import / mise à jour, Profils de correspondance, Historique et annulation et Réglages. Un import ordinaire se déroule comme un court assistant : téléversement → correspondance des colonnes → simulation → application.
1. Téléverser un fichier CSV ou Excel commencez ici
Dans l'onglet Import / mise à jour, choisissez un fichier (.csv / .xlsx) et cliquez sur Téléverser. Les types acceptés sont .csv, .txt et .xlsx, jusqu'à 20 Mo. Le CSV est pris en charge entièrement ; le XLSX est lu au mieux lorsque les extensions PHP ZIP et SimpleXML sont disponibles. Si vous avez déjà enregistré un profil, sélectionnez-le dans Utiliser un profil enregistré pour préremplir la correspondance et les options de source. À retenir : cet outil met à jour uniquement les produits existants, il n'en crée jamais de nouveaux.

2. Faire correspondre les colonnes et régler la source
Après le téléversement, le module affiche l'en-tête et les premières lignes du fichier pour que vous puissiez faire correspondre chaque colonne. Réglez d'abord les options de lecture en haut, puis la correspondance des colonnes en dessous.
- Identifier les produits par : l'identifiant utilisé pour retrouver le produit, ID produit, Référence, EAN13, UPC ou Référence fournisseur.
- Délimiteur / Caractère d'encadrement : le séparateur de champs (utilisez
\tpour une tabulation) et le caractère de guillemet. - Encodage / Décimale : l'encodage du fichier (par exemple
UTF-8,ISO-8859-1,Windows-1252; il est converti en UTF-8) et le séparateur décimal (.ou,). - La première ligne est un en-tête : cochez si la ligne 1 contient les noms des colonnes.
- Quand aucun produit ne correspond : Ignorer sans rien dire ou Signaler dans le journal de l'import.
- Tableau de correspondance : pour chaque colonne, choisissez ce qu'elle alimente : ** CLÉ DE CORRESPONDANCE (identifiant) **, Prix (hors taxes), Prix d'achat, Quantité en stock (valeur), Quantité en stock (delta +/-), Prix spécifique (fixe), Actif (0/1), Poids, Référence, EAN13, UPC, Quantité minimale, ou laissez sur -- ignorer --.
Vous devez désigner une seule colonne comme CLÉ DE CORRESPONDANCE et au moins une colonne comme champ à mettre à jour.
3. Simulation et comparatif recommandé
Cliquez sur Simulation (aperçu) pour simuler l'import sans rien écrire. Le module indique combien de lignes ont été reconnues, introuvables ou en erreur, puis ouvre le détail de l'import avec un comparatif ligne par ligne : chaque champ modifié s'affiche sous la forme ancienne valeur → nouvelle valeur. Relisez toujours le comparatif avant d'appliquer.
4. Lancer l'import (appliquer)
Quand le comparatif vous convient, cliquez sur Appliquer les modifications et confirmez. L'import se déroule par lots (la taille de lot réglée dans les Réglages détermine le nombre de lignes traitées par transaction). À la fin, vous obtenez un récapitulatif, lignes mises à jour, introuvables, en erreur sur le total, ainsi que le détail complet avec le journal ligne par ligne.
5. Profils de correspondance réutilisables
Dans l'onglet Profils de correspondance, vous enregistrez une correspondance de colonnes une bonne fois pour toutes et vous la réutilisez pour les flux récurrents. Un profil retient le nom du profil, le champ d'identification, le délimiteur, le caractère d'encadrement, l'encodage, le séparateur décimal, la présence d'un en-tête, la conduite à tenir quand un produit est introuvable et la correspondance de chaque colonne (par numéro de colonne, à partir de 0). Les profils enregistrés se modifient et se suppriment, et ils sont proposés dans l'onglet Import comme pour le cron.
6. Historique et annulation
L'onglet Historique et annulation liste les imports récents avec leur mode (simulation / application), la source, les totaux et l'état. Ouvrez un import pour voir ses statistiques, le journal ligne par ligne (filtrable par résultat) et un bouton Télécharger le rapport (CSV). Pour un import appliqué, vous pouvez cliquer sur Annuler cet import afin de rétablir les valeurs précédentes de tous les champs modifiés, à condition que l'instantané d'avant import ait été conservé (voir les Réglages).
7. Cron protégé par jeton automatisation
Dans l'onglet Réglages, la section Import planifié (cron) vous donne une URL de cron prête à l'emploi, contenant un jeton secret. Appelez-la depuis votre planificateur (par exemple la crontab) pour appliquer le profil de cron choisi à la source du cron configurée : une adresse http(s) d'un flux fournisseur, ou simplement le nom d'un fichier déposé dans le dossier de travail du module (modules/cll_csvimport/work/). Utilisez Régénérer le jeton du cron pour le renouveler. Le jeton est obligatoire et vérifié par empreinte.
8. Réglages : valeurs par défaut et données
L'onglet Réglages contient aussi : Activer le module, la taille de lot (de 20 à 5000 lignes par transaction ; plus elle est basse, plus c'est sûr sur un petit serveur), les options de source par défaut (délimiteur, caractère d'encadrement, encodage, séparateur décimal, en-tête, conduite à tenir si le produit est introuvable) qui préremplissent les nouveaux imports, Conserver l'instantané d'avant import (c'est ce qui rend l'annulation possible, laissez-le actif) et Supprimer les données à la désinstallation (inactif par défaut ; s'il est actif, la désinstallation efface tous les profils et tout l'historique).
3. Vérifier que tout fonctionne
- Téléversez un petit fichier et lancez une simulation ; ouvrez le détail de l'import et vérifiez que le comparatif ligne par ligne affiche bien les valeurs attendues, ancienne → nouvelle.
- Lancez Appliquer les modifications sur deux ou trois lignes, puis ouvrez les produits concernés et vérifiez que le prix et le stock ont bien changé comme annoncé.
- Depuis Historique et annulation, ouvrez cet import appliqué et cliquez sur Annuler cet import ; contrôlez que les produits sont revenus à leurs valeurs précédentes.
- Collez l'URL de cron dans un navigateur (ou appelez-la avec
curl) : un import doit apparaître dans l'historique, avec le profil et la source configurés.
4. Questions fréquentes
Est-ce que le module crée de nouveaux produits ?
Non. Mass Product Updater met à jour uniquement les produits qui existent déjà. Les lignes dont l'identifiant ne correspond à aucun produit sont ignorées ou signalées, jamais créées.
Quels formats de fichier sont acceptés ?
Le CSV (et le texte tabulé .txt) est pris en charge entièrement. L'Excel .xlsx est lu au mieux lorsque les extensions PHP ZIP et SimpleXML sont disponibles. Les fichiers sont acceptés jusqu'à 20 Mo.
Comment les produits sont-ils reconnus ?
Vous choisissez une clé de correspondance, ID produit, Référence, EAN13, UPC ou Référence fournisseur, et vous lui affectez une colonne. Chaque ligne est rapprochée d'un produit par cet identifiant avant qu'un seul champ ne soit modifié.
L'annulation est-elle sans risque ?
Oui, tant que l'option Conserver l'instantané d'avant import est active (c'est le cas par défaut). Le module garde la valeur précédente de chaque champ modifié, ce qui lui permet de rétablir exactement l'état d'origine. Un import ne peut être annulé qu'une seule fois.
