Repository
OCA/rma · module folder · Try on Runboat
Module version
1.2.0
Category
Uncategorized
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/rma
Last tracking update
2026-08-07 08:42:51
Authors
ACSONE SA/NV, Odoo Community Association (OCA), BCIM, Raumschmiede GmbH
Maintainers
ACSONE SA/NV, Odoo Community Association (OCA), BCIM, Raumschmiede GmbH
Committers
Víctor Martínez, Weblate, Marie Lejeune, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
rma_sale_reason
Description
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.

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
portal_my_rmas_reason portal_my_rmas_reason ir.ui.view qweb Inherits rma.portal_my_rmas
portal_rma_page My RMA ir.ui.view qweb Inherits rma.portal_rma_page
res_config_settings_form_view res.config.settings form Inherits rma.res_config_settings_view_form
rma_form_view rma form Inherits rma.rma_view_form
rma_reason_form_view rma.reason form New
rma_reason_search_view rma.reason search New
rma_reason_tree_view rma.reason list New
rma_rma_wizard_form_view rma.rma.wizard form Inherits rma.rma_rma_wizard_form_view
rma_search_view rma search Inherits rma.rma_view_search
stock_return_picking_form_view stock.return.picking form Inherits stock.view_stock_return_picking_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (1)
  • is_rma_reason_required Boolean
    string='Indicates whether specifying an RMA reason is mandatory when creating an RMA order.'
Public methods (0)

No public methods.

New fields (1)
  • is_rma_reason_required Boolean
    readonly=False related='company_id.is_rma_reason_required'
Public methods (0)

No public methods.

New fields (3)
  • is_rma_reason_required Boolean
    related='company_id.is_rma_reason_required'
  • operation_domain Binary
    compute='_compute_operation_domain'
  • reason_id Many2one → rma.reason
    comodel_name='rma.reason'
Public methods (0)

No public methods.

New fields (4)
  • allowed_operation_ids Many2many → rma.operation
    comodel_name='rma.operation' help='List of RMA operations that are allowed when this reason is selected.' string='Operations'
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company'
  • description Text
    translate=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (3)
  • domain_operation_id Binary
    compute='_compute_domain_operation_id'
  • operation_id Many2one
    domain='domain_operation_id'
  • reason_id Many2one → rma.reason
    comodel_name='rma.reason' string='Reason'
Public methods (1)
  • default_get(self, fields_list)
    @api.model

New fields (2)
  • rma_operation_domain Binary
    compute='_compute_rma_operation_domain'
  • rma_reason_id Many2one → rma.reason
    comodel_name='rma.reason' readonly=False string='RMA Reason'
Public methods (0)

No public methods.

New fields (3)
  • is_rma_reason_required Boolean
    related='wizard_id.company_id.is_rma_reason_required'
  • rma_operation_domain Binary
    compute='_compute_rma_operation_domain'
  • rma_reason_id Many2one → rma.reason
    comodel_name='rma.reason' compute='_compute_rma_reason_id' readonly=False store=True string='RMA Reason'
Public methods (0)

No public methods.

Loading…