Extraire le récapitulatif mensuel de ses factures sur Prestashop vers Excel

Gagner du temps

En tant que développeur, j’avoue que ça me fait un petit peu mal d’écrire cet article, mais quand vous avez une problématique donnée, l’important est de pouvoir arriver rapidement à ses fins. Aujourd’hui, le problème de mon associée est de pouvoir saisir en compta nos ventes du mois de décembre très rapidement…

Il y a surement tout un tas de modules Prestashop gratuits (où, plus certainement, payant) permettant cette opération, mais ici, ce que l’on désire c’est avoir l’information ultra rapidement et si possible sans avoir à débourser le moindre centimes.

Récupérer les factures du mois voulu dans Prestashop

La solution la plus simple est d’utiliser le Gestionnaire SQL intégré à Prestahop dans le menu « Paramètres avancés » puis « Gestionnaire SQL ». Cliquez sur « Créer », donnez lui un nom et copiez/collez la requête ci-dessous.

select
o.id_order, oi.number, DATE_FORMAT(o.invoice_date,'%d/%m/%Y') as date_facture, oi.total_paid_tax_incl, oi.total_paid_tax_excl,oi.total_paid_tax_ncl-oi.total_paid_tax_excl as tva, osl.name, o.payment
from ps_orders o, ps_order_invoice oi, ps_order_state_lang osl
where o.id_order = oi.id_order
and o.current_state = osl.id_order_state
and o.invoice_date between '2015-12-01' and '2016-01-01'
;

N’oubiez pas de changer les dates suivant le mois dont vous voulez exporter les factures. Une fois la requête enregistrée, le Gestionnaire SQL devrait faire apparaître ceci :

Gestionnaire SQL Prestashop

Le Gestionnaire SQL Prestashop

 

Vous pouvez choisir de visualiser directement le résultat ou alors de faire un export CSV. Si vous ne souhaitez pas utiliser le « Gestionnaire SQL » pour exécuter cette requête, pouvez sans problème utiliser PhpMyAdmin ou un autre client SQL…

Export vers Excel et filtre personnalisé

Une fois le fichier exporté, il ne vous reste plus qu’a l’importer dans Excel et faire des filtres automatiques [*] afin d’avoir la ventilation souhaités. Exemple nous voulons que toutes les commandes payées par Carte bancaire qui ne soit pas dans l’état Remboursé. A l’aide des filtres c’est très simple !

Exemple de filtres sous Excel

Exemple de filtres sous Excel

[*] Sélection de la première ligne puis menu : Données > Filtrer

Il ne vous reste plus qu’a calculer le total (la somme) des données filtrées avec la fonction Excel SOUS.TOTAL(9;<colon:ne>) il faut laisser le 9 dans cette fonction qui correspond à l’option « somme ».  Ne surtout pas utiliser la fonction SOMME() ou SUM() qui ne ferait pas la somme des données filtrées mais la somme totale ! Ce n’est pas ce que nous voulons dans notre cas…

Il n’y a plus qu’a reporter le total de vos ventes et de votre TVA dans votre logiciel de compta, en ce qui nous concerne nous faisons une ventilation par moyen de paiement mais après c’est vous qui voyez !

  • Nathan

    Bonjour,

    Quand je copie/colle et que j’exporte j’obtiens un fichier .csv totalement vide.
    Je souhaiterais savoir ce que défini les « o. » et « .oi » que vous placez devant ?
    Merci

    • Guillaume

      Bonjour, cette requête est valable sous Prestashop 1.5 (en s’assurant que vos tables soient bien préfixées par « ps_ », ce qui est généralement le cas car la valeur par défaut) je n’ai pas testé sous Prestashop 1.6, est-ce votre cas ? Les o et oi sont les aliases des tables orders et order_invoice définis dans la clause FROM.

    • Nathan

      Bonjour, Merci pour votre réponse.
      Tout à fait c’est mon cas. j’ai bien des tables préfixées par « ps_ ». Est-ce que les o et oi sont obligatoires ? Est-ce qu’il existe un script compatible 1.6 ? Merci.

    • Nathan

      Version 1.6 Prestashop :

      SELECT `ps_orders`.`invoice_date`, `ps_orders`.`total_paid_tax_incl`, `ps_orders`.`total_paid_tax_excl`
      FROM `ps_orders`
      WHERE invoice_date BETWEEN ‘2015-08-01’ AND ‘2016-05-31’
      ORDER BY `ps_orders`.`invoice_date` DESC, `ps_orders`.`total_paid_tax_incl` DESC, `ps_orders`.`total_paid_tax_excl` DESC

    • mister-zoo

      Bonjour,
      Merci pour le code de cette requête. Est-ce possible également d’importer dans le même fichier les données des clients?
      Merci d’avance

    • anonyme

      Bonjour Nathan,
      A défaut d’etre bete, je n’arrive pas en copiant a exporter mes facture sur excel. Comment puis je faire s’il vous plait?

    • Nathan

      Bonjour,
      Copier coller mon code et lancer une requête dans phpmyadmin.

Sum [fr] © 1337 — Merci à Roxane