Exporter les commandes de vos clients au format .csv sans module sous PrestaShop 1.7

Exporter les commandes en CSV sans module dans PrestaShop 1.7
PrestaShop Lecture 4 minutes • 1 novembre 2022

Un tutoriel rapide et efficace pour exporter les commandes clients Prestashop sans module, afin de les archiver comme bon vous semble au format .CSV ! Ceci s'adresse uniquement aux sites sous PrestaShop sous 1.7.x

Un système d'abord trop limité

PrestaShop propose un système d'export de commandes présent dans Commandes > Commandes

Système limité d'exportation des commandes depuis PrestaShop 1.7
Système limité d'exportation des commandes depuis PrestaShop 1.7

Cependant, cette manipulation ne permet d’exporter que certaines données, bien insuffisantes lorsque l’on souhaite faire un suivi précis des commandes ou procéder à un archivage plus complet.

Les données récupérées de base dans le fichiers CSV généré par PrestaShop sont :

  • ID de la commande
  • Référence
  • Si c’est un nouveau client
  • Pays de livraison
  • Nom et prénom du client
  • Total de la commande
  • Moyen de paiement
  • État de la commande
  • Date de la commande

Une exportation PrestaShop plus complète avec requête SQL

Notre objectif est d'exporter les paramètres suivants, en plus de ceux listés plus haut (toujours sans module) :

  • Les produits commandés
  • L’adresse de livraison
  • L’adresse de facturation
  • L’e-mail du client
  • Les données de personnalisation des produits

Dans Paramètres avancés > Base de données, nous allons définir et enregistrer une nouvelle requête SQL via le bouton bleu en haut "+ Ajouter une requête SQL".
Puis nommez-là librement, "Export commandes année 2021" par exemple.

Exporter les commandes par année

Je vous recommande fortement d'exporter les commandes par année. Car la base de données peut-être volumineuse et faire planter le processus. Mieux vaut donc découper l'export par année.

Copiez le code suivant, puis veillez à changer tous les "ps_" par le nom de votre table s'il est différent.
Également, on remarque dans le WHERE que l'exemple s'applique pour l'année 2021. À vous de le changer pour l'année souhaitée 😉

SELECT
   d.id_order_detail,
   d.id_order,
   o.date_add,
   CONCAT_WS(' ', g.firstname, g.lastname) AS customer,
   g.email,
   os.name AS state,
   d.product_name,
   d.product_reference,
   d.product_quantity,
   d.product_price,
   o.payment,
   c.name AS carrier_name,
   CONCAT_WS(' ', a.lastname, a.firstname, a.address1, a.address2, a.postcode, a.city) AS address_delivery,
   CONCAT_WS(' ', a.lastname, a.firstname, a.address1, a.address2, a.postcode, a.city) AS address_invoice,
   REPLACE(IFNULL(GROUP_CONCAT(cd.value), ''), '"', '\'') AS customized_data 
FROM
   ps_order_detail d 
   LEFT JOIN
      ps_orders o 
      ON (d.id_order = o.id_order) 
   LEFT JOIN
      ps_customer g 
      ON (o.id_customer = g.id_customer) 
   LEFT JOIN
      ps_carrier c 
      ON (o.id_carrier = c.id_carrier) 
   LEFT JOIN
      ps_order_state_lang os 
      ON (o.current_state = os.id_order_state) 
   LEFT JOIN
      ps_address a 
      ON (a.id_address = o.id_address_delivery) 
   LEFT JOIN
      ps_address ab 
      ON (ab.id_address = o.id_address_invoice) 
   LEFT JOIN
      ps_customization cu 
      ON (cu.id_cart = o.id_cart) 
   LEFT JOIN
      ps_customized_data cd 
      ON (cd.id_customization = cu.id_customization) 
WHERE
   os.id_lang = 1 
   AND YEAR(o.date_add) = 2021 
GROUP BY
   d.id_order_detail 
ORDER BY
   d.id_order_detail DESC

➡️ Collez alors le code SQL dans le champs "Requête SQL" puis cliquez sur le bouton bleu "Sauvegarder".

Télécharger le .csv des commandes par année

Une fois la requête SQL enregistrée, le Gestionnaire SQL de PrestaShop vous propose désormais la ligne suivante qui permet de télécharger le fichier. Pour ce faire, cliquez sur l’icône de téléchargement sur la droite :

Export enregistré dans le Gestionnaire SQL de PrestaShop

➡️ Le fichier .csv de l'export se télécharge alors !

Il ne reste qu'à reproduire la requête autant de fois que d'années à exporter, en changeant cette dernière dans le WHERE de la requête SQL.

À vous de jouer !

La CNIL fixe le cadre légal en France pour la durée de conservation des données

Rappel sur le cadre légal en France, qui prévoit que les données clients soient conservées selon des règles précises, que ce soit dans votre CMS PrestaShop ou pour archivage administratif.

Durée de conservation des données selon la CNIL :

  • Conservation en base active (logiciel, outils de traitement, CMS e-commerce…) : 2 ans maximum
  • Archivage intermédiaire (intérêt uniquement administratif) : 10 ans

⚠️ Il peut toutefois exister des exceptions.
➡️ Plus de détails sur le site officiel de la CNIL


Si cet article vous a aidé, lâchez votre plus bel applaudissement en remerciement ! 🤗