Skip to content

Return Merchandise Authorization (RMA)

The Return Merchandise Authorization (RMA) feature in Bagisto allows customers and admins to manage post-purchase requests such as returns, item cancellations, and exchanges within a defined return period. It provides a structured workflow with status tracking, messaging, and optional refund processing.

Admin Configuration

Before using RMA, the admin must configure the feature from the Admin panel.

Configure RMA Settings

Step 1: Navigate to Configure > Sales > RMA in the Admin panel.

Step 2: Configure the following settings:

RMA configuration
  • Default Allowed Days — The number of days after order delivery during which a customer can initiate an RMA request.
  • Return Policy — A text description of your return policy displayed to customers when they create an RMA request. This is locale-based.
  • Allowed File Extension — Specifies the allowed MIME types for file uploads (e.g., image/jpg, image/jpeg, image/png, image/webp). Customers can attach images as evidence.
  • Allow New RMA for Cancelled Request — When enabled, customers can submit a new RMA request for an order that had a previously cancelled RMA.
  • Allow New RMA for Declined Request — When enabled, customers can submit a new RMA request for an order that had a previously declined RMA.
  • Select Allowed Product Type — Specifies which product types (simple, configurable, bundle, grouped) are eligible for RMA.

RMA Reasons

Reasons are predefined options that customers select when submitting an RMA request. Each reason can be linked to one or more resolution types.

Step 1: Go to Sales > RMA > Reasons.

Step 2: Click Create Reason.

Step 3: Fill in the following fields:

RMA reason creation
  • Reason — The display name for the reason (e.g., "Defective Product", "Wrong Item Shipped").
  • Status — Enable or disable the reason. Only active reasons are shown to customers.
  • Position — The display order of the reason in the dropdown.
  • Resolution Types — Select one or more resolution types that this reason supports:
    • Return/Refund — Customer wants to return the item for a refund.
    • Cancel Items — Customer wants to cancel specific items from the order (only for non-invoiced items).

Step 4: Click Save Reason.

RMA Rules

Rules allow admins to define the policies and timeframes for returns and exchanges.

Step 1: Go to Sales > RMA > Rules.

Step 2: Click Create Rule.

Step 3: Configure the following:

RMA rules
  • Rules Title — The rule name.
  • Rules Description — A detailed description of the rule.
  • Status — Enable or disable the rule.
  • Return Period — The number of days allowed for the return resolution type.

Step 4: Click Save Rule.

RMA Statuses

Statuses represent the stages an RMA request passes through. Bagisto ships with nine default statuses: Pending, Accept, Awaiting, Dispatched Package, Received Package, Solved, Declined, Item Canceled, and Canceled.

Step 1: Go to Sales > RMA > Statuses.

Step 2: Click Create Status.

Step 3: Configure the following:

RMA statuses
  • Title — The status name.
  • Color — A color code for visual identification in the RMA grid.
  • Status — Enable or disable the status.

Step 4: Click Save Status.

RMA Custom Fields

Custom fields allow admins to collect additional information from customers during RMA submission (e.g., "Bank Account Details for Refund", "Preferred Replacement Size").

Step 1: Go to Sales > RMA > Custom Fields.

Step 2: Click Create Custom Field.

Step 3: Configure the following:

RMA Custom Field
  • Code — A unique system identifier for the field.
  • Label — The display label shown to customers.
  • Type — The input type: Text, Textarea, Select, Multiselect, Checkbox, Radio, or Date.
  • Status — Enable or disable the field.
  • Is Required — Whether this field must be filled before submission.
  • Position — Sort order for display.

Step 4: Click Save Custom Field.

Admin — Managing RMA Requests

Viewing All RMA Requests

Navigate to Sales > RMA > Requests. The DataGrid displays:

RMA Requests
  • RMA ID
  • Order Ref (linked to the order)
  • Customer Name (with a guest indicator for guest checkouts)
  • Request Status (color-coded)
  • Created Date

RMA Request Detail Page

Click View on any request to see its full details. The detail page shows information such as:

RMA Request View
  • Order Information — Order ID, customer name, email, order date, grand total, payment meathod.
  • RMA Items — Each item in the request with quantity, resolution type, reason, and price .
  • Status — The current RMA status with a color badge.
  • Conversation Thread — A message history between the admin and customer, with file attachments.
  • Timeline — Status change history with timestamps.

Updating RMA Status

The admin can move the RMA through its lifecycle. The available next statuses depend on the current state:

  1. Click Change Request Status on the RMA detail page.
  2. Select the next status from the available transitions.
  3. The system enforces a logical flow:
    • Pending → Accept or Declined
    • Accept → Awaiting or Canclled or Item Canclled
    • Awaiting → A Nutral State
    • Dispatched Package → Received Package or Declined
    • Received Package → Solved (Now Admin can proceed to refund)
    • Item Canceled → (terminal state, cancels and restores inventory)
    • Canceled → RMA Request Canclled

Communicating with the Customer

The admin and customer can exchange messages within the RMA request:

Step 1: On the RMA detail page, scroll to the message section.

RMA Communication

Step 2: Type your message and optionally attach a file.

Step 3: Click Send.

Creating an RMA on Behalf of a Customer

Admins can create an RMA request for any order:

Step 1: On the RMA Requests page, click Create RMA.

Step 2: Select an order from the order DataGrid. The grid only shows eligible orders.

RMA Create Admin Side

Step 3: Select the items to include, specify quantities, choose a reason and resolution type.

Step 4: Add any additional information, upload images if needed, and fill in custom fields.

Step 5: Click Save. The customer receives an RMA confirmation email.

Re-opening a Closed or Declined RMA

If the configuration allows re-RMA for cancelled/declined requests, the admin can re-open a previously closed RMA:

Step 1: On the RMA detail page, click Re-open Request.

RMA Reopen

Step 2: The RMA status resets to Pending and the customer is notified.

RMA Decline Status to Pending

Customer — Managing RMA Requests

Viewing RMA Requests

Step 1: Log in to the customer account.

Step 2: Navigate to Profile > RMA.

Step 3: The RMA list shows all requests with their information.

RMA Customer View

Step 4: Click View on any request to see full details.

Creating an RMA Request

Step 1: From the RMA page, click Create Return Request.

Step 2: Select an Order from the list of eligible orders. Only orders within the return window and with applicable product types are shown.

Step 3: For each item, specify:

Customer creating an RMA request
  • Quantity — The number of units to return/cancel.
  • Reason — Select from the predefined reasons.
  • Resolution Type — Choose Return (for a refund) or Cancel Items (to cancel non-invoiced items).

Step 4: Add Additional Information in the text field.

Step 5: Upload Images as supporting evidence.

Step 6: Fill in any Custom Fields configured by the admin.

Step 7: Agree to the return policy by checking the agreement checkbox.

Step 8: Click Submit. The RMA is created with Pending status, and the admin is notified via email.

Customer RMA Request List

Communicating with the Admin

Customers can send messages regarding their RMA request:

Step 1: On the RMA detail page, scroll to the message area.

Customer RMA Conversation

Step 2: Type a message and optionally attach a file.

Step 3: Click Send.

Closing an RMA Request

Once the customer is satisfied with the resolution, they can close the request:

Step 1: On the RMA detail page, click Close Request.

Customer RMA Close

Step 2: The status changes to Solved.

Customer RMA Solved

Re-opening a Cancelled or Declined RMA

If the admin has enabled "Allow New RMA for Cancelled Request" or "Allow New RMA for Declined Request" in the configuration, customers can re-open a cancelled or declined RMA:

Step 1: On the RMA detail page, click Re-open Request.

Customer RMA Reopen

Step 2: The status resets to Pending.

Customer RMA Reopen Pending

Refund Processing

When the admin sets the RMA status to Received Package for items with the Return resolution type and provide return shipping ammount, the system:

  1. Prepares refund data from the RMA item
  2. Creates a refund entry in the sales refund system.
  3. Returns the items to their respective order item records.
  4. Sends a notification email to the customer.
Customer RMA Refund

Email Notifications

The RMA system sends email notifications for the following events:

EventRecipientContent
New RMA Request CreatedAdminRMA details, items, customer info
New RMA Request CreatedCustomerConfirmation of submission
Admin sends a messageCustomerThe message content
Customer sends a messageAdminThe message content
Status UpdateCustomerNew status and any relevant notes
RMA Re-openedAdminNotification of re-opened request

Released under the MIT License.