Supprimer une commande dans Magento

Dans: Magento

1 mar 2010

Note importante : Voir les commentaires de cet article pour supprimer les commandes sur les dernières versions de Magento.

Magento permet d’annuler une commande, mais ne propose pas la possibilité de supprimer une commande qu’elle soit terminée ou non. Cela est utile pour supprimer les commandes de test sans pour autant supprimer toutes les commandes de Magento.

Pour cela direction la base de données afin d’agir directement sur celle-ci :

-- Renseigner votre numéro de commande ici
SET @increment_id = 100000025;
-- Récupère l'id de la commande en interne
SELECT @order_id := entity_id FROM sales_order WHERE increment_id = @increment_id;
-- Supprime la commande
DELETE FROM sales_order WHERE entity_id = @order_id;
-- Supprime tous les enregistrements en relation avec la commande
DELETE FROM sales_order_entity WHERE parent_id = @order_id;
-- Supprime les factures, remboursement, expéditions en relation avec la commande
DELETE s FROM sales_order_entity s
 JOIN sales_order_entity_int si on s.entity_id = si.entity_id
 JOIN eav_attribute a on si.attribute_id = a.attribute_id
 WHERE
 a.attribute_code = 'order_id'
 AND si.value = @order_id;
-- Supprime les enregistrements dans la tables des produits commandés
DELETE FROM sales_flat_order_item WHERE order_id=@order_id;

[Source : http://www.magexpert.com/2010/02/comment-supprimer-une-commande-terminee-dans-magento/]

10 Commentaires pour Supprimer une commande dans Magento

Avatar

Remise à zéro les commandes passés dans Magento - Frédéric Martinez

mars 1st, 2010 à 20 h 36 min

[...] : Article à part pour la suppression d’une commande spécifique dans Magento Tags: commandes, mise en production, remise [...]

Avatar

Galano

mars 19th, 2010 à 2 h 04 min

Bonjour, merci de relayer les trucs et astuces techniques Magento que nous publions sur notre site http://www.magexpert.com. En espérant que ceci contribuera à lier encore un peu plus notre communauté francophone déjà prolixe.

Avatar

benoit fievet

octobre 25th, 2010 à 11 h 05 min

Je voudrais savoir, pour cette suppression par requêtes sql, n’y a t’il pas un problème de gestion des rapports si on supprime une commande dont le statut est « terminée », j’ai deux commandes de test ayant ce statut et je ne voudrais pas mettre le « bordel » dans ma base.

Je ne peux faire une suppression globale car j’ai déjà deux commandes de production malheureusement.

merci.

Avatar

Stickerzlab

août 6th, 2011 à 13 h 55 min

Hello,

Pour ceux qui chercheraient encore l’extension suivante (free) fonctionne parfaitement sur 1.5

http://www.magentocommerce.com/magento-connect/EMThemes.com/extension/4562/em_deleteorder

Avatar

Frédéric Martinez

janvier 4th, 2012 à 20 h 35 min

Merci, il est vrai que les extensions pour supprimer les commandes sont bien utiles mais pas toujours mises à jour par leurs auteurs respectifs, ce qui me force à toujours aller chercher le dernier module.

Avatar

Frédéric Martinez

janvier 4th, 2012 à 20 h 35 min

Merci, il est vrai que les extensions pour supprimer les commandes sont bien utiles mais pas toujours mises à jour par leurs auteurs respectifs, ce qui me force à toujours aller chercher le dernier module.

Avatar

martin

janvier 31st, 2012 à 21 h 25 min

Bonjour, ce code marche -t-il toujours sur les nouvelles version de magento ?
merci

Avatar

Frédéric Martinez

janvier 31st, 2012 à 21 h 36 min

@martin : Non cela ne marche pas avec un Magento 1.6.2.0 par exemple car la table sales_order n’existe plus.

Pour supprimer toutes les commandes en 1.5 et 1.6 : http://goo.gl/VuKwq sans oublier de remettre les numéros de facture à 0 :

TRUNCATE `eav_entity_store`;
ALTER TABLE  `eav_entity_store` AUTO_INCREMENT=1;

Pour ne supprimer qu’une commande (et que cela soit administrable), l’extension Silver Delete Order marche bien : http://goo.gl/57Zbg.

A bientôt !

Avatar

Frédéric Martinez

avril 19th, 2012 à 22 h 00 min

Avatar

Ghassen Khemiri

juillet 13th, 2012 à 16 h 47 min

Bonjour,
Je voulais juste demander s’il ya un moyen de supprimer proprement une facture crée dans magento 1.5, Enfaite notre problème est que parfois après paiement et pour une seule commande plusieurs factures sont crées(parfois 2 ou 3 factures ) , je sais que parfois intervenir au niveau de la Base de donnée peut causer des problèmes.

Merci d’avance pour l’infos.

K.G.

Formulaire pour Commenter

Si vous en avez besoin, entourez votre code :

PHP : [php]echo $variable[/php]
XML : [xml]<default></default>[/xml]

Je m'appelle Frédéric Martinez.

Je suis Freelance Magento, fondateur de l'agence web e-commerce PH2M et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mes réalisations professionnelles, personnelles et universitaires.

Magento Certified Developer Plus

rss_32 twitter_32 Magento

  • Vincent MARMIESSE: Bonjour, Attention depuis Magento 1.9.2.0, les blocs CMS sont en cache ! Cela ne pose pas de pro [...]
  • Java2dev: Bonjour, pour l'Etape 1 a quel niveau on met les codes? dans quel folder et c'est un fichier a edit [...]
  • manuel: Bonjour Frédéric, j'aimerais savoir comment enlever l'option de ( signature obligatoire ) de mon m [...]
  • Arsene: Bonjour a tous, j'aimerais savoir comment créer un module qui propose des options d'assurance su [...]
  • Frédéric Martinez: @Thomas : Il y aura toujours de la perte sur les personnes ne retournant pas sur la page de success. [...]