Spree Commerce Items Return

Owing to its ability of inspiring confidence in buyers and boosting sales by a hefty percentage, ‘Returns & refunds’ model has become one of the pillars upon which a successful e-commerce business thrives. 92% of consumers shop at an e-commerce store again that offers easy returns [Source]. The whole idea of returns brings online shopping experience closer to retail shopping which in turn encourages customers to buy online. Not only does this show that as an online seller you’re committed to your service but also builds customers’ trust in you for a higher degree of guaranteed quality.

A few easy to remember tips for a good return experience :

–   Write a lenient and easy to understand return policy for your store.
–   Do not have any hidden return costs.
–   Define time frame limitations
–   Educate your staff well.

And adding such an experience to your SpreeCommerce store is even easier. Our spree_items_return extension facilitates customers with an interface to initiate product returns and track return history. The same can be handled by the store owner from the admin end in a very simplified manner.

To know more about how this extension works, you can read on or watch a video.

Below is a demonstration of how spree_items_return extension works.
The extension adds the option of ‘RETURN HISTORY’ in the account section of customers and enables the site owner (admin) to manage items returns.

As shown in the image below, admin can mark a product as ‘Returnable’ and also specify the number of days within which a product can be returned after purchase (Return time). If the return time is ‘0’, it means that the product can be returned anytime.

For the customers, the option of returning a product is present on the order details page as shown below. Only those orders which have been shipped can be returned.

For returning a product the customer can initiate a return authorization for one or more products in an order. The product can either be returned for a refund or can be exchanged for another variant of the same product.

The customer can select a ‘Return Reason’  from the list of options available and can add a note as well.

Customers can view their returns in ‘My Account >> Return History‘ section.


In the Admin end, all return authorizations and Customer returns are listed under the ‘Returns’ tab. Admin has the right to either authorize or cancel a return.


As shown below, details of a return authorization are listed in the order details section of the order to which it belongs.


For processing a valid return, the admin creates a ‘Customer Return’ against the order’s return authorization. Admin can also choose the stock location for settling the return and/or mark if the product is ‘resellable’.

Once a customer return is created and in case the return is entitled for a refund, reimbursement for the same can be created by clicking on ‘Create reimbursement’ button as shown in the image below.

After creating the reimbursement, ‘Reimburse’ action refunds the money to the customer. The admin can either reimburse or choose to cancel the reimbursement if the situation calls for it.

Once reimbursement is successful, the details are listed in the ‘Customer returns’ section of the order to which the return belongs.

The refund created due to an item’s return is listed in the ‘Payments’ section as well.


The admin has the liberty to change the return reason(one of the options available in the dropdown can be selected) if needed.

This completes the process of an item return. During the whole process, appropriate email notifications for actions like ‘return initiation’, ‘refund successful’, ‘Return canceled’ etc are sent to both the customer and admin.

Admin also has the ability to configure the admin emails which will receive the ‘customer returns notification’ and manage refund reasons and return authorization reasons as well.

Manage Refund Reasons

Manage Return Authorization Reasons

Configure admin emails for customer returns notification


The good news is that it’s an open-source extension, you can access the code here. Follow us on twitter for more updates!