Return Management feature overview
Edit on GitHubThe Return Management capability lets you create and manage returns for a sales order.
Once an order has been shipped, the registered buyer or a Back Office user can initiate a return of the whole order or its individual items. For details about how to create return, see Creating returns.
You can also create and manage returns using Glue API. For details, see Manging the returns.
Returnable items and a return policy
Not all the order items can be returned. For an item to be returnable, it must meet these conditions:
- Be in Shipped or Delivered state.
- Fall on the return dates set forth in the Return Policy.
The Return Policy is a set of rules that defines what items can be returned: in what conditions, in what period of time. Out of the box, you can only define within what period the items can be returned. For example, you can specify that an item can be returned within 14 days after the purchase.
For now, you can set the Return Policy period in code only. There is no UI for that. For details, see HowTo: Set the number of days for a return policy.
Return items states
The Return items can have the following states in the Order Management System (OMS):
Waiting for return
. A buyer created a return, but a Back Office user has not confirmed it yet.Returned
. The return has been received and confirmed by the Back Office user.Refunded
. A Back Office user has made a refund for the returned items.Return Canceled
. The return has been canceled by a Back Office user because of the return policy or for any other reason.Shipped to customer
. The canceled return has been shipped back to the buyer.Delivered
. A buyer has received the shipped return.
The relation of sales order items statuses and the return states is as follows:
Return slip
Buyers and Back Office users can have a paper version of the return by printing the automatically generated return slip. The return slip contains return and sales order references, details about the returnable sales order items, and a barcode generated based on the return reference.
Return Management on the Storefront
The registered buyers can return entire orders or individual sales order items as soon as they have been delivered to them. When returning, the buyers can select or enter a return reason. The guest users can not initiate returns of their orders, as the return management is done by the Customer Account on the Storefront. Returns of the guest orders can be initiated only in the Back Office by the Back Office user.
For a Configurable Bundle, you can’t select to return an entire Configurable Bundle, but you can select to return separate items from it. The Product Bundles, on the contrary, are handled as one product, so only the whole bundle can be returned. You can not return individual items of a Product Bundle.
Once a return request has been submitted, it acquires the Waiting for return state. The return states change as the Back Office user processes the return. For details about the return states, see Return items states.
Next to each sales order item, there is the date until which the item can be returned. This date is controlled by the Return Policy. If the item is non-returnable, you cannot select the return reason and create the return.
All the returns created by the buyer or by the Back Office user for the buyer are listed on the Returns page in the Customer Account. From here, the buyer can view the return details and print the return slip. The following figure shows how to create a return, view its details and print a slip:
Return Management in the Back Office
A Back Office user can create returns for the returnable items from the order details page of the Back Office. For details, see Back Office user guide - Managing orders. Also, a Back Office user can view returns, change their states, print a return slip, and cancel the returns. For details about how to manage the returns in the Back Office, see Back Office user guide - Manging returns.
To define the most suitable return management process for your project, to learn how you can use the default Spryker Return Management feature, and what custom development you might need to implement it, check out Building a return management process: Best practices.
Video tutorial
Check out this video to get more details about how Return Management works:
Current constraints
The feature has the following functional constraints which are going to be resolved in the future:
- There is no user interface for managing the return policy and the return reasons.
- You can’t return individual items of a Product Bundle.
Installation
To install the return management capability, do the following:
- Install the required modules using Composer:
composer require spryker-feature/return-management:"202410.0" spryker/sales-returns-rest-api:"202410.0" spryker/barcode:"^1.1.1" --update-with-dependencies
- Follow the integration guides in Related Developer documents.
Related Business User articles
Related Developer documents
Thank you!
For submitting the form