OdooWiki OCA HUB

Return Merchandise Authorization Management - Link with MRP Kits

rma_sale_mrp folder_open OCA/rma open_in_new
RMA License: AGPL-3

This module enables RMAs for kits, wich isn't compatible with the base modules. In the backend side, we can return separate component while in the frontend side, customers can return the whole kit and the proper RMAs will be generated.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Allows customers and staff to create RMAs for kit products (phantom BoMs) by returning the whole kit, while Odoo automatically generates separate RMAs for each component and handles refunds based on the kit quantity.

This module extends the RMA (Return Merchandise Authorization) functionality to work with kit products (phantom BoMs). When a customer requests a return from the sales order portal, they see the kit as a single line and can return the whole kit. Behind the scenes, Odoo creates individual RMAs for each component of the kit, linked together by a shared register.

  • In the portal, kit lines are shown with a hidden kit product reference, and component lines are hidden from the customer. The customer only sees the kit and its quantity.
  • In the backend, the RMA form and list views show the related kit product. The RMA report and portal page display kit information and list all related component RMAs.
  • When refunding, the system checks that all component RMAs are received before allowing a refund. It then refunds the kit quantity, not the individual components, and marks all component RMAs as refunded.
  • It prevents converting a cancelled kit RMA back to draft to avoid quantity inconsistencies.
  • The sale order RMA wizard splits kit lines into component lines, and when creating RMAs, it validates that all components are available and calculates the correct quantities per kit.
  • The module touches rma, sale.order, sale.order.line, account.move, and the RMA wizard models, adding fields like phantom_bom_product, kit_qty, and rma_kit_register.

Depends on

Models and fields (7)
  • rma · extends an existing modelkit_qty (Kit quantity), rma_kit_register, phantom_bom_product (Related kit product)
  • sale.order · extends an existing model
  • account.move · extends an existing model
  • sale.order.line · extends an existing model
  • sale.order.rma.wizard · extends an existing modelcomponent_line_ids (Component Lines)
  • sale.order.line.rma.wizard · extends an existing modelkit_qty_done, per_kit_quantity, phantom_kit_line, phantom_bom_product
  • sale.order.line.rma.wizard.component · new model

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: 6 confirmed, 3 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To use this module, you need to:

  • Make a a sale order with a kit on it and deliver its components.
  • Go to the portal view for the order and launch the RMA wizard.
  • You'll see a line for the kit.
  • There will be a limit of kits to return that should much the number of kits delivered.
  • Once you validate the wizard with the number of kits to deliver, you'll have as many RMAs as components those kits have with the proper quantities for each one.
  • If you refund the components, the kit in the sale line will be used as the reference.

No verified information in OCA: Installation, Configuration.

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.