FireFox user notice:

Please use different web browser to view this document.

Sorry for the inconvenience.

RMA - Magento 2

The Magento 2 RMA extension enables merchants to comprehensively arrange the return merchandise process in their web stores. Customers are provided with an individual frontend section from which they can create return requests. Store admins can arrange all RMA requests from the backend by communicating with customers on particular request issues in the dedicated chat area. Both customers and admins can be notified of order status updates by email if the conforming option is enabled in the extension’s settings.

Thank you for choosing Aheadworks!

Installing RMA

Step 1 (Magento 2 Community and Enterprise)

Command Line Installation

1. Backup your web directory and store database

2. Download RMA installation package

 3. Upload contents of the RMA installation package to your store root directory

 4. In SSH console of your server navigate to your store root folder:

cd path_to_the_store_root_folder


php -f bin/magento module:enable Aheadworks_Rma

and then:

php -f bin/magento setup:upgrade


php -f bin/magento setup:static-content:deploy

5. Flush store cache; log out from the backend and log in again

Make sure the installation is done from under the FTP administrator account. Otherwise, make sure to set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

1. Log in to your customer account at and navigate to Account -> Composer access;

2. Configure your store to work with the Aheadworks composer repository:

Add composer repository to composer.json by running:

composer config repositories.aheadworkscomposer in the Magento installation root.

Use a key pair provided as login and pass. You can optionally save them in the global composer auth file.

 3. You can start using AW composer now.

 For extension names, navigate to Account -> Composer access.

 4. Open the root Magento directory on your server and send Composer the following command:

composer require <component-name>:<version>

Note: Use the previously copied component name and version.

 5. Make sure that Composer finished the installation without errors. Flush store cache, log out and log into the backend again.

Step 2 (Magento 2 Enterprise only)

It will be required to disable native Magento 2 RMA functionality to prevent any confusion.

To do this:

  • Navigate to Stores > Configuration > Advanced > Advanced;
  • Disable Magento_Rma.

Migrating from RMA for Magento 1

What should one know before migrating Aheadworks RMA for M1 to RMA for M2?

Read carefully and consider this information as the top priority, or the migration may result in accidental data losses.

  1. The Magento Data Migration Tool is required to be installed prior to starting the migration.
    The migration script relies heavily on the Magento Data Migration tool. Understanding how it works will be useful during the migration process.
  2. Backup Magento 2 databases before performing the migration to have an opportunity to revert any changes.
    RMA migration may involve rewriting database tables, backup is advised.
  3. All the files attached to RMA request should be migrated manually
    More information on manual migration can be found in the Magento instructions on manual migration.

Video guide

A similar migration process is highlighted in the educational Video Guide on the Aheadworks Youtube channel. Don't forget to enable subtitles to the video to follow the data migration process.

Migration process

Below, you can see the migration guide with more detailed step-by-step description.

 1. Log into your Magento server as file owner and navigate to the directory where you have your Magento 2 store installed

For example:

cd /var/www/my_magento2_store/

2. Install the Magento Data Migration Tool

The installation instructions for the Magento Data Migration Tool along with the basic information can be found here:

Magento provides two ways of installing the Magento Data Migration Tool:

Next, you may want to navigate to vendor/magento/ to make sure the Migration Tool has been installed successfully.

 3. Download RMA migration distributive and unpack it to the desired location

The RMA migration distributive can be downloaded by the following link:

Unpack the contents of the distributive to find the /etc and /scr folders inside.

 4. Copy the contents of the RMA migration distributive to the Magento Data Migration Tool main folder

Copy the /etc and /scr folders included in the RMA migration package to: vendor/magento/data-migration-tool/

Rewrite on prompt.

 5. Edit the config.xml file of the Magento Data Migration Tool

Navigate to vendor/magento/data-migration-tool/etc/aw_rma/ and open config.xml for edit.
More information on tag values and which one should be put inside can be found in the Magento Data Migration Tool configuration instructions.


Pay close attention to the <aw_rma_remove_requests_before_migration> tag value you enter if you already have some RMA requests on your Magento 2 store and want to keep them untouched.
The "1" value set by default will remove all existing Magento 2 RMA requests, the "0" value will add new RMA requests to the already existing ones.

 6. Run the migration script in the console

Run the following command considering the path to config.xml to start the migration process:

bin/magento migrate:data [-r|--reset] {<path to config.xml>}

According to the demo video, you can also use the following command considering the path to config.xml:

bin/magento migrate:data -r vendor/magento/data-migration-tool/etc/aw_rma/config.xml

 7. Data migration is complete. Make sure to migrate the attached files and images manually.

  • Copy all the files in the folder m1store_root/media/aw_rma

  • And moved them to the m2store_root/pub/media/aw_rma/media folder.

Migration Process Explanation

The migration process consists of two stages.

Stage 1. Synchronization

First of all, the synchronization process of ‘Fields’ (RMA request options) of the RMA extension for Magento 1 (hereinafter M1 RMA) and ‘Custom Fields’ of the RMA extension for Magento 2 (hereinafter M2 RMA) happens.

Here is how the fields conformance looks like:

  • Request type -> Resolution;

  • Package Opened -> Package Condition;

  • Reason -> Reason.

Conformance logics

M1 RMA ‘Fields’ values are compared by their names with the corresponding M2 RMA ‘Custom Fields’ values. In case of exact matches, the value is transferred directly to Magento 2. If the names do not match, the tool adds a new option to M2 RMA.

For example, if one of the names of the M1 RMA "Request type" values does not match any name of M2 RMA "Resolution" custom fields, we add a new option to M2 RMA ‘Resolution’ custom field.

The same procedure is applied to all field values of M1 RMA. To avoid additional negative effects we recommend you to migrate to a ‘clean’, not customized RMA extension for Magento 2 in order to reduce the number of mismatches.

Stage 2. Migration

Requests data is transferred as it is with the preservation of the order_id, customer_id, product_id, and store_id fields. Therefore, it is important that all orders, products, customers, and stores match each other.

For example, if the M1 product with ID 5 has product_name1, and the same product with ID 5 in M2 has other product_name2, then after the migration, you will see data discrepancy (same applies to customers and stores).

Note: Ideally, you should migrate all your data to Magento 2 first, and only then migrate the RMA requests.

When you transfer request statuses, the following conformance pattern is used:

  • M1 Pending Approval -> M2 Pending Approval

  • M1 Approved -> M2 Approved

  • M1 Package sent -> M2 Package sent

  • M1 Resolved (canceled) -> M2 Canceled

  • M1 Resolved (refunded) -> M2 Issue Refund

  • M1 any other status -> M2 Closed


Note: The migration configuration file data-migration-tool/etc/aw_rma/config.xml contains the aw_rma_remove_requests_before_migration option, which is enabled by default. This option clears all the Magento 2 RMA requests created before the migration procedure, so if necessary, you can disable it and make the new migration data added to the existing Magento 2 RMA requests.

Getting Around

RMA extension comes ready for work right after installation.

Once installed RMA extension introduces My Returns section to the customer account page and Create New Return link to the store footer. Both links lead to creating new RMA request.

Along with My Returns section and Create New Return link customers can request an RMA from order details page of My Orders account section.

If you allow guest customer checkouts, with the help of RMA extension you can also allow your guest customers to ask for a return.

Guest customers can ask for an RMA by clicking Create New Return link in the store footer.

To ask guest customers for an RMA request we need to specify the email address used to place the order in your store and specify the order number.



Let's request an RMA from the My Returns section. To do this click button.

On the Select order to create RMA screen specify the order you want to request an RMA for.

Next, select order item(s) and specify the item quantity (if several). At this very step specify an RMA Resolution - Refund or Replacement - and select Package Condition. These are the Custom Fields that come with RMA extension by default.

Later you can add other Custom Fields or edit existing ones at the corresponding section of your store backend

Once done, click button to proceed to the next step.

When the items are selected and custom fields are filled in you can add a message to your request, the message will be emailed to the store administrator.

Both customer and store administrator messages are combined in a chat that can later be seen under an RMA request.

Once done, click button.

RMA request has been submitted.

All the RMA request information allong with the messages thread can later be found under My Returns section.


Managing RMA requests

RMA extension introduces its sections to the Sales admin dashboard section of your Magento 2 store.

Manage RMA

This is the main section of the extension. Here you are suggested to approve, cancel and manage all the RMA requests submitted by customers or admins individually or massively.

You may want to start with adjusting the RMA grid according to your requirements:

  • Click button to see the columns available and customize the RMA grid, some columns may be excessive and some relevant to your current tasks;
  • Click button to look for the RMA requests matching a set of attributes;
  • Click button to save the perfect RMA grid look you found to quickly load it whenever required.

With the RMA grid configured you can start managing and creating new RMA requests.

Creating RMA Requests from the Backend

In order to create a new RMA request click the New Request button.

The New Request page consists of several sections:

  • General Information. The section allows selecting the order the request to be issued for. Next, for example, you possibly should select the resolution you want to apply and package condition reported by the customer, if you use the above custom field for your request forms.

Note: You can create RMA requests for only complete orders.

  • Products. Products are taken from the order you specified above. The Products grid allows you to amend the number of returned items and particular reason to send the item back. You can also remove certain products from the grid if you don't want them to be included in the request.
  • Customer Information. Thу information about the customer is also automatically taken from the order.
  • RMA History. The section allows you to provide a message for the customer or other admins and attach some files if necessary. Messaging is possible in several ways.
  1. You can write an individual notification for the customer with the Reply button;
  2. You can leave an internal note for other admins. For the purpose, click the Internal Note button. As a result of this, the whole messaging area turns yellow to make you sure that the message is for internal use only.
  3. Finally, you can select a canned response and save some time creating the request.

In addition to messages, you can also attach some files to the newly created request.

As soon as the new RMA request is created you can manage the same as the other request created by customers themselves.

Note: Created requests obtain the status specified by general setting for new requests.

Managing RMA Requests

Click RMA Request ID to proceed to the Manage Request screen. The manage Request looks almost the same way as the New Request form except that it has the Status and Last Update date parameters included. On this page, you can change request statuses and communicate with customers.

On this page, you can close, cancel, and approve the request pending an approval.

Approving request

Let's leave a message and approve the request by clicking button.

Now the email notifying the customer on the new reply and request status update will be sent.

Customer will now have the option to print shipping labels enabled (to be included in the RMA package) and be able to confirm that the package has been sent back to your store.

Confirming package receiving

After the request has been approved and customer confirms that the package has been sent back to your store you will need to confirm that the package has been received.

Do that by clicking button.

Creating a replacement order

As soon as the Package Received status is applied you can create a replacement order for the requests asking for a replacement.

Issuing a refund

For the requests asking for a refund, you can create a credit memo right from the Manage Request page.

Closing a request

Finally, you can close the request as soon as the item is replaced or refunded.

That's it. The RMA request has been successfully resolved. Let's proceed to the RMA extensions settings.

Note: RMA extension for Magento 2 doesn't offer any refunding or postal services. The refunds are processed manually by any means necessary.


Adjusting RMA Options and Settings

Statuses and Email Templates

As it has been mentioned previously RMA extension comes set up and ready for work right after the installation. However, if it is required you can always adjust RMA request statuses and edit the notification emails sent to both customer and store administrator to correspond your requirements.


There are seven RMA request statuses, each defining particular stage of the RMA process.

Pending ApprovalAssigned to the new return request automatically
ApprovedAssigned upon store administrator approving an RMA request
Package SentAssigned by the customer confirming package sending
Package ReceivedAssigned by the store administrator confirming package has been received
Issue RefundAssigned upon store administrator issuing a refund
ClosedAssigned upon closing a request either by customer or store administrator
CanceledAssigned upon store administrator canceling the request

Email Templates

Depending on the request type it is also possible to send an email notification to customer, store administrator or both.

Along with defining email templates for email notifications, it is also possible to edit the request thread message to be displayed upon RMA obtaining particular status.

Custom Fields

In the Getting Around section when submitting an RMA request you have been suggested to fill in RMA Resolution, Package Condition and Reason for asking RMA.

These are all pre-defined Custom Fileds that come with the RMA extension by default and can be edited here at Custom Fields section.

Along with editing the Custom Fields that come with the extension by default you can also create additional Custom Fields depending on the products or services you are offering.

To create a Custom Field click button:

  • Define name (for internal identification purposes) of the Custom Field and the field type: text field, text area, dropdown, multi-select;
  • Decide if the Custom Field should refer to the RMA request on the whole (as Resolution in the example) or to the order item (as Reason in the example);
  • Set the RMA status at which the store administrator and customer can edit/view the Custom Field;
  • Make the Custom Field required if necessary (customers will not be able to submit a request without filling the Custom Field);
  • Add the Custom Field to the Shipping Label (this may help to identify the parcel);
  • Chose a website the Custom Field should be displayed at.
  • Adjust Custom Field frontend label (name of the Custom Field customers will see).
  • Add options if you want a customer to select from the pre-defined set of attributes.

Once done with the Custom Attribute click button.

The Custom Field has been created and can now be found at the set area of the RMA request page.

Canned Responses

The Canned Responses section allows creating fast responses to be used for status updates and other simple messages sent to customers. On the Canned Responses page, you can manage existing responses either individually or massively and create new canned responses.

The Select drop-down of the Action column allows you to edit or delete individual responses, while the Actions drop-down leftwards makes it possible to change status or delete several selected responses at once.

Creating a New Canned Response

In order to add a canned response tap the 'Add Canned Response' button and enter the 'New canned response' page. The page allows you to enable the response, provide its title, Magento store view, and response content.

Note: Only enabled responses can be used for your answers.

Order Page Improvements

Returns Section

If you want to see all the RMA requests created for a particular order, you can do this right from the Order View page. The Returns section enumerates all the created requests in the dedicated grid. In order to manage a certain request, you need to click the active link with the ID of the request in the Request # column.

The New Return option of the main menu allows creating an RMA request at the spot.

General Settings


General settings section allows adjusting basic principles of the extension's functionality.

  • Return Period - defines how many days after placing an order customer can ask for an RMA;
  • Allow guests to request RMA - defines if guest customers can ask for a refund (email and order ID required);
  • "Confirm Shipping" alert text - allows editing "Confirm Shipping" pop up notification;
  • Approve New Requests Automatically - defines if all the incoming requests are approved automatically.

RMA text blocks and Policy

This settings section allows displaying CMS blocks at the specific RMA request steps.

Every field represents the corresponding step with the dropdown of all CMS blocks available at the store.


This is not actually a block position, rather a link available to the customer to read when accepting Return Policy regulations.


This settings section allows defining your RMA department credentials such as: name displayed, RMA Department email, RMA Department address.

Email Notification

This settings section allows defining templates for the email notifications about new reply by the store administrator to the customer's RMA request (Reply by Admin) and about new reply by the customer to the RMA request (Reply by Customer).

File Attachments

This settings section makes it possible to allow customers to attach files to their RMA requests. Here you can also specify the maximum size of the uploaded files in Mb and available file extensions.

You can always find the latest version of the software, full documentation, demos, screenshots, and reviews on
License agreement:
Contact Us:
Copyright © 2018 Aheadworks Co.