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/]

8 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 !

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 et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mon CV ainsi que mes réalisations professionnelles, personnelles et universitaires.

rss_32 twitter_32 Magento

  • alexandre: Merci, c'est exactement ce dont j'avais besoin ! [...]
  • Frédéric Martinez: De base, non ce n'est pas possible. Cependant, cela doit se jouer dans les configurations JS de cal [...]
  • Peter: le tuto est génial, il est tres utile pour les débutants comme moi. Mais j'ai une petite que [...]
  • Frédéric Martinez: @martin : Non cela ne marche pas avec un Magento 1.6.2.0 par exemple car la table sales_order n'exis [...]
  • martin: Bonjour, ce code marche -t-il toujours sur les nouvelles version de magento ? merci [...]