Exports CSV des commandes et des factures : récupérer les données de PrestaShop

Relu et mis à jour en juin 2026 — outils d’export natifs, Gestionnaire SQL et pièges d’encodage CSV vérifiés sur PrestaShop 1.7, 8 et 9.
À un moment ou à un autre, toute boutique PrestaShop se heurte au même problème : les données dont vous avez besoin sont dans la boutique, mais les personnes et les systèmes qui doivent les exploiter sont ailleurs. Votre expert-comptable veut les totaux de commande ventilés par taux de taxe. Votre entrepôt veut les commandes non expédiées du jour sous forme de liste de préparation. Vous voulez les factures du trimestre dernier dans une feuille de calcul que vous pouvez trier et croiser. PrestaShop contient tout cela — la vraie question est de savoir comment obtenir un CSV propre depuis le back-office, sans caractères illisibles, colonnes décalées ni fichier refusé par votre logiciel comptable.
Ce guide porte précisément sur l’export des commandes et factures au format CSV : ce que les outils natifs de PrestaShop fournissent réellement, les pièges d’encodage et de paramètres régionaux qui corrompent discrètement ces fichiers, et la façon d’extraire exactement les colonnes dont vous avez besoin. Exporter le catalogue produits est un autre sujet, avec ses propres subtilités — pour cela, consultez l’import et l’export de produits dans PrestaShop.
Ce que PrestaShop propose nativement

PrestaShop offre deux méthodes natives pour extraire les données de commandes, et la plupart des marchands ne connaissent que la moins puissante.
Le bouton Exporter sur les pages de liste
Ouvrez Commandes → Commandes : vous y trouverez un bouton Exporter dans la barre d’outils supérieure. Cliquez dessus et PrestaShop vous remet un CSV de la liste des commandes exactement telle qu’elle apparaît dans la grille — et c’est bien là la limite. Il exporte les colonnes visibles de la liste (référence, client, total, paiement, statut, date), en respectant les filtres que vous avez appliqués à la grille, et rien de plus. Vous ne pouvez pas ajouter le numéro de TVA de facturation, ventiler le total entre hors taxe et taxe, ni récupérer les lignes produit par produit. C’est une capture d’écran sous forme de fichier, pas un outil de reporting. Le même bouton existe dans Clients → Clients et dans le catalogue, avec la même limite de colonnes fixes.
Gestionnaire SQL — l’outil puissant dont personne ne parle
La deuxième méthode est cachée dans Paramètres avancés → Base de données → Gestionnaire SQL. Elle vous permet d’écrire une requête SQL en lecture seule avec SELECT sur la base de données, puis d’exporter le résultat directement en CSV. Vous voulez toutes les commandes du mois dernier avec le numéro de TVA du client, le total de facture ventilé en hors taxe et TTC, ainsi que le nom du transporteur ? C’est une seule requête qui joint ps_orders, ps_customer, ps_address et ps_order_invoice, puis le Gestionnaire SQL l’exporte en un clic.
La vraie limite : il faut connaître SQL. Les tables de commandes ne sont pas intuitives — les totaux sont répartis entre plusieurs colonnes (total_paid, total_paid_tax_incl, total_paid_tax_excl), les données de facture se trouvent dans une table séparée ps_order_invoice liée à la commande, et les ventilations de taxes sont dispersées dans ps_order_detail_tax. Une jointure mal faite peut doubler des lignes en silence ou faire disparaître les commandes qui n’ont pas encore de facture. Pour une demande ponctuelle du service financier, c’est l’outil le plus complet du cœur de PrestaShop ; pour un rapport que vous exécutez tous les mois, modifier du SQL à la main devient vite pénible — et c’est précisément le problème que les exporteurs sans SQL ci-dessous viennent résoudre.
Pour rendre cela concret, voici une requête en lecture seule que vous pouvez coller dans le Gestionnaire SQL pour un export comptable mensuel — référence de commande, totaux hors taxe et TTC, et numéro de facture, pour une période donnée :
SELECT o.id_order,
o.reference,
o.total_paid_tax_excl,
o.total_paid_tax_incl,
oi.number AS invoice_number,
o.date_add
FROM ps_orders o
LEFT JOIN ps_order_invoice oi
ON oi.id_order = o.id_order
WHERE o.date_add >= '2026-06-01 00:00:00'
AND o.date_add < '2026-07-01 00:00:00'
ORDER BY o.id_order;
Le LEFT JOIN est important : il conserve les commandes qui n’ont pas encore de facture (un INNER JOIN les exclurait silencieusement). La requête ne fait que lire — rien n’est écrit. Ajoutez AND o.valid = 1 si vous voulez uniquement les commandes que PrestaShop considère comme de vraies ventes. C’est très bien pour une extraction occasionnelle ; les ennuis commencent quand vous relancez la même requête, reformatez le fichier et l’envoyez par e-mail chaque semaine — c’est cette répétition que les exporteurs sans SQL ci-dessous suppriment.
Les pièges qui corrompent un CSV PrestaShop
La plupart des plaintes du type « l’export est cassé » ne concernent pas des données manquantes — elles concernent un fichier qui s’ouvre mal. Trois causes expliquent presque tous les cas, et elles méritent d’être comprises parce qu’elles touchent aussi bien l’export natif que les exports du Gestionnaire SQL ou ceux d’un module.
| Le piège | Ce que vous voyez | Pourquoi cela arrive |
|---|---|---|
| BOM UTF-8 manquant | "Müller" devient "Müller", "Łódź" se transforme en texte corrompu quand vous double-cliquez sur le fichier dans Excel | Excel suppose l’encodage du système, pas l’UTF-8, sauf si le fichier commence par un indicateur d’ordre des octets qui le précise |
| Conflit entre séparateur et décimales | Un total de 1.299,00 € se répartit sur deux colonnes, ou les lignes se décalent sur le côté | Dans les paramètres régionaux à virgule décimale (DE, FR, PL), le tableur interprète la virgule comme séparateur de colonne et le délimiteur CSV entre en collision avec le format des nombres |
| Champs texte non entourés de guillemets | Une adresse avec une virgule ("12, Rue de la Paix") se coupe en deux colonnes et toutes les colonnes suivantes se décalent | Les champs de texte libre qui contiennent le caractère délimiteur doivent être entourés de guillemets ; sinon, la structure de la ligne se désagrège |
Les corrections sont peu spectaculaires, mais incontournables : écrire le fichier en UTF-8 avec un BOM pour qu’Excel lise correctement les accents au double-clic ; conserver le point comme séparateur décimal et laisser le logiciel d’import adapter l’affichage ; entourer de guillemets chaque champ texte susceptible de contenir une virgule, un guillemet ou un saut de ligne. Un export bien conçu fait ces trois choses pour vous. Quand vous créez votre propre export via le Gestionnaire SQL, le BOM est précisément ce qu’on oublie le plus souvent — et c’est pourquoi les mêmes données semblent correctes dans Google Sheets mais illisibles dans l’Excel d’un collègue.
Au-delà de l’export intégré : choisir vos colonnes et vos filtres
Le besoin réel au quotidien n’est pas « toutes les commandes » — c’est « ces commandes, avec ces colonnes ». Chaque tâche a besoin d’une forme différente des mêmes données, et c’est exactement ce que l’export natif des listes ne sait pas faire. C’est la raison d’être de notre Orders CSV List Exporter : il ajoute au back-office un véritable écran d’export où vous choisissez les colonnes et affinez les lignes, sans écrire une seule ligne de SQL.
Concrètement, qu’est-ce que cela change ? Vous choisissez parmi des colonnes regroupées — informations de commande, numéros de facture / bon de livraison, totaux (chaque montant hors taxe et TTC séparément), client, adresses complètes de livraison et de facturation avec numéro de TVA, et lignes de produits — puis vous cochez uniquement celles dont le rapport a besoin. Ensuite, vous réduisez les lignes par plage de dates, un ou plusieurs statuts de commande et mode de paiement, dans n’importe quelle combinaison. « Toutes les commandes payées et expédiées du mois dernier, avec les numéros de facture et les totaux ventilés par taxe » devient une affaire de quelques clics plutôt qu’une requête. Le module écrit en UTF-8 avec BOM et encadre correctement les champs, de sorte que le fichier s’ouvre proprement dans Excel dès le premier essai — les pièges ci-dessus sont gérés pour vous. Il fonctionne entièrement depuis le back-office et lit vos données en production sans toucher au cœur, donc une mise à jour ne peut pas le casser.
Soyons précis sur ce qu’il est et sur ce qu’il n’est pas : c’est un export à la demande, que vous lancez quand vous en avez besoin, avec les colonnes et les filtres que vous choisissez — pas un planificateur, pas un outil d’envoi FTP, ni une chaîne d’e-mails automatisée. Si votre objectif est d’obtenir en quelques secondes un fichier prêt pour la comptabilité ou l’entrepôt, sans SQL, c’est exactement ce pour quoi il est conçu.
Les factures méritent leur propre export
Les données de facture ne sont pas simplement « des commandes sous un autre nom ». Une facture est un document comptable légal avec son propre numéro séquentiel, sa propre date, sa propre ventilation par taux de taxe, et elle ne correspond pas toujours une pour une à une commande. Pour la comptabilité, l’unité pertinente est généralement la facture, pas la commande — c’est pourquoi notre Invoice CSV List Exporter est un outil distinct, avec des filtres par plage de dates, statut de commande et mode de paiement, et une sortie CSV structurée pour l’import comptable plutôt que pour la préparation d’entrepôt.
Un point en amont mérite d’être signalé : un export n’est jamais plus propre que la numérotation qui le sous-tend. Si vos numéros de facture ont des trous ou redémarrent — ce qui arrive souvent après des tests, ou lorsque la séquence par défaut de PrestaShop se réinitialise de façon étrange — votre expert-comptable rejettera le fichier, même si le CSV est impeccable. Une numérotation séquentielle sans rupture est précisément le rôle de notre module Invoice Number, et il vaut mieux la régler avant de commencer vos exports fiscaux.
Exports fréquents, et comment les structurer
Comptabilité mensuelle
Filtrez sur la plage de dates du mois et sur les statuts qui correspondent à une vraie vente (généralement Paiement accepté, Expédiée, Livrée — pas Annulée ni Erreur de paiement). Incluez le numéro de facture, la date de facture, les totaux hors taxe et TTC, ainsi que le numéro de TVA du client. Transmettez le fichier à votre expert-comptable ou importez-le directement dans votre logiciel comptable. Le faire depuis l’exporteur de factures garde la bonne unité pour la comptabilité.
Listes de préparation d’entrepôt
Filtrez sur la date du jour et les statuts « à préparer », incluez les lignes produits, les quantités et l’adresse de livraison, et laissez de côté toutes les informations financières. C’est fondamentalement une tâche de traitement des commandes ; si votre flux de préparation et d’emballage est l’endroit où le temps se perd, l’export n’est qu’une pièce d’un ensemble plus large traité dans les flux de gestion des commandes qui vous font gagner des heures.
Déclarations TVA et OSS
Pour les déclarations européennes One-Stop-Shop, vous avez besoin de ventes ventilées par pays de destination et par taux de taxe. Exportez les totaux de factures avec le pays de livraison et les montants de taxe par taux, puis créez un tableau croisé dans votre feuille de calcul par pays. C’est l’export où la gestion du BOM et du séparateur décimal compte le plus — une erreur de virgule décimale peut gonfler silencieusement le total d’un pays.
Segmentation client
Exporter les clients et leur historique d’achat vers une plateforme marketing est un besoin lié, mais distinct — il part de la liste des clients, pas des commandes, et alimente des outils d’e-mailing plutôt que votre comptabilité. Plutôt que d’étirer ce guide jusque-là, c’est un sujet à part entière ; l’export de commandes présenté ici vise la finance et l’exécution des commandes.
Questions fréquentes
Comment exporter les commandes de PrestaShop en CSV ?
Il existe deux méthodes natives. Le bouton Exporter dans Commandes → Commandes vous donne les colonnes visibles de la grille, en respectant vos filtres — c’est rapide, mais vous ne pouvez pas ajouter des champs comme le numéro de TVA ni ventiler les totaux entre hors taxe et taxe. Pour un contrôle complet, Paramètres avancés → Base de données → Gestionnaire SQL exécute un SELECT en lecture seule et exporte le résultat ; c’est l’outil le plus puissant du cœur de PrestaShop, mais il nécessite SQL. Pour des exports répétables sans SQL, avec colonnes et filtres choisis, Orders CSV List Exporter ajoute un véritable écran d’export.
Pourquoi mon CSV exporté affiche-t-il des caractères illisibles comme "Müller" ?
Excel lit le fichier avec l’encodage du système au lieu de l’UTF-8, parce que le fichier ne contient pas d’indicateur d’ordre des octets (BOM). Écrivez le CSV en UTF-8 avec un BOM et les noms accentués s’afficheront correctement au double-clic. C’est le piège que vous oublierez le plus facilement en créant votre propre export via le Gestionnaire SQL — et c’est pourquoi le même fichier paraît correct dans Google Sheets mais illisible dans l’Excel d’un collègue.
Pourquoi certaines lignes se décalent-elles ou se coupent-elles en colonnes supplémentaires ?
Deux causes. Dans les paramètres régionaux à virgule décimale (DE, FR, PL), un total comme 1.299,00 € entre en collision avec la virgule utilisée comme délimiteur CSV et se répartit sur plusieurs colonnes — conservez le point comme séparateur décimal et laissez le logiciel d’import adapter l’affichage. Et tout champ de texte libre contenant une virgule ("12, Rue de la Paix") doit être entouré de guillemets, sinon il casse la ligne. Un export bien conçu entoure de guillemets chaque champ texte susceptible de contenir le délimiteur, un guillemet ou un saut de ligne.
Dois-je exporter les commandes ou les factures pour mon expert-comptable ?
Les factures, en général. Une facture est un document légal avec son propre numéro séquentiel, sa date et sa ventilation par taux de taxe, et elle ne correspond pas forcément une pour une à une commande — pour les écritures comptables, l’unité pertinente est donc la facture. Invoice CSV List Exporter produit un CSV structuré pour l’import comptable. Assurez-vous d’abord que votre numérotation de factures ne comporte aucun trou (les tests en laissent souvent) ; le module Invoice Number s’en charge, et il vaut mieux le régler avant vos exports fiscaux.
Quand vaut-il mieux automatiser les exports plutôt que les lancer à la main ?
Quand quelqu’un se connecte, lance le même export avec les mêmes filtres, le reformate et l’envoie par e-mail à la même personne chaque semaine — c’est un processus, pas une tâche. Pour un flux réellement temps réel de système à système (des commandes envoyées vers un ERP dès leur passage), l’API de service web de PrestaShop est la bonne voie, avec Zapier ou Make pour acheminer les fichiers ensuite. En dessous de ce seuil, un export à la demande rapide, filtré et correctement encodé est moins fragile qu’une chaîne automatisée à maintenir.
Quand automatiser, et quand ne pas s’en préoccuper
Les exports manuels conviennent parfaitement aux besoins occasionnels — une demande ponctuelle du service financier, une analyse ad hoc. Le vrai test, c’est la fréquence et la répétition : si quelqu’un de votre équipe se connecte au back-office, lance le même export avec les mêmes filtres, reformate le fichier et l’envoie par e-mail à la même personne chaque semaine, c’est un processus à automatiser, pas une tâche à faire à la main. L’API de service web de PrestaShop est la voie à suivre pour les flux de données réellement temps réel de système à système (commandes envoyées vers un ERP dès leur passage), et des outils comme Zapier ou Make peuvent acheminer un fichier généré vers la suite du processus. Pour tout ce qui reste en dessous de ce seuil, un export à la demande rapide, filtré et correctement encodé n’est pas seulement suffisant — il est moins fragile qu’une chaîne automatisée que vous devez maintenir.
Le principe de fond est simple : PrestaShop contient déjà des données de commandes et de factures propres et structurées. Bien les extraire consiste surtout à faire deux choses — récupérer exactement les colonnes et les lignes dont une tâche donnée a besoin, et écrire un fichier qui s’ouvre correctement dans le logiciel qui le lira ensuite. Quand ces deux points sont maîtrisés, « sortir les données » cesse d’être un casse-tête récurrent et devient une tâche de trente secondes.
Commentaires
Aucun commentaire pour le moment. Soyez le premier !
Soyez le premier à poser une question ou à partager un retour utile.
Laisser un commentaire
Partagez une question, un détail de pose ou un retour qui pourrait aider un autre lecteur.