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.
You can also create rules according to which the particular items will be non-returnable. For example, you want to forbid returning products that were on sale. In this case, set the resolution periods to 0 and choose the appropriate condition.
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.
With the extension it is possible to process RMA requests automatically, without manager involvement.
To configure the add-on general settings, navigate to Stores → Configuration → Amasty Extensions → RMA Automation Rules.
Enabled - set to Yes to activate the add-on.
RMA Automation Rules Apply Schedule - enter cron expression to apply rules by schedule.
To view and manage all automatic rules, please go to Sales → RMA Automation Rules.
All the info about rule processing is displayed on a handy grid.
To manage a rule, click Edit in the Action column.
To delete rules in bulk, tick the necessary rules and select Delete in the Actions dropdown menu.
To create an automation rule, click the Add New Rule button.
For example, you want to create a rule according to which all requests with the “Damage During Shipping” return reason will be automatically approved.
Return Rule Name - specify the name for internal rule usage. It will be displayed on the grid.
Priority - prioritize the rule, where 0 is the highest priority.
Enable - set to Yes to activate the rule.
Stop Further Rules Processing - enable this option if you do not want other rules to be applied to the same requests.
Apply Rule for New RMA - if Yes, the rule will be applied only for newly created RMA requests while the existing ones will be ignored.
Apply Rule for Existing RMA - if Yes, the rule will be applied only for existing RMA requests while the new ones will be ignored. The triggering events are requests amendments by a manager, automatic RMA status changes and the daily Cron job.
In this tab you may specify the conditions according to which the rule will be applied. Here we set the particular return reason.
In this tab choose the actions that will be taken if a request falls under the specified conditions.
Set Status - select the status that will be assigned to the request.
Set Owner - choose a manager for further request processing.
Send Email to Customer - enable this option to notify a customer about the event.
You should also choose an Email Sender and Email Template.
Send Email to Admin - set to Yes to notify your admin as well.
Automated Rules allow admins to minimize the time spent on request processing. For example, you may automatically reject the requests which have the particular reason or condition.
Also it is possible to change request status based on the total request amount and return reasons. Thus, you can automatically approve the requests with items from particular category with particular return reasons in case the total order amount is less than 100$.
The extension is extremely useful if you assign requests to managers according to request status. In our case we assign all requests with “Shipped by Customer” status to a particular manager.
You may use automation rules to notify customers or admins in particular cases. For example, if a request has an Approved status, but a customer has not updated it for a long time (30 days in our case), you can send him a notification.
Or you may just send notifications and close the request automatically if a customer hasn't updated the request for more than 45 days.
Thus, you can create an unlimited number of flexible rules to speed up and simplify return requests processing.
It is possible to track and analyze the completed requests statistics in a separate dashboard.
To view the analytical charts, please go to Admin Panel → Amasty → RMA Reports → Reports.
Set the period according to which the data will be displayed (7 Days, 30 Days, Last year or Custom Date) and view all the information in one place.
On the Statistics chart you may see the overall data based on the specified period. It is possible to check the average indicator of:
Track the most frequent return reasons in a separate chart. The diagram shows the percentage of each return reason you've created.
In the Items chart you may see the return requests products according to their return reasons. For example, you can easily check what products are “defective” or which items have the “wrong description”.
With the add-on, it is possible to check the customers who are returning more often and what profit do you get from them. Thus, you may easily see problematic customers and adjust you policy regarding them if you do not have enough profit from resolving their requests.
To get more specific info, switch to the Reports in Details tab.
The dynamics is displayed on the chart, while the particular requests and their details are shown on the grid below.
Here you may apply various filters to see the statistics of particular cases based on:
Thus, you may easily analyze the tendencies of your RMA system, find out the most problematic issues and find the resolutions.