How to Configure Multi‑Company in Odoo and Enable Seamless Inter‑Company Transactions
How to Configure Multi‑Company in Odoo and Enable Seamless Inter‑Company Transactions
Many growing businesses operate several legal entities—subsidiaries, branches, or partner companies. Managing them in separate Odoo databases quickly becomes a nightmare: duplicated master data, inconsistent reporting, and manual journal entries for inter‑company sales. Odoo’s built‑in multi‑company feature lets you run all entities from a single database while keeping each company’s books isolated. This tutorial walks you through the entire process, from prerequisites to testing the automated inter‑company flow.
Prerequisites
- Odoo 16 (or later) installed with Administrator access.
- At least one user with the Settings > Technical > Administration rights.
- Basic understanding of accounting concepts such as journals, fiscal years, and taxes.
- Optional but recommended: a reliable hosting environment. You can rely on Cloud VPS to host your Odoo instance with scalable resources.
Enable Multi‑Company Mode
- Log in as an Administrator and go to Settings → General Settings.
- Scroll to the Multi‑Company section.
- Check the box Allow multi‑company management and click Save. Odoo will automatically reload the interface to expose company‑related menus.
Create and Configure Each Company
Step‑by‑step company creation
- Navigate to Settings → Users & Companies → Companies.
- Click the Create button.
- Fill in the fields:
- Company Name: e.g., Acme Corp – US
- Parent Company: leave empty for a top‑level entity, or select a parent if you use a holding structure.
- Currency: choose the legal tender for the entity.
- Fiscal Year: set the start date (usually 01‑01).
- Address and Phone for contact purposes.
- Click Save. Repeat the process for every legal entity (e.g., Acme Corp – EU, Acme Corp – Asia).
Assign Users to Companies
- Go to Settings → Users & Companies → Users.
- Select a user, then edit the Access Rights** tab.
- In the Companies multi‑select field, tick all companies the user should be able to switch to.
- Set Default Company** to the primary entity they work in.
- Save the changes. The user can now switch companies using the dropdown in the top‑right corner of the Odoo UI.
Configure Inter‑Company Rules
Odoo can automatically generate counterpart journal entries when a transaction involves two companies. This eliminates manual reconciliation.
- Open Accounting → Configuration → Settings.
- Under the Inter‑Company Transactions** section, enable Generate Inter‑Company Journal Entries.
- Choose a Journal** for each company that will hold the inter‑company moves (e.g., “Inter‑Company Receivable”).
- Click Save to apply the settings.
Set Up Inter‑Company Products and Pricelists
To ensure that sales from one company to another use the correct pricing, create a shared product and assign it to a dedicated pricelist.
- Navigate to Sales → Products → Products and click Create**.
- Enter the Product Name**, e.g., “Standard Service Package”.
- In the Company** field, select All Companies so the product is visible across the group.
- Save the product.
- Go to Sales → Products → Pricelists, create a new pricelist called “Inter‑Company”.
- Add a line: Product** = “Standard Service Package”, Price** = your internal transfer price.
- Assign this pricelist to each company under Sales → Configuration → Settings → Default Pricelist**.
Testing the Multi‑Company Workflow
Scenario: US company sells a service to EU company
- Log in as a user with access to both companies.
- Switch to the Acme Corp – US** company using the top‑right dropdown.
- Open Sales → Orders → Quotations and click Create**.
- Select the “Inter‑Company” pricelist, add the “Standard Service Package” product, and set the customer to the EU company’s partner record (which should be visible because it is shared).
- Confirm the quotation to generate a sales order.
- Click Validate**. Odoo will automatically create a matching purchase order in the EU company.
- Switch to Acme Corp – EU** and open Purchase → Orders → Purchase Orders. You’ll see the auto‑generated purchase order awaiting confirmation.
- Validate the purchase order. Odoo creates the corresponding inter‑company journal entries in both companies’ ledgers.
Verify Accounting Impact
- In each company, go to Accounting → Reporting → General Ledger**.
- Filter by the “Inter‑Company Receivable” journal you configured earlier.
- Confirm that the debit in the US company matches the credit in the EU company, and that the amounts are posted in the correct currencies.
Best Practices and Common Pitfalls
- Use a single partner record for inter‑company customers. This prevents duplicate addresses and ensures tax rules apply consistently.
- Keep currency conversion rates up to date. Odoo pulls rates from the configured provider; stale rates can cause mismatched entries.
- Test with a sandbox database first. Inter‑company rules affect journal entries globally, so a trial run avoids unexpected accounting impacts.
- Regularly review the “Inter‑Company Receivable” journal. Reconcile any residual balances to keep each subsidiary’s books clean.
Conclusion
Configuring multi‑company in Odoo transforms a fragmented accounting landscape into a unified, automated system. By following the steps above—enabling the feature, creating each legal entity, setting up inter‑company rules, and testing the workflow—you gain real‑time visibility across all subsidiaries while preserving the legal separation required for compliance. With a reliable hosting platform like Cloud VPS handling the underlying infrastructure, your Odoo deployment can scale effortlessly as your corporate group expands.