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
"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.
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.
The Enterprise Version features modules for the interaction between
clients that may be configured for each client. These options include
- No interaction
- An order from client1 to client2 turns into a sales order for client2
- An outgoing invoice of client1 to client2 turns into a purchase invoice receipt for client2
- 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"
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.
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?