The ultimate guide for a successful odoo-ERP-implementation   Free Download

Multi Company

Multi Company Configuration

Odoo provides all prerequisites for a multi-company configuration. These include:

  • Separation of accounting and warehouse per client
  • Sharing of products and address book
  • User authorizations include rules to access clients
  • Multi-currency configuration is also possible
  • Activation of several languages is also possible; the user may select the language in the user interface, but can also set the language to the customer by contact.
  • Configurability of the intercompany process
  • Price lists to determine prices for internal invoicing

In terms of functionality, all requirements are available. As the list shows, however, some components have to be preconfigured and clearly defined to achieve maximum effect in the cooperation between clients.

"What the user needs to know"


All the pre-configured modules refer to the system as a whole and are not installed per client. If there are substantial differences between the clients’ business models, modules may be activated or deactivated for a specific user group by controlling the user authorizations within a client. However, some modules also expand the configuration options within the master data. These remain available even if the user group has been disallowed access for the respective module. Unfortunately, this entails a high potential for errors in the set-up.

Access rights

The role concept is also client-independent, the accountant is and will always be the accountant, and the authorization level also remains the same. In other words, it is not feasible that someone is a manager in one client and authorized to redefine storage locations or change the chart of accounts in the financial module but only allowed reading rights in another client.

Configuration of modules

Some parts of the configurations of a module are separated per client, and they have to be implemented each time a new client is set up. This applies mainly to the “Accounting” module since it is used to assign a chart of accounts and a fiscal year to the new company. Moreover, it has to be clarified here on which level Odoo is to exchange operations between clients in the context of the intercompany process.

Intercompany process

The Enterprise Version features modules for the interaction between clients that may be configured for each client. These options include

  1. No interaction
  2. An order from client1 to client2 turns into a sales order for client2
  3. An outgoing invoice of client1 to client2 turns into a purchase invoice receipt for client2
  4. In addition, the user may even determine whether option 2 or 3 are posted automatically by the system

This process, of course, requires that the partner data records are designated as partner and supplier in the master data created for the client. The best way to set this up is to switch to developer mode and open the client in the settings under “company.” Here, you will find the field “linked partner“.

If there are internal prices to invoice, a price list should be created and also assigned to the respective master data record. It is advisable to put this to the test, not as an administrator, but with a user account within each client.

"What to bear in mind"

Master data

It may not be obvious at first glance, but Odoo does know physically existing fields and properties. These properties are fields in a record whose values are stored specifically for each client. Here are a few examples:

Product group / group category
  • Expense and revenue account
  • Tax rates (sales and purchase)
  • Expense and revenue account
  • Supplier allocation and thus prices, product numbers and product description for the vendor
  • Default delivery method
  • Terms of payment
  • Accounts receivable and payable
  • Price list

When creating a new master data record, Odoo either fills the client-dependent fields with default values or leaves them blank. In other words, if it is possible to share products and customers in the configuration, an appropriate process has to be set up internally so that the just-released master data record can be reconfigured for the other clients, e.g., after the creation of a new product or customer or after the release for all other companies. Otherwise, the potential for mistakes is just too high.

The group of people working on this should not be too big. These activities are an excellent tool that can be used to communicate and to assign master data or activities.

If possible, a customer, supplier or product should not be released for sales or purchase until the data maintenance has been completed.


Even more caution is required when it comes to modifications, especially if the user has started with only one client, with the intention to add another one later. It is necessary to define the specific issues, where the system needs to be client capable. Otherwise, there cannot be any such thing. The step from the first to the second client is, of course, the most time-consuming, since ideally all processes for both companies should be tried and tested comprehensively. Usually, the exceptions or unique characteristics are the most complex issues with a process for only one company among all set-up companies.

When making modifications, it is essential to ensure that all the defined rules later apply also to all clients planned in the system.


Even Odoo is not entirely free of programming errors. For this reason alone, everything has to be tested for each client after activating and configuring the multi-company option.

Active client

The biggest trap, however, occurs when the users are activated for several companies, but not to generate reports, but to actively perform transactions. In the user profile, Odoo stores the information where the user is currently logged in. The risk arises from the fact that the employee may have opened several browsers or is working with different tabs within the browser. If he now switches to another client in a tab or browser, the profile is changed. This value is now also valid for all other tabs and browsers, even if the information is not updated or displayed immediately.

Therefore, this user group should not be too large and perhaps only limited to reporting, to minimize the risk of an incorrect set-up of transactions in an incorrect client. Apart from that, you can merely advise these users to work with only one browser and only one tab.

Was this article helpfull information to you? 
Would you mind to leave us a review of your experiences with openfellas?

​​​​​review openfellas

Talk to our experts.

We will find the solution best suited to you and your products!


Das Odoo Studio