Erreurs CSV produits Shopify : en-tête invalide, lignes ignorées
L'équipe Importly · Publié le 2026-08-22 · Mis à jour le 2026-08-23
Le CSV produits de Shopify est impitoyable d'une manière particulière : il accepte le fichier, annonce un import terminé, et vous laisse avec des produits sans variantes, des prix à zéro ou la moitié du catalogue absente. Les erreurs qu'il signale, elles, sont laconiques.
Voici ce que chacune veut dire.
« Invalid header » — un nom de colonne non reconnu
Shopify identifie les colonnes par le texte exact de leur en-tête. Variant price, variant_price et Price sont tous faux ; la colonne s'appelle Variant Price. Les majuscules et les espaces comptent.
La correction. Exportez un produit existant depuis Produits → Exporter et servez-vous de la ligne d'en-tête de ce fichier comme modèle. C'est toujours le jeu de noms correct et à jour pour votre boutique.
Le handle est ce qui relie les lignes de variantes
URL handle est le slug d'URL du produit : minuscules, chiffres et tirets. Si vous l'omettez sur un nouveau produit, Shopify le déduit du Title — un handle vide n'est donc pas ce qui fait disparaître des produits.
Là où il décide de tout, c'est sur les variantes. Chaque ligne de variante doit répéter le même handle que son parent, car c'est la seule chose qui les relie. Une ligne de variante au handle vide ou mal saisi devient un produit distinct — la vraie cause du « le produit est bien importé, mais chaque taille est un article à part ».
Et lorsque vous mettez à jour des produits existants au lieu d'en créer, la documentation de Shopify est explicite : URL handle et Title sont les colonnes requises.
Variantes non créées, ou fusionnées en un seul produit
C'est la partie du format qui piège presque tout le monde. Les variantes ne sont pas des colonnes : ce sont des lignes supplémentaires.
Un produit à trois tailles occupe quatre lignes dans le fichier :
- Ligne 1 porte le produit complet :
Handle,Title,Body (HTML),Vendor,Type,Tags, plusOption1 Name(Taille),Option1 Value(S), et le prix et le SKU de cette variante. - Lignes 2 à 4 répètent le même
Handle, laissentTitleet toutes les autres colonnes de niveau produit vides, et ne remplissent queOption1 Value(M,L) avec leurs propres prix, SKU et stock.
Deux façons de se tromper en découlent :
- Répéter le
Titlesur chaque ligne fait que Shopify traite chacune comme un produit distinct. - Remplir
Option1 Valueen laissantOption1 Namevide sur la première ligne fait ignorer les options entièrement.
Prix importés à 0, ou rejetés
Variant Price et Variant Compare At Price doivent être des nombres bruts avec un point comme séparateur décimal. Pas de symbole monétaire, pas de séparateur de milliers, pas d'espace.
1 299,00 € échoue. 1299.00 fonctionne.
C'est un problème systématique avec les exports d'outils européens, où 1.299,00 est la façon normale d'écrire le montant — et Excel réappliquera volontiers ce format à chaque ouverture du fichier.
La correction. Mettez la colonne prix au format Texte et écrivez la valeur brute, ou faites la conversion au moment de l'export. Attention : reformater l'affichage dans Excel ne suffit pas — ce qui compte, c'est ce qui atterrit dans le CSV enregistré.
Accents cassés
Le fichier doit être en UTF-8. Un CSV enregistré depuis un Excel français est en Windows-1252 : Café arrive donc en Café.
La correction. Enregistrer sous → CSV UTF-8 (délimité par des virgules) — l'entrée distincte dans la liste des formats d'Excel. Le CSV simple ne le fera pas.
Images non importées
Image Src doit être une URL complète et publiquement accessible — https://…, pas un chemin local ni un lien derrière une authentification. Shopify télécharge chaque image au moment de l'import ; tout ce qu'il ne peut pas récupérer est ignoré silencieusement.
Pour un produit à plusieurs images, ajoutez des lignes supplémentaires partageant le Handle, en ne remplissant que Image Src et Image Position.
Autres points utiles
PublishedaccepteTRUEouFALSE;Statusaccepteactive,draftouarchived.Variant SKUdoit être unique dans la boutique — les doublons rendent la gestion de stock imprévisible.- Importer un
Handlequi existe déjà met à jour ce produit au lieu d'en créer un nouveau. Très pratique volontairement, destructeur par accident.
Check-list avant import
- Ligne d'en-tête copiée depuis un vrai export Shopify
URL handlefourni pour mettre à jour des produits existants (Shopify le déduit pour les nouveaux)- Les lignes de variantes répètent le handle et laissent les colonnes produit vides
Option1 Namerempli sur la première ligne de chaque produit- Prix en nombres bruts avec un point décimal
- Fichier enregistré en CSV UTF-8
- URLs d'images publiques et absolues
Quand c'est le même fichier fournisseur chaque semaine
Construire ça à la main une fois, pour une migration de catalogue, c'est un après-midi raisonnable.
Le refaire chaque semaine sur un tarif fournisseur, non. Importly reprend l'export brut, renomme les colonnes aux noms de Shopify (Title, Variant SKU, Variant Price, Variant Grams, Image Src…), retire les symboles monétaires et convertit les séparateurs décimaux, normalise poids, quantités et codes-barres, corrige l'encodage et supprime les lignes vides. Enregistrez-le comme profil et le fichier de la semaine suivante passe par les mêmes règles — le Handle et les lignes de variantes restent à votre main, car Importly nettoie les noms de colonnes et les valeurs, il ne restructure pas les lignes.
À lire aussi
Arrêtez de reformater vos exports à la main.
Essayer Importly gratuitement