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
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 :
➡️ 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
Laisser un commentaire