Exportez vos clients Prestashop et leurs adresses

Régulièrement je constate que les clients ont besoin d’exporter des informations en provenance de leur boutique. Pour cela il existe des modules dédiés, mais en standard les exports sont limités.

Code avec Prestashop

Les exports natifs

Dans Prestashop 1.6, vous avez la possibilité d’exporter des fichiers CSV natifs, qui sont extraits directement de la visualisation des tableaux du back-office. Dans la plupart des cas, lorsque vous avez un tableau sous forme de liste, vous pouvez exporter les informations affichées. Ces données peuvent vous servir pour un « début » de base de travail, mais seront souvent incomplets.

Le bouton d'export s'affiche dans quasiment tous les listings proposés par Prestashop.
Le bouton d’export s’affiche dans quasiment tous les listings proposés par Prestashop.
C'est un bon début, mais le fichier client reste malgré tout assez incomplet... car il n'incorpore pas le détail.
C’est un bon début, mais le fichier client reste malgré tout assez incomplet… car il n’incorpore pas le détail.

Exportons les clients

Prestashop propose sous « Paramètres avancés », un outil qui s’appelle « Gestionnaire SQL », celui-ci sert principalement à préparer des requêtes à exécuter dans le but de visualiser des résultats, mais pas seulement, vous pouvez exporter les informations retournées par la requête.

Dans le cas présent vous pouvez créer une nouvelle requête qu’on va nommer « Export clients » avec le code suivant :

SELECT
pc.`id_customer`,
pc.`email`,
pa.`company`,
pc.`siret`,
pc.`id_gender`,
pa.`firstname`,
pa.`lastname`,
pa.`address1`,
pa.`address2`,
pa.`postcode`,
pa.`city`,
pa.`phone`,
pa.`phone_mobile`,
pc.`birthday`,
pc.`newsletter`,
pc.`active`
FROM ps_address pa
LEFT JOIN ps_customer pc ON pa.`id_customer`=pc.`id_customer`
WHERE
pa.`deleted`=0
AND pc.`email` != ''
AND pa.`id_supplier` = 0
AND pa.`id_manufacturer` = 0
GROUP BY pa.`address1`

Une fois que vous l’aurez créé vous pourrez l’exécuter afin de générer l’export du fichier CSV.

Le résultat est bien plus complet (adresse comprise), avec les champs de bases régulièrement utilisés.
Le résultat est bien plus complet (adresse comprise), avec les champs de bases régulièrement utilisés.

Du potentiel

Cette manière de réaliser des exports est sous-exploitées, car il serait possible d’avoir un très large choix de fichiers à générer via cet outil. Finalement, il faut « juste » coder les bonnes requêtes, régulièrement demandées par les clients (pour les commandes, les produits, catégories etc…).

On pourrait imaginer dans le futur :

  • Que Prestashop propose une série d’export déjà prédéfinis
  • Que la communauté Prestashop propose sur le forum un topic qui centralise des exemples SQL fréquents.
Une requête c'est déjà bien... mais avec une liste complète, cela pourrait devenir un outil incontournable du back-office.
Une requête c’est déjà bien… mais avec une liste complète, cela pourrait devenir un outil incontournable du back-office.

Bilan

Bon certes on ne peut pas proposer des options de critères de sélection… ou alors il faut faire des requêtes différentes ou ensuite procéder à des filtres une fois le fichier ouvert dans Excel. Sinon il existe des outils comme Custom Exporter que je déploie régulièrement chez des clients. Tout dépend des besoins forcément… mais je vous invite à expérimenter ce fameux Gestionnaire SQL et à coder vos propres requêtes.

8 commentaires sur “Exportez vos clients Prestashop et leurs adresses”

    1. Bonjour,

      Il faudrait effectuer plusieurs jointures pour remonter cette informations, il faudra que j’essaie à l’occasion d’améliorer cette requête.

      Merci pour votre visite !

  1. Bonjour,
    C’est une très bonne astuce, merci !
    J’aimerai pouvoir exporter les coordonnées et le SIRET de clients de certains groupes, ayant déjà passé commande.
    Auriez-vous une piste ?

  2. Bonjour merci pour vos efforts de pédagogie
    Est ce possible dans la requette sql d’exporter les sources (d’où vient le client ? google, sendinblue, lien direct, google ads)

  3. Bonjour,
    Merci pour ce tuto !
    Tu pourrais me dire comment fait-on pour ajouter dans le fihier les éléments suivants ? :
    – ID de la commande
    – Référence de l’article
    – Quantité d’article

    Merci !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *