Commerce RMA

Purpose

This module adds the return merchandise authorization feature to drupal commerce.This module is not ready for production yet. Use it at your own risks.

Architecture

This module is split in two modules:

  • commerce_rma: core functions.
  • commerce_rma_ui: user/admin interface.

*commerce_return* is a bundle of commerce_order entity type.
It has its own widget to handle line items.

Features list

So this is a list of the main features provide by this module:

  • Provides a link to create a return from the user order list. This link is a default view handler, so you can easily use it in your custom order views.
  • After user click on the "return products" link, module redirects user to the return creation workflow:
    • (1st step) User has to select products from his/her order. (He can indicate the quantity and a return reason per product).
    • (2nd step) This page presents a summary of the new return, at this point you can cancel or submit this return procedure
    • (3rd step) If the new return has been submitted, user is redirected to his/her profile. A new *returns* tab allows user to manage his/her returns.
  • (User profile - My account) User can review the state of his/her returns. Each returned product has a state too (e.g. product has been refunded, waiting for product etc....)
  • (Admin) Administrator can manage user returns. The UI is pretty similar to the orders one. Admin can update both return and product state. Admin can delete a return. A *refund* tab is planned in order to allow administrator to refund returned products using related payment gateway.
  • (Admin - Returns Settings) There is just a straightforward setting that allow administrator to enable/disable the return functionality on the website. You can also configure a return period which means orders have a duration during which the return creation is possible.
  • (Mail notifications) Every return state update sends an email to customer. A generic Template is included in /includes/templates folder.

Requirements

Those are the dependencies of commerce_rma module:

  • commerce (>= 7.x-1.2)
  • entityreference (>= 7.x-1.0-rc2)

Getting started

First thing to do if you want to enable the return functionality on your website, go to store->configuration->return-settings and check the "Activate returns" checkbox. Warning: If there are some previous existing orders, return creation is impossible for these ones. Indeed, the website owner has to change its General terms of sale and include return creation legal stuff.
Also, Make sure that user has the permission to create a return.

Next steps

  • Rules events

Many thanks goes to asplamagnifique, amateescu, Haza, theo_ and Artusamak !
Sponsored by Commerce Guys.