Rma Sale Auto Detect

rma_sale_auto_detect
REPOSITORY
REPOSITORYOCA/rma
GIT
GIThttps://github.com/OCA/rma.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rma/tree/18.0/rma_sale_auto_detect
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ACSONE SA/NV
COMMITTERS
COMMITTERSsbejaoui, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/rma
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/rma:
    - rma_sale
    - rma
odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This addon automatically links RMA records to the most relevant sale order
lines based on delivered quantities and an eligibility period defined on the
RMA operation.

The module will:

* Search sale order lines delivered to the same partner
* Filter them by the operation's allowed return period
* Consume delivered quantities in chronological order
* Link the RMA to the corresponding stock move(s)
* Split the RMA if multiple deliveries or partial matches are needed
* Flag the RMA if no matching sale delivery was found

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
rma_form_view rma xpath Inherits rma.rma_view_form
rma_operation_form_view rma.operation xpath Inherits rma.rma_operation_form_view
Models touched (3)

New fields (5)
  • has_sale_auto_detect_issue Boolean
    readonly=True
  • ignore_sale_auto_detect Boolean
    readonly=True
  • return_eligibility_days Integer
    compute='_compute_return_eligibility_days' help='Defines the time window in which sales can be linked automatically to RMA lines. Example: 30 days (change of mind), 730 days (warranty), 0 to disable, or a large number for lifetime warranty.' readonly=False store=True string='Return eligibility duration (days)'
  • return_eligibility_period_exceeded Boolean
    compute='_compute_return_eligibility_period_exceeded'
  • sale_auto_detect_note Text
    readonly=True
Public methods (3)
  • action_confirm(self)
  • action_draft(self)
  • action_link_rma_to_sale_line(self)
    automatically link RMAs to the most relevant sale order lines

New fields (1)
  • return_eligibility_days Integer
    default=30 help='Defines the time window in which sales can be linked automatically to RMA lines. Example: 30 days (change of mind), 730 days (warranty), 0 to disable, or a large number for lifetime warranty.' string='Return eligibility duration (days)'
Public methods (0)

No public methods.

New fields (1)
  • rma_returnable_uom_qty Float
    compute='_compute_rma_returnable_uom_qty' digits='Product Unit of Measure' help='Quantity of this delivery move still eligible to be returned through RMA' string='RMA Returnable Quantity'
Public methods (0)

No public methods.