WordPress WooCommerce Product RMA (Return Merchandise Authorization) & Wallet System allows you to organize a comprehensive system for customers to request returns, replacements, or cancellations without any effort.
With the help of WooCommerce RMA Plugin, customers can return products for replacement or refund, receive instant wallet credits, or earn cashbacks within admin-specified time limits.
Notes
- WordPress WooCommerce Product RMA is compatible with multisite.
- This plugin is now compatible with WooCommerce’s latest High-Performance Order Storage (HPOS) and Cart and Checkout block.
- We provide a production version of the plugin. If you want a development version then you can get it at an additional cost. Please contact [email protected] for it.
- Check the overview for the plugin in the video mentioned below:
Support
Dear Customers, if you have a question/query, please raise a ticket at webkul.uvdesk.com. We will do our best to answer as quickly as it is possible.
Don’t give us a low rate without contacting support on the issue you’ve faced with. We are always happy to help you.
Features of Product RMA
- Using Product RMA, the customer can request a replacement,refund and cancel.
- Admin can manage RMA status as well as reasons.
- The admin can set the order status for RMA.
- The admin can manage the return policy.
- Visual insights for return statistics, category-wise reports, and performance tracking.
- Configurable business rules for automatic refunds, replacements, and cancellations.
- Automatically generates replacement orders upon approval.
- Allows customers to select replacement product variations.
- Refund to the original payment method or instant Virtual Wallet credits.
- Locks high-value requests above a custom threshold for manual admin review.
- Restricts request submissions to specified daily timeframes.
- Set custom processing fees and restrictions based on product categories.
- Display non-returnable badges and limit customer request frequencies.
- Real-time updates via Twilio integration with customizable templates.
- Advanced filtering, searching, sorting, pagination, CSV exports, and bulk actions.
- Modernized admin management panels and customer dashboard experience.
- The buyer and the admin both can communicate at the store end.
- The customer can upload images while requesting an RMA.
- Email notification of RMA for the admin and the customer as well.
- The customer can print RMA details and shipping labels easily.
- The guest user also can generate an RMA request.
- The customer can choose the resolution type.
- The admin can set per-product RMA time management.
- Provide shipping label upload option to Manage RMA page itself.
- Introduced mail notification for conversation.
- Supported multi-language feature, added .pot file for translation.
- Warranty option is displayed based on the admin selected order status.
Installation of Product RMA
The user will get a zip file, which he has to upload in the “Add New” menu option in the WordPress admin panel.
For this login to WordPress Admin Panel and Under the Dashboard hover your mouse over the “Plugins” menu option which brings out a Sub-Menu and then select the “Add New” option.
After that, you will see an option on the top of your page that is “Upload Plugin”, then click the option to upload the zip file.
By clicking on the “Upload Plugin” option, below that you will see a button “Choose File” Click on the button to browse for the zip file as per the snapshot below.
After browsing the file, click the “Install Now” button to install WooCommerce RMA Plugin as per the snapshot.
Now, when the plugin is installed correctly, you will see the success message and an option to activate the plugin. Click on “Activate Plugin” to activate the installed plugin.
Update Permalink under “Settings > Permalinks” as “Post name” as in the below snapshot.
Module Translation
To learn how to translate the module, you can click here.
Module Activation
Check out how to Activate the WooCommerce Plugin through the purchase code and get updates on Webkul Modules directly on the Plugins page.
Configuration of Product RMA
After successful installation, the admin can configure WooCommerce Product RMA under “Webkul WC Addons > Configuration > General”.

General
Returned Status –Select the default status that will be assigned when a customer submits a return request for the first time.
Order Status – Select the order status where required to show the warrant request option.
Return Request Types – Choose the return request types in which cases the customer can select the return request while creating warranty requests.
Allow Refund Wallet – Enable this option to display the virtual wallet credit choice to customers when submitting a refund request.
Return Address – Enter the return address which will be the return address for the product after sending the shipping label to the customer.
Default Warranty
-
Label – The warranty label displayed as the default on the single product page.
-
Type – Select the default warranty type to apply across products (can be overridden per individual product):
-
No Warranty – Disables default warranty coverage.
-
Included Warranty – Provides default warranty coverage at no extra charge.
-
Price base Warranty – Charges a price-based fee for warranty coverage.
-
-
Enable Time-Based Policy for Refund, Exchange and Cancellation – Allow customers to initiate Refund, Replacement, and Cancellation requests only during the daily time window configured below.
-
Allow the Requests Between – Set the daily start time and end time (based on store timezone) during which requests are accepted. Leave times empty to allow requests 24/7.
After doing all the above-mentioned changes, save the settings.
Frontend
Request Button Label – Set the button text for requesting a warranty from the customer’s “my order” page.
Request Menu title – Set the menu title text that will be displayed on warranty requests on the customer’s “my account” page.
Per Page Request Number – Enter the number of requests that can be displayed on a page in the “Customer My Account” requests menu.
Extras
Enable Messaging: Enable or disable the messaging service for RMA.
Enable Styling: Adjusts the visual design of the RMA pages to maintain consistency with your store’s theme and overall layout.
When enabled, this option modifies the appearance of RMA pages, such as the ‘Manage Return Request’ page (shown below).This ensures a consistent design across the customer journey.
Attachment Limit – Set the maximum number of media files (images/videos) a customer can attach per request.
Attachment Size Limit (MB) – Set the maximum allowed file size (in MB) for each individual uploaded attachment.
Atlast, save the settings.

User Restrictions
Refund Restrictions
-
Enable Refund Restriction for Specific User Roles — Restrict selected user roles from submitting refund requests.
-
Select User Roles to Restrict Refund Access — Choose specific roles (Administrator, Editor, Author, Contributor, Subscriber, Customer, Shop Manager) that cannot request refunds.
-
Enable Refund Restriction based on User Count — Block a customer from submitting further refund requests once they reach a set limit.
-
Maximum Refund Requests Per User — Set the maximum number of refund requests allowed per customer account.
Replacement Restrictions
-
Enable Replacement Restriction for Specific User Roles — Restrict selected user roles from submitting replacement requests.
-
Select User Roles to Restrict Replacement Access — Choose specific roles (Administrator, Editor, Author, Contributor, Subscriber, Customer, Shop Manager) that cannot request replacements.
-
Enable Replacement Restriction based on User Count — Block a customer from submitting further replacement requests once they reach a set limit.
-
Maximum Replacement Requests Per User — Set the maximum number of replacement requests allowed per customer account.
Cancellation Restrictions
-
Enable Cancel Restriction for Specific User Roles — Restrict selected user roles from submitting cancellation requests.
-
Select User Roles to Restrict Cancel Access — Choose specific roles (Administrator, Editor, Author, Contributor, Subscriber, Customer, Shop Manager) that cannot request cancellations.
-
Enable Cancel Restriction based on User Count — Block a customer from submitting further cancellation requests once they reach a set limit.
-
Maximum Cancel Requests Per User — Set the maximum number of cancellation requests allowed per customer account.

Category Rules
-
Show Badge Message on Page — Display restriction badges (Non-Refundable, Non-Replaceable, Non-Cancellable) on single product pages and product loop cards when return options are restricted by category rules.
-
Enable Refund Rule by Category — Hide the Refund option for products belonging to specific categories.
-
Hide Refund for Categories — Select categories to restrict from refund requests.
-
-
Enable Replacement Rule by Category — Hide the Replacement option for products belonging to specific categories.
-
Hide Replacement for Categories — Select categories to restrict from replacement requests.
-
-
Enable Cancel Rule by Category — Hide the Cancellation option for products belonging to specific categories.
-
Hide Cancel for Categories — Select categories to restrict from cancellation requests.
-

Request Action Fees
-
Enable Request Action Fees — Enable request action fee configurations for RMA requests.
-
Apply Fee For — Select the request types (Replacement, Refund, Cancel) where the action fee should apply.
-
Category-based Action Fees:
-
Category — Select specific product categories (or All Categories) to apply the fee.
-
Fee Amount — Enter the fee amount to be charged for the selected category.
-
Add Fee / Remove Fee — Add new category-specific fee rules or remove existing ones.
-
Automatic Actions (wkwc_rma_api_setting)
1. Auto Refund
-
Enable Auto Refund Status — Automatically approve refund requests if amount conditions are met.
-
Maximum Amount for Auto Approval — Set the threshold amount; refund requests with total amounts less than or equal to this limit are automatically approved.
2. Auto Replacement
-
Enable Auto Replacement status — Automatically approve replacement requests.
-
Auto-create replacement order — Automatically create a new replacement order when a replacement request is marked solved.
-
Let customer choose replacement variation — Display the “Choose Your Replacement” variation selector on the request form for specific return reasons.
-
Show for these reasons — Select specific return reasons (e.g., wrong item delivered, package opened) that trigger the variation selector. Leave empty to display it for all reasons.
-
-
Conditions — Enforce additional rules such as Same product only or In-stock required.
3. Auto Cancel
-
Enable Auto Cancel Status — Automatically approve order cancellation requests.
-
Allowed Order Status — Select eligible order statuses (e.g., Pending payment, Processing, On hold) where auto-cancellation is allowed.
4. High-Value Review
-
High-value RMA review threshold — Set a custom order total threshold (defaults to
500). Open requests at or above this amount are flagged for mandatory manual admin review.
5. Cashback
-
Enable Cashback — Enable the “Keep the Item” cashback feature for eligible RMA requests.
-
Threshold Amount — Display the cashback option only if the refund amount is less than or equal to this limit.
-
Cashback Percentage — Specify the percentage of the item price to credit to the customer’s wallet as cashback.

WhatsApp Notifications
Twilio WhatsApp Settings
-
Enable WhatsApp — Master switch to enable or disable WhatsApp notifications.
-
Notify Customers / Admin — Toggle to send automated WhatsApp messages to customers or the store admin.
-
Twilio Credentials — Configure Twilio Account SID, Auth Token, WhatsApp From Number (e.g.,
whatsapp:+14155238886), and Admin WhatsApp Number.
Message Templates
-
Custom Event Templates — Customize automated notification templates for key store events, including:
-
Order events (Order placed, Order refunded)
-
Request lifecycle events (Request created, Request solved, Processing, Rejected)
-
-
Dynamic Placeholders — Use supported variables such as
{customer_name},{store_name},{order_number},{request_id}, and{request_label}to populate real-time order and RMA details.

SMS Notifications
-
Enable SMS Notifications — Master switch to enable or disable SMS notifications for refund, cancellation, and replacement requests.
-
Admin SMS Settings:
-
Enable Admin SMS — Toggle to send SMS alerts to the store administrator.
-
Admin Phone Number — Enter the recipient admin phone number including the country code.
-
-
Customer SMS Settings:
-
Enable Customer SMS — Toggle to send automated SMS updates to the customer’s billing phone number.
-
-
Twilio Settings:
-
Account SID & Auth Token — Enter your Twilio API credentials to enable SMS delivery.
-
Twilio Phone Number — Enter your registered Twilio sender phone number with country code.
-
Per-Product RMA Time Management
The admin can configure RMA settings such as label, type, length, length value, and duration for each product.

Manage Shipping Label
The admin can add Shipping Labels under “Webkul WC Addons > Manage Shipping label”. Here admin uploads the shipping labels to use while processing RMA.

Manage Reasons
The admin can create RMA reasons under “Webkul WC Addons > Manage Reasons”. All the created reasons will be listed here.

After that the admin can add a new reason under “Webkul WC Addons > Manage Reasons > Add Reason”.

Manage Return Request
The admin/store owner can manage RMA under “Webkul WC Addons > Manage Receive Request”. The list of all the requested RMA will be available here.

Then, by clicking “View” the admin can manage an RMA. All the RMA information will be visible under “RMA Details”.

Under “Conversation” the admin can check the conversation with the customer and reply to the customer as well.
There is an option available “Enable notification mail for any reply on this thread”, then admin can use the same to get an email notification if there is any response from the customer.

After that, the admin can manage the status of the RMA under “Action.”. Then choose the status as Solved, Processing, or Rejected.

Note: Users may regenerate the RMA if it has been declined by the agent.
By clicking on “Refund,” the admin can check the refund details.

Here, the admin can choose the custom fields or add new custom fields, then proceed with the Refund part.

Front End Workflow of Product RMA
The customer can raise an RMA request by navigating to My Account > Orders and selecting Request Warranty for the specific order.


A list of all the RMAs created can be viewed under “Warranty Request”.
Then by Clicking the “Request ID” the customer can view the details of the RMA and can send the message to the admin as well.
There is an option available “Enable notification mail for any reply on this thread”, the customer can use the same to get an email notification if there is any response from the admin.

After that the customer can check the product details, including price, quantity, reason, and expiry date under the “Products” option.

Then here, the customer can check the RMA images and video by clicking on the “RMA Images” option.

In the event that the customer’s problem is solved, they can check the box to mark it as solved under the Manage option.

By clicking on “Order ID” the customer can check the order details that they have placed.

Here, the customer can view order details like product name, total amount, shipping method, payment method, billing address and shipping address as well.

Then, by clicking on the “Items” option, the customer can view the product ordered, and its details, including the description and product specification, as mentioned in the snapshot below:

If the customer purchases the product as a guest user and wants to generate RMA, then by clicking “Warranty Requests,” he can provide details and proceed further.

Here, the user provides “Order ID” and an “Email” to verify the purchase. The rest of the workflow will be the same as for a normal customer.
RMA Analytics
To view visual reports and insights on store return activities, navigate to WooCommerce RMA > RMA Analytics.
Here, the admin can analyze store performance through the following sections:
-
Time-Period Filters & Export: Filter data by predefined ranges (7d, 30d, 90d, 365d), set custom date ranges, refresh live data, or click Export CSV to download analytics reports.
-
KPI Metrics Summary: Displays quick overview cards for:
-
Total Requests, Refund Orders, Total Replacement, and Total Cancellation.
-
Top Returned Products for Refund, Replacement, and Cancellation.
-
-
Category-wise RMA Trends: Visual chart displaying refund, replacement, and cancellation request counts grouped by product category. Use the dropdown filters to switch chart views (Request Types) and chart formats (Bar / Line).
-
Detailed Product Breakdown: A comprehensive table listing individual products alongside their total orders, refund orders, replacement orders, and cancellation orders with category filtering.

Manual Transactions
To manually adjust a customer’s wallet balance, navigate to WooCommerce RMA > Manual Transaction.
Here, the admin can perform manual credit or debit operations using the following settings:
-
User — Select the customer or user account from the dropdown list.
-
Amount — Enter the monetary amount to be added or deducted.
-
Action — Choose between Credit (add funds to wallet) or Debit (deduct funds from wallet).
-
Note — Add an optional reference note or reason for the transaction log.
-
Submit — Click to execute the transaction and automatically update the customer’s wallet balance.

Withdrawal Requests
To manage and process customer wallet cash-out requests, navigate to WooCommerce RMA > Withdrawals.
-
KPI Summary Cards — Displays total count metrics for Total Requests, Pending, Approved, Rejected, and Cancelled withdrawal requests.
-
Filter & Search Options:
-
Select Withdrawal Method — Filter requests by payout account type (Bank or UPI).
-
Select Status — Filter by request state (Pending, Approved, Cancel, Rejected).
-
-
Export CSV — Export the filtered withdrawal logs for auditing and accounting.
-
Withdrawals Data Table:
-
Displays ID, User details, Withdrawal Method, Amount, Status, and Date.
-
Actions — Allows the admin to review, approve, or reject pending customer withdrawal requests.
-

Transactions
To view and monitor all wallet activities across the store, navigate to WooCommerce RMA > Transactions.
-
Action Buttons:
-
Manual Transaction — Quick shortcut to open the manual wallet credit/debit form.
-
Export Wallet — Download wallet transaction logs as a CSV file.
-
-
Filter Controls:
-
User Filter — View transactions for specific customer accounts or All Users.
-
Type Filter — Filter log entries by activity type (Credit, Debit, Refund, or Transfer).
-
Status Filter — Distinguish between Manual adjustments and Automatic system entries.
-
-
Transactions Data Table — Displays complete transaction logs including Transaction ID, User Name, Email, Amount, and Type with sorting and pagination controls.
That’s all for the WordPress WooCommerce RMA extension, still, have any issue, feel free to add a ticket and let us know your views to make the plugin better at [email protected]
Current Product Version - 2.3.1
Supported Framework Version - Wordpress - 6.8.2, WooCommerce - 10.1.2








13 comments
We have created a ticket on your behalf and our team will connect with you soon regarding your queries.
Thanks and Regards,
Team Webkul
A Product is enabled rma webkul after ordering the product. How can I enable rma for that order.
Dear Prasobh,
Yes, it will work. We request you to kindly look into the plugin user guide to know more about the plugin.
In case of any query feel free to revert us at [email protected].
Thanks,
Team Webkul
Is this plugin also provide REST API Integration, If yes then what would be the endpoint should use.
Please let me know ASAP.
Greetings for the day!
Currently, this plugin doesn’t provide REST API Integration. Further, if you have any other specific requirements then please email us at [email protected] and we will assist you accordingly.
Thank you
Yesterday I bought your plugin ‘WordPress WooCommerce Product RMA’ @ Envato Market. But plugin can’t be installed. WordPress says;
The package cannot be installed. No valid plugins were found.
Plugin installation failed.
I already contact Envato. But i think you guys can help me better?
Can someone help me?
Thanks!
Great content, You have summed up all the points very efficiently. Thank you for sharing your views as it was quite helpful.
Thanks
Thanks! We will work on the continuous update of the guide as per the updates in our plugin so the users will get the latest updates.
Thanks for the information you shared, it was really helpful.
I am a web developer and I have clients who are using WooCommerce for their online store. I have installed WooCommerce RMA for Return Refund & Exchange on that website and it works like a charm for him.
It’s just a recommendation.
Thanks for the recommendation.
In RMA can we dufine our own resolution like “ refund to customer wallet if we are using wallet (terawallet) ?
Yes, you can customize the module as per your requirements. If you want us to implement the required changes then this will require extra efforts from our end.
Thanks & Regards,
Webkul Team