OdooWiki OCA HUB

Inter Company Module for RMA

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

Automatically create an Inter Company RMA so that it can be managed independently but still remain linked.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

When a return (RMA) is created for a sale between two companies of the same group, this module automatically creates the matching RMA in the other company and keeps both linked, so each company manages its own return while the two stay in sync.

This module extends the RMA (return merchandise authorisation) feature so that returns between two companies of the same group are handled on both sides automatically.

  • When an RMA is confirmed, the system creates the corresponding RMA in the other company, based on the linked sale order line or stock move, and links the two records together.
  • On the RMA form, two new read-only fields show the linked RMA in the other company and the original RMA from the other company; they are only visible when they have a value.
  • Actions performed on one RMA are repeated on its linked counterpart: confirming, cancelling, resetting to draft, creating a replacement, creating a return and refunding (with or without invoice).
  • Some data is kept in sync between the linked RMAs, such as the operation and the lot/serial number.
  • When the reception or delivery picking of one company is validated, the related picking of the other company is automatically validated as well; cancelling a delivery also cancels the pending delivery on the other side.
  • The system avoids creating unwanted extra sales order lines when validating an inter-company return receipt, and adjusts stock move locations so goods move through the inter-company location.

The module touches rma, sale.order.line, stock.picking, stock.move and stock.rule.

Depends on

Models and fields (4)
  • rma · extends an existing modelintercompany_rma_id (Intercompany RMA), intercompany_origin_rma_id (Intercompany Origin RMA)
  • stock.rule · extends an existing model
  • stock.picking · extends an existing model
  • sale.order.line · extends an existing 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: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0
  • Configure the settings specified in purchase_sale_stock_inter_company.
  • Edit the Dropship route (or delete it and create a new one) to keep only the rules linked to Company A, and set Company A as the route's company.
  • Create a product and select the Dropshipping route
  • [Company A] Set Company B as the supplier in the Purchasing tab
  • [Company A] Create a sales order and use the previously created product.
  • [Company A] Confirm the sales order.
  • [Company A] The corresponding purchase order will have been created (confirm it if necessary).
  • [Company A] Complete the sales order delivery note.
  • [Company A] Create the RMA linked to the sales order.
  • [Company B] The sales order RMA will have been created automatically and will be linked.
  • The RMA from Company B will be confirmed automatically.
  • Reception picking for RMA A will have Transit Location defined as the destination location.
  • Reception picking for RMA B will have Transit Location defined as the origin location.
  • When validating the reception picking for RMA B, the reception picking for RMA A will be auto-done first.
  • When creating a delivery picking (return or replace) in RMA B, it will also be created in RMA A.
  • The RMA B delivery picking will have Transit Location as its destination location.
  • The RMA A delivery picking will have Transit Location as its origin location.
  • When validating the RMA B delivery picking, the RMA A delivery picking will be automatically done.
  • If RMA A is canceled, RMA B is automatically canceled.
  • If RMA B is canceled, RMA A is automatically canceled.
  • If RMA A is confirmed, RMA B is automatically confirmed.
  • If RMA B is confirmed, RMA A is automatically confirmed.
  • If RMA A is returned (using the return or replace button), RMA B is automatically returned.
  • If RMA B is returned (using the return or replace button), RMA A is automatically returned.
  • If RMA A is refunded, RMA B is automatically returned.
  • If RMA B is refunded, RMA A is automatically returned.

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.