User Tools

Site Tools



For more details see the RMA extension page.

Guide for RMA for Magento 2

Manage product returns and exchanges effectively with the powerful RMA for Magento 2 module. Make these processes simple and enhance your customer service.

  • Use RMA for all or specific types of products
  • Set unique return reasons, rules, and resolutions
  • Customize RMA statuses
  • Provide customers with understandable instructions
  • Enable guest requests
  • Activate notifications and use live chat to interact with customers
  • Add custom fields
  • Let users rate you return system
Important! Though we did our best to transfer all the data from the old version to the new one while updating, please keep in mind that 2.0.0 version is an absolutely new extension. Don't forget to make a full backup and test it on a staging site first.

To configure the extension properly, we need to understand how exactly RMA requests are processed.

Return Request Creation

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.

An admin can create return right from the backend. Just open the necessary order and click Create return.

Return Reasons

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.

New Reason

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.

Item Conditions

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.

New Condition

Here you also need to Enable the condition, specify its Title, Position and Labels.

Return Resolutions

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.

New Resolution

Enable the resolution, specify its Title, Position and Labels.

Return Rules

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.

New 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.

To avoid common mistakes while setting the conditions, check this post.

RMA Statuses

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:

  • Processing - a request is processed by an admin.
  • Approved - an admin approves that a customer is allowed to send the item back to the store.
  • Delivered - an admin receives the package and checks if everything is OK.
  • Completed - an admin resolves the request.

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.

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.

There are 3 available grids:
  • Manage Requests grid - all the requests that need admin actions are placed here.
  • Customers’ Pending Requests - the requests that need some details or action from a customer are moved to this grid.
  • Archived Requests - the requests that are resolved or rejected and do not need any actions from both admins and users are placed here.

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.

How do the statuses work?

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.

You may use the direct link if you want to share it.

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.

If a customer is supposed to pay for shipping, he should add tracking numbers by himself.

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.

General Settings

Module Enabled - select Yes to enable the extension.

URL Prefix - specify the prefix that will be used for a route name.

Example: {base_store_url}/{URL prefix}/request/view.

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.

Please, note that RMA request can not be created for orders without shipped item(s)

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.

RMA Policy

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.

RMA Creation Email Notifications

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.

Administrator Contact Data

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:

Custom Fields

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.

Chat Quick Replies

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.

Rate the user guide
 stars  from 1 votes (Details)
magento_2/rma.txt · Last modified: 2019/09/16 05:24 by arhipenko