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
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Automatically links return requests (RMAs) to the right delivered sales order lines, within a return period you define per operation, and warns you when no matching delivery is found.
When you create a return request (RMA) in draft, a new button "Link to sale line" appears in the header. Pressing it makes Odoo search the customer's sales orders for the same product, keep only the ones with delivered quantities still available to return, and connect the RMA to the matching delivery.
- The search window is controlled by "Return eligibility duration (days)", set on the return operation (default 30 days) and copied onto the RMA. Set 0 to disable the automatic search, or a large number for lifetime warranty.
- The operation also decides whether older or more recent sales orders are matched first.
- If the requested quantity is larger than one delivery, the RMA is split into several RMAs so each one matches a delivery; if a delivery only covers part of the quantity, the remainder stays on the original RMA.
- If nothing matches, the RMA is flagged with a warning message on the form: "No delivery move found or insufficient delivered quantity."
- A second warning appears when the return period has already passed.
- On confirmation, Odoo blocks the RMA if the quantity to return is higher than what is still returnable for that delivery.
The module adds a computed "RMA Returnable Quantity" on outgoing stock moves, showing how much of a delivery can still be returned, and touches rma, rma.operation and stock.move.
Depends on
Required by other modules
Models and fields (3)
- rma · extends an existing modelsale_auto_detect_note, ignore_sale_auto_detect, return_eligibility_days (Return eligibility duration (days)), has_sale_auto_detect_issue, return_eligibility_period_exceeded
- stock.move · extends an existing modelrma_returnable_uom_qty (RMA Returnable Quantity)
- rma.operation · extends an existing modelreturn_eligibility_days (Return eligibility duration (days)), return_eligibility_order
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-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/rma.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0- Create an RMA in Draft state
- Set the partner, product, quantity and operation
- Click "Link to sale order"
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.