Supprimer une commande dans le backoffice de PrestaShop

Vous avez récemment installé une boutique PrestaShop. Bien ! Evidemment, pour tester que tout fonctionne, vous avez probablement passé des commandes factices. Normal aussi.

Mais au moment du passage en production et de l’ouverture officielle de votre boutique, il est temps de faire le ménage. Et là intervient le problème ! On ne peut pas supprimer une commande, alors qu’on peut supprimer des produits, des clients, etc…

Heureusement, il est possible de « bidouiller » un peu PrestaShop pour rendre cette opération (légitime) possible et nettoyer votre base de données, et ne pas polluer les statistiques de vos futures ventes.

[message_box title= »Attention » color= »red »]Cette méthode ne fonctionne que sur PrestaShop 1.4. Si vous utilisez PrestaShop 1.5, veuillez consulter cet article.[/message_box] Pour celà, voici comment procéder :

  • ouvrez le fichier /(votre admin)/tabs/AdminOrders.php
  • dans la méthode __construct(), repérez la ligne contenant : $this->view = true;
  • insérez une ligne juste en dessous : $this->delete = true;
  • sauvegardez le fichier et réuploadez-le sur votre site en lieu et place du fichier original

 

Retournez ensuite dans votre back-office, et dans l’onglet commande, vous trouverez désormais une nouvelle icone (la corbeille) en bout de ligne de chaque commande, vous permettant de la supprimer.

Attention :

  • Une telle suppression de commande ne réintègre pas en stock les produits de la commande effacée
  • Lors d’une mise à jour de PrestaShop, il vous sera nécessaire de re-procéder à cette modification

Voir également

Créer un site e-commerce SEO Friendly grâce à PrestaShop

Je vous propose, en collaboration avec Optimiz.me, deux sessions de formation sur le référencement de …

8 commentaires

  1. Testé et approuvé…
    Version 1.4

    Merci

  2. Merci de l’astuce, très pratique de pouvoir annuler une facture via une poubelle, surtout en période d’évaluation du site.
    Bonne Soirée à tous.

  3. merci beaucoup pour cette astuce

  4. Merci pour cette astuce !
    mais je dis un gros ATTENTION.
    En effet, une commande ne se résume pas à une ligne dans une seule table, on a aussi order_details et order_history. J’ai eu un pb en production (PS 1.4.7) sur un site qui voyait des articles fantomes s’ajouter aux commandes des clients. Le client se retrouve dans sa commande avec des articles qu’il n’a pas commandé.

    La raison était justement cette manip.

    En effet, les commandes sont stockées en 3 endroits différents au moins :
    on a :
    1- une liste des commandes
    2- un détail de chaque commande
    3- un historique des commandes.

    il semble que la modification dont il est question ici, ne fait que supprimer la commande au niveau 1/.
    donc il reste des trucs en base de données sur le 2 et le 3, et du coup sur les nouveaux numeros de commande, prestashop pense qu’il reste des choses car il trouve des traces de 2 et 3.

    Un exemple :
    tu fais une commande de test. Elle porte le N°60
    dedans tu mets un produit TOTO.
    tu supprimes la commande 60, elle disparait de la base de données pour ce qui concerne 1/ mais pas pour 2/ et 3/. Donc tu ne la vois plus dans le BO mais il en reste des traces.

    Ensuite ton client arrive sur le site. Il crée une nouvelle commande, prestashop voit que la dernière est la 59 , donc il créée une nouvelle commande n°60 …Logique.
    Hors pour la commande 60 il existe deja des traces (le produit TOTO , que l’on va retrouver sur la commande client).

    Et là …C’est le drame 🙂
    Tout est (re) expliqué en anglais ici
    http://www.prestashop.com/forums/topic/170013-product-added-to-order-not-orderedpurchased-shopping-cart-correct/

    • Merci pour ces remarques Philippe

      Les rares fois où j’ai eu à supprimer des commandes, ce n’était pas la dernière, donc je n’ai pas rencontré le problème d’autoincrement que tu soulèves.

      Par contre, ce qui est quand même étonnant, c’est que c’est une fonctionnalité certes cachée/désactivée, mais bien prévue par PS, donc étonnant que les suppressions ne se fassent pas dans les tables liées !

  5. >Par contre, ce qui est quand même étonnant, c’est que c’est une fonctionnalité certes cachée/désactivée, mais bien prévue par PS, donc étonnant que les suppressions ne se fassent pas dans les tables liées !

    Ben oui, c’est peut-etre justement pour cette raison qu’elle est cachée / désactivée 😉

  6. Génial !!!!

    Merci beaucoup,
    testé et approuvé sur version 1.4.7

    j’ai pu faire pas mal de ménage dans toutes ces commandes annulées

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.