For more details see the RMA extension page.
Manage product returns and exchanges effectively with the powerful RMA for Magento 2 module. Make these processes simple and enhance your customer service.
To configure the extension properly, we need to understand how exactly RMA requests are processed.
Customers can create requests right from their accounts. They view and manage all requests in the My Returns tab and select the order they want to return.
After choosing the order to return, a customer needs to specify the most important info about the request.
For customers, it is allowed to create requests according to return reasons store admins create in the backend settings.
To view and edit all reasons, please go to Admin Panel → Sales → RMA Settings → Return Reasons.
On a handy grid, you can see reasons’ Titles, Positions, Statuses and also check who is supposed to pay for shipping: a customer or the store owner.
To create a new one, hit the Add New Reason button.
Enabled - set to Yes to activate the reason.
Title - specify the title that will be displayed on the grid to your store admins.
Position - set the position of a new reason among the other reasons displayed on the frontend.
Who Pays for Shipping - specify who is supposed to pay for shipping according to the reason for return request. The information will be displayed to a customer while creating a request.
Label - customize the title of the reason that will be displayed to your customers.
You may adjust the Label for each particular Store and Store View.
To submit the request, a customer also needs to choose the condition of the product.
To adjust this step, go to Admin Panel → Sales → RMA Settings → Item Conditions.
Conditions’ Titles, Positions and Statuses are displayed on the grid. Easily edit any of them via Action column or delete them in bulk using Actions dropdown menu.
To create a new one, click Add New Condition.
Here you also need to Enable the condition, specify its Title, Position and Labels.
The next step for a customer is to choose one of the resolutions available in your store.
To configure the resolutions, navigate to Admin Panel → Sales → RMA Settings → Return Resolutions.
Click the Add New Resolution button.
Enable the resolution, specify its Title, Position and Labels.
With the extension, you can set various return rules for all the products in your store. Customers will see it on product pages in the More Information tab and in their shopping carts (if these options are enabled in the general setting).
If some products are non-refundable in your store, customers will not be able to create return requests. Thus, you won’t have to handle these requests manually.
To view or edit all existing rules, go to Admin Panel → Sales → RMA Settings → Return Rules.
On a handy grid, you can see Rules’ Names, active Statuses, Priority and Resolution Periods.
Hit Add New Rule button to create a new return rule.
Expand the General Settings tab.
Enabled - set to Yes to activate the rule.
Return Rule Name - specify the name that will be displayed in the backend.
Priority - set the priority of the rule. It is useful in a situation when one particular product fits the conditions of several return rules. In such a case the rule with the highest priority will be applied to the product.
Websites - assign the rule to particular websites if needed.
Customer Groups - select customer groups to which the rule will be applied.
In the next tab specify the period for each resolution you’ve created. The default resolution period is applied to all resolutions inside the rule unless the admin sets the values for each resolution individually.
Choose the products to which the rule will be applied using flexible conditions.
When a return request is created, a customer can easily track the state of the request in his account.
There are 5 possible states: Processing, Approved, Delivered, Completed (these states are displayed in a customer’s progress bar) and Canceled.
Every RMA request usually passes 4 basic statuses:
In some cases, a request can be Rejected - an admin rejects the request or a customer cancel it if no longer needed.
We display the current state of the request to the customer on the progress bar of the request page. But before the request reaches each particular state, it can have several statuses, e.g. ‘Need Details’. With the extension, you can create as many statuses as you need and customize the conditions according to which the request will get to the next state.
To manage all the statuses, please go to Admin Panel → Sales → RMA Settings → RMA Statuses.
On the grid, all the statuses and their states are displayed. In the Admin Grid column, you can see the grid to which the requests will be moved if they reach the specified status.
Click Add New Status.
Enable the status.
Title - specify the title of the status that will be displayed in the backend settings.
Request State - assign the necessary request state to the status. An appropriate request state will be displayed on the progress bar on the frontend when the status is set for the request.
Is Initial Status - activate this option if you want to automatically assign all new requests to this status. Please mind that there can be only one initial status.
Automatically Set Status on Event - when a customer performs the selected action in his RMA request, the status of the request is automatically updated to the current one.
Move Request to Grid - when a request switches to the current status, it is moved to the grid selected in this option. Thus, an admin can create a comfortable for him workspace by removing all unnecessary requests from the particular grid or placing requests that need admin actions to the separate ‘Manage Requests’ grid. This kind of workflow allows to save admins’ time and effort since they can see all the requests they need to approve on a separate grid.
Label Color - choose the color for the state to simplify its processing. Click the field to use a handy color-picker tool.
Position - set the position of the status among the other statuses.
Label - customize the title of the status that will be shown to a customer in his account.
Description - in the description field you can specify the instructions for customers concerning the current state. These instructions will make each step of the RMA process extremely clear.
Send Email to Customer - enable this option if you want the notification to be sent to the customer when status value changes to the current one.
Send Email to Admin - activate this option if you want the notification to be sent to the admin when the status value changes to the current one.
Send Text to Chat - set to Yes if you want the notification to be sent to the chat when status value changes to the current one.
Chat Text - if enabled, fill in the text that will be sent.
Save the status.
Let’s see how statuses are changing during processing. According to our default settings, all new requests are displayed on the Manage Requests grid with a New Request status.
An admin clicks this new request to approve it.
Here we see that a customer didn’t attach any files and did not specify the request details. So an admin changes the status to ‘Need Details’ and sends the message to a customer.
According to the settings, the ‘Need Details’ status still remains in the Pending state, but the request is to be moved to the ‘Customers’ Pending Requests’ grid.
Thus, the request is moved to another grid with the specified status.
A customer sees that he needs to provide the details and updates the info using the chat.
The request automatically moves to the ‘Manage Requests’ grid with an updated status.
The status changes according to the action performed by a customer. In our case, if a customer adds a comment, the status is changed to ‘Updated by Customer’.
An admin again opens the request, sees the details and decides what to do further: approve it, reject or ask for other details.
Here an admin approves the request. If the store is supposed to pay for shipping, an admin adds tracking information and attaches the shipping label. The state is changed in the progress bar and a customer can see further instructions.
The instructions are added during a new status creation with the WYSIWYG editor.
In addition to this, you can add special widgets that are necessary for advanced RMA process: Shipping Label Button and Packing Slip Button.
Shipping Label allows to improves the customers shopping experience in cases when a store is supposed to pay for shipping. A user just needs to press the button and download a shipping label. Packing Slip is also generated automatically to make the shipping process even easier for a customer.
When a product is shipped, an admin sees the Received state and resolve the request according to return rules and chosen resolution.
A customer checks the state in the account and rates the work of a manager so that an admin could analyze and improve RMA processing.
All completed requests are moved to the Archive Requests grid where you can see their Dates, Managers, Rating, and Statuses.
To adjust the basic RMA setting, go to Admin Panel → Stores → Configuration → RMA.
Expand the General tab.
Module Enabled - select Yes to enable the extension.
URL Prefix - specify the prefix that will be used for a route name.
Allow Guest RMA - choose Yes if you want to allow your guest visitors to submit return requests as well.
This is how RMA looks like for a guest visitor:
Allowed Order Statuses for RMA - select order statuses for which RMA will be allowed.
Display Return Information on Product Page - if Yes, resolution periods (in days) will be displayed on product details pages in the ‘More Information’ tab.
Display Return Information on Shopping Cart Page - if Yes, resolution periods (in days) will be displayed for each product in the shopping cart.
Max Message Attachment File Size (KB) - limit the size of allowed attachments if needed.
With the extension, you can create your own return policy and display it to customers to make your RMA maximally clear.
Enable Return Policy - if Yes, a customer will have to accept the Return Policy before submitting a Return Request.
Return Policy CMS Page - select the CMS page to redirect your customers to.
The example of RMA Policy on the frontend:
Expand this tab to adjust the carriers that will be available for a customer to be selected while attaching a Tracking Number to the RMA Request.
Specify a Carrier Code and a Carrier Label.
Using this tab, you can notify both customers and your RMA managers about new requests. In addition to this, you may enable notifications for customers in cases when a manager created a new message without changing the status.
Specify Email Senders, Receivers (for managers) and choose Email Templates according to which the emails will be generated.
You can use this tab to display administrator contacts in case an item couldn’t be returned according to the return rules.
A customer will see the following message:
It is also possible to create additional fields that a customer will have to fill in while creating a new request.
The Block Title field is responsible for the name of the block with the custom text fields. Also, specify fields’ codes and labels.
In this field, you can prepare quick replies and use them while managing return requests. It allows to save managers’ time and automate RMA processing even more.
Hit the Save Config button.
Find out how to install the RMA extension via Composer.