OdooWiki OCA HUB

Rma Reason

rma_reason folder_open OCA/rma open_in_new
Uncategorised License: AGPL-3

Specifying the RMA reason when creating an RMA order is crucial for effective inventory management, quality control, and customer service. It helps categorize returned items accurately, identify recurring product issues, and improve overall product quality. This data enables customer service to address issues more effectively and enhances the customer experience.

This addon allows RMA managers to pre-configure possible reasons users can specify when creating the RMA order.

In a multi-company setup, each company can define its own reasons and choose to make the reason mandatory or optional.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets you define a list of return reasons and pick one on each RMA (return) order, so returns can be categorised. Each company can decide whether choosing a reason is mandatory.

This module adds a catalogue of return reasons that you manage yourself, and lets users attach one reason to every RMA (return merchandise authorisation) order.

Where it appears in Odoo: - A new "Reasons" menu under the RMA configuration menu, where you create, edit and search reasons (name, description, company). - On the RMA form, a "Reason" field is shown next to the operation field; the reason also appears in the RMA search filters. - On the customer portal, the reason is displayed in the list of returns and on the return detail page. - In the return wizard and in the stock return (picking) screen, a reason can be selected per return line when creating an RMA.

Business rules and automatic behaviour: - Each reason can be linked to a list of allowed operations; once a reason is chosen, only those operations can be selected (the operation field is filtered automatically). - In the return wizard, if the chosen reason allows only one operation, that operation is set automatically; otherwise an incompatible operation is cleared. - A company-level setting (RMA Reason) makes the reason mandatory on RMA orders; when enabled, the reason field is required on the RMA form and on return lines with a quantity. - Reasons are company-specific: each company sees its own reasons, and the setting is configured per company.

It touches the RMA order, the RMA reason list, the RMA wizard, the stock return screens and the company settings.

Depends on

Required by other modules

Models and fields (7)
  • rma · extends an existing modelreason_id, operation_domain, is_rma_reason_required
  • rma.reason · new modelname, company_id, description, allowed_operation_ids (Operations)
  • res.company · extends an existing modelis_rma_reason_required (Indicates whether specifying an RMA reason is mandatory when creating an RMA order.)
  • rma.rma.wizard · extends an existing modelreason_id (Reason), operation_id, domain_operation_id
  • res.config.settings · extends an existing modelis_rma_reason_required
  • stock.return.picking · extends an existing modelrma_reason_id (RMA Reason), rma_operation_domain
  • stock.return.picking.line · extends an existing modelrma_reason_id (RMA Reason), rma_operation_domain, is_rma_reason_required

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure this module, you need to:

  • Go to Inventory > Settings > Settings and select whether the reason is mandatory or not.
  • Go to RMA > Settings > RMA Reasons and create the RMA reasons for your company.

When creating an RMA, select the reason for the return.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.