I have a question regarding inter-branch transfers in Odoo v18.
Currently, I have a main company configured with two branches, "A" and "B", which are set up as independent companies in the system. I created a product that is tracked by serial number.
When I try to transfer the product from the main company to branch "A", the system allows me to register the outbound movement using serial number 00001. However, when I try to receive the product in branch "A", Odoo prompts me to enter a serial number, and when I search for 00001, it doesn't appear. It even asks me to create a new one, which doesn’t make sense since the product is just being moved within the same corporate group.
My question is:
Shouldn’t the serial number remain consistent throughout the entire product traceability, even when moving between companies?
How can I configure Odoo so that it recognizes the same serial number in the receiving company, without forcing me to create a new one or generating errors?
In addition, I would like to know how to manage returns of the product from branch "A" back to the main company, using the same serial number (00001). Currently, when I try to validate the outbound movement, the system throws an error saying that the serial number already exists, and it won’t let me complete the transfer.
I would really appreciate your guidance on how to properly set up this flow and avoid conflicts with serial numbers across companies.
Best regards!
Thank you very much for the response. My question is the following:
In the operations settings, there is an option called "Serial/Batch Numbers" with the following options:
Create new
Use existing
After clicking close, it lets me save it and accept the transfer, where it's reflected in the child branch's inventory.
When I try to return that item from the child branch to the parent branch, I get the same error, but when I click validate, it tells me there's another problem because it already exists and won't let me make the transfer.
Thanks
Thank you for your detailed follow-up.
You're absolutely right that selecting “Use Existing” under the Serial/Batch Numbers setting allows you to receive the serial number created by the parent company. However, the warning you're seeing is due to Odoo's default behavior of treating serial numbers (stock.production.lot) as company-specific.
Best Practice Going Forward
To ensure smooth intercompany transfers (including returns), and to maintain consistent serial number traceability across branches, the recommended solution is:
Customize Odoo to Make Serial Numbers Global
We can implement a small custom module that:
Removes the company restriction on serial numbers
Allows shared serial numbers across all companies
Prevents duplicate errors during returns or intercompany transfers
Ensures that a single serial number (like 0000019) is always recognized system-wide
This way, you won’t be forced to recreate or duplicate serial numbers, and returns from one branch to another will work without errors.
Are the transfers completed with a delivery and receipt operation or are they done with internal transfers?