Magento 1.8 – How to Allow Customers to Cancel Orders

magento-1.8orders

I want to allow customers should have option in front-end to cancel orders. My doubt is when a customer can cancel an order ?

  1. Can an order which is invoiced be cancelled by a customer ?
  2. Can an order which is shipped be cancelled by a customer ?

Best Answer

When an order is invoiced it can no longer be canceled. The only way to 'undo' that order is to create a Credit memo.

When an order is shipping it's put on complete and as far as Magento is concerned the whole order is already handled. A credit memo can still be made though if an invoice exists.

There is a Mage SO post on creating credit memo's programmatically you can use to build a feature that would allow for a customer to 'cancel' his order.

On a side note tho, having a customer canceling or crediting an order might have negative effects such as refunds not be processed. You might be better off building a contact form in the customer account section where the user can pick one of his orders and send a cancellation request. Inchoo has an article on building forms with email functionality.

Related Topic