Comment faire un import de produits en CSV sur Magento

import-produit

Il est fréquent qu'on ai besoin de modifier plusieurs produits à la fois dans un site ecommerce comme Magento. Plutôt que d'ouvrir, modifier, sauvegarder en boucle et perdre ainsi beaucoup de temps nous allons étudier ensemble aujourd'hui comment passer à la vitesse supérieur pour l'administration de votre catalogue produit. Ce tutoriel est bien sur vu en détail lors d'un exercice de formation au back office de magento.

Etape 0 : Avoir les bons outils !

Récupérer un fichier d'import type qui marche à tous les coups !

Plutôt que de vous embêter à le regénérer à chaque fois ou d'oublier une info cruciale, je vous inviter à télécharger gratuitement le modèle d'import produit en CSV pour Magento afin de faciliter la suite du tutoriel.

Installer Open Office pour éviter les problèmes de retour à la ligne et d'encodage

Quand on parle d'import produit sur un site e-commerce, on est vite confronté à des problèmes d'encodage pour les accents (UTF8 vs ANSI) ou pire des retours à la ligne qui font changer de cellule! C'est pour cela qu'une fois n'est pas coutume nous n'allons utiliser google spreadsheet, ni microsoft excel mais le Calc d'open office. Je vous invite à cliquer sur ce lien pour télécharger open office dès maintenant.

Etape 1 : Isoler les produits que l'on va mettre à jour par import

Peut-être ne souhaitez vous pas modifier l'intégralité de votre base catalogue. Nous allons donc mettre commencer par exporter uniquement les informations des produits qui nous intéressent.

  1. Dans votre back office : Cliquer sur sur Système puis Export
  2. Sélectionner "Produits" au niveau du choix de type d'entité
  3. Choisir CSV comme format d'export
  4. Cocher la case "encapsuler les champs" pour que chaque champ soit entouré de guillemets (ça a toute son importance)
  5. Spécifier les filtres selon le mécanisme expliqué ci dessous plus en détail
  6. Cliquer sur continuer pour récupérer le fichier de vos produits à modifier.

Magento propose dans cet écran tout une série de filtre basé sur les attributs personnalisés et les attributs system. L'écran se décompose en 4 colonnes :

  • Excluse : Cette case doit être cochée pour inverser le sens du filtre (Si elle est cochée, tous les produits seront exporté sauf ceux correspondant au filtre) sinon la laisser vider. Attention il ne faut donc pas cocher la case en pendant que seul cet attribut sera exporté.
  • Attribute label : il s'agit du nom de l'attribut dans la langue de votre back office
  • Attribut code : il s'agit du nom système (en code source) de l'attribut, ce sera également le nom de la colonne dans le fichier csv exporté.
  • Filter : c'est ici que vous pouvez soit saisir une valeur libre soit choisir parmis une liste proposée. Par exemple dans la lign avec comme attribut code "category_ids" vous pouvez indiquer la catégorie contenant les produits à filtrer pour segmenter votre export au maximim.

NB : Les filtres sont cumulatif, si vous renseignez deux lignes il faudra que les produits répondent aux deux conditions des filtres.

Etape 2 : Renseigner les bonnes valeurs dans le fichier.

Vous allez le remarquer, le fichier d'export contient de très nombreuses colonnes et mérite d'être quelque peu épuré pour s'y retrouver.

Pour ouvrir le fichier dans open Office : placer vous dans le dossier téléchargement, faites un clic droit sur le fichier, allez dans "ouvrir avec" et choisissez Open office calc.

La fenêtre suivante s'ouvrira ensuite :

Import magento via open office

Les point importants à cocher sont :

  • Jeu de caractères : Unicode (UTF-8)
  • Séparé par : Virgule
  • Autre options : cocher "champ entre guillemets comme texte"

Vous verrez ensuite l'aperçu dans l'écran plus bas pour confirmer que le fichier va être correctement lu par open office.

il vous faudra donc reprendre à minima les colonnes :

  • sku
  • store_view_code
  • attribute_set_code
  • product_type
  • name
  • price

Qui sont obligatoires pour les placer dans le fichier modèle plus haut. Si l'information que vous souhaitez modifier n'est pas présente, il suffira d'ajouter la colonne avecle bon code d'attribut en colonne (et non pas le label).

Le cas particulier des valeurs multiples

Certaines colonnes peuvent contenir plusieurs valeurs qui seront vraissemblement séparées par une virgule, c'ets notamement le cas des catégories. AInsi, si un produit est dans deux catégories : il faudra les indiquer comme ceci :

Default Category/Gear,Default Category/Gear/Watches

Le cas particulier des attributs personnalisés

Pour les attributs personnalisés, la méthode de modification est malheureusement moins simple. Ils sont tous regroupé en une colonne sous la forme:

Attribut_code_1="valeur attribut 1"|Attribut_code_2="valeur attribut 2"|Attribut_code_3="valeur attribut 3"

Pour pouvoir générer cette colonne plus facilement nous vous proposons de vous aider de notre fichier de travail gratuit (sous excel cette fois)

Etape 3 : Sauvegarder le fichier d'import des produits correctement

Dans cette procédure nous allons pleinement bénéficier de Open Office pour éviter les problèmes de format d'import. Voici la liste des étapes à suivre :

  1. Cliquer sur fichier enregistrer sous
  2. Dans la fenêtre d'exploration qui apparait, choisissez l'emplacement ou stocker le fichier csv
  3. Cocher la case : "Editer les pramètres du filtre" Cette étape est cruciale !
  4. Dans la fenetre suivante, choisir les paramètres suivants et ne changer pas les autres (voir capture d'écran ci-dessous)
    jeu de caractère : "Unicode (UTF -8)"
    Séparateur de champ ","
    Séparateur de texte : " 
    cocher : "séparateur de texte"
  5. Cliquer sur Ok pour finir la sauvegarde

paramètre export open office produits csv magento

Etape 4 : Importer le fichier csv des produits dans Magento

Nous voici donc à la dernière étape ! Et pour une fois si vous avez bien suivi les instructions, tout se passera bien ! 

  1. Aller dans le back office
  2. Cliquer sur Système puis Importer

Dans l'écran suivant il y a plusieurs paramètre que je vais vous décrypter :

  • Type d'entité (enity type): On choisira ici produits
  • Comportement d'import (import behavior) :
    Add/update : On ajoute un nouveau produit ou on met un jour un existant, cela dépend si le sku est déjà connu ou pas de Magento
    Replace : On ne fait que mettre à jour les données sur les produits existants (les autres sont ignorés)
    Delete : on supprime les produits spécifiés (attention à ne pas la choisir par erreur)
  • Stop on error, skip errors : Permet de définir avec la case suivante (allowed error count) le nombre d'erreur accepté avant d'arrêter l'import du fichier.
  • Field separator : Mettre ici "," (virgule sans guillemet) comme à l'export open office
  • Multiple value separator Mettre ici "," (virgule sans guillemet) comme à l'export open office
  • Empty attribute value constant : laisser __EMPTY__VALUE__
  • Field enclodure : cocher la case.

Il ne vous reste plus qu'à cliquer sur choisir un fichier puis cliquer sur check data en haut à droite.

Magento va ensuite vérifier que le fichier est bien constitué avant l'import. Si une colonne ou une valeur pose problème il vous guidera pour vous aider à corriger le fichier qu'il faudra bien penser à reuploader à chaque nouvelle tentative.

Petite précaution sur les cases vides :

Attention, dans l'import si vous laisser une case vide, magento supprimera l'ancienne valeur de la case. Laisser une case vide revient donc à remettre à zéro un attribut pour un produit. Cela ne correspond pas à laisser la valeur inchangée.

Autres articles sur le sujet