Odoo CMS - a big picture

Odoo Enterprise Migration, License, and Customization

Hieu Le

Last week I had a meeting with my client. They are currently using Odoo 8 Community Edition (CE). They consider to migrate it to Odoo 10 Enterprise Edition (EE). Several questions about Odoo licences, migration process, customization were raised. I asked some of my friends who also implement Odoo ERP projects. Luckily, one of them use the EE for most of their clients, he replied to me. And the Odoo Account Manager for my company, Nicolas Pénicaut also gave me some useful information. In the meanwhile, I was reading some documents and discussions on the Internet to write this article.


You need to sign a subscription to use the EE. Read this Odoo EE Subscription Agreement. Please note that the price below is for 2016. Starting from 2017, Odoo will make some changes, visit their website for the up-to-date price.

  • Migration fee: if at the moment your current Odoo version is NOT the current one (Odoo 10), but a ‘Covered Version’ which includes the current one and the previous 2 released versions (Odoo 8, Odoo 9), Odoo will charge you 50% of the standard fee (value of the EE subscription) in addition in the first year. For older Odoo version you have, the migration fee will increase.

  • 1-year Contract for 80 Users

Number of Users

per User per Year

Number of Years

Total in Euro





Plus the migration fee = 19.200,00 x 50% = 9.600,00 EUR. In this case you pay 19.200,00 + 9.600,00 = 28.800,00 EUR in total. 

  • 2-year Contract for 80 Users

Number of Users

per User per Year

Number of Years

Total in Euro





Migration fee will be dropped. In this case, you pay 38.400,00 EUR in total.

  • 3-year Contract for 80 Users

Number of Users

per User per Year

Number of Years

Total in Euro





You will receive a discount of 12,5%  for multi year contract, and the migration fee will also be dropped. So you pay 57.600,00 - (57.600,00 x 12,5 %) = 50.400,00 Euro in total.

Important notes:

  • For custom modules, it will cost 1.000 Euro per 1.000 lines of code including the fee for data migration for those modules.

  • Only back-end users are taken into account, NOT include portal users.


In my case, besides native Odoo modules, my project has many customer modules. Customization, bug fixing, new features are continuously integrated. A new version is released every 5 weeks (1 sprint).

I can continue development during the migration process. But those new features, data will need to be carefully checked at testing phase. See this process.

Case 1: from Odoo 8 CE to Odoo 10 EE directly

Under the Enterprise license, Odoo is indeed taking care of the migration of the standard (native) modules. For my custom modules, I have 2 choices:

1) I migrate my own customization and prepare my scripts for the relevant data migration on my side. Once Odoo have migrated the standards modules, they will provide me a test database so that I can match what I have upgraded. Then we run the test and we see if something is going wrong or not.
2) Odoo can also migrate my custom modules but it will cost 1.000 Euro per 1.000 lines of code as I said above.

Odoo have a dedicated team on migration projects. They said we can go from version 8 to version 10 directly with their specific migration scripts and tools. And there is no reason to go Odoo 9 when Odoo 10 is going to be released next month (Oct 2016) because Odoo 10 is better Odoo 9 in terms of new features, revolution in core framework, performance and the Subscription fee between 9 and 10 is the same. One thing to note is that if I work with Odoo in the migration, I will need to write my own scripts to handle data migration for my custom modules. 

Case 2: from Odoo 8 CE to Odoo 10 CE, then go Odoo 10 EE later
Just as a reminder, the Enterprise license includes migration, bug fixing on native modules, a wider range of functionalities, new layout, and responsive UI for mobile devices. Odoo can indeed migrate a Odoo CE to another under the Enterprise license. The customer is free to choose the Odoo EE whenever he wants. Again, beside the Enterprise license fee, the fee for custom modules migration will cost really expensive.

If I migrate everything to Odoo 10 CE myself, then I want to go Odoo 10 EE, of course I will need to sign the Subscription which includes the migration fee depending on the number of years. Normally, there is no many difference in source code and database between Odoo CE and Odoo EE in the same release. Odoo EE extends Odoo CE with some enterprise features. So basically, there is no migration step here, but according to the migration process from Odoo, we still need to test the source code, the database, and the whole system to ensure it works probably.

Case 3: upgrade from current Odoo EE to future Odoo EE
If you are an EE customer, the migration from one version to another (only Odoo native modules) is part of the contract which means free if your current covers the released Odoo version. Except the custom modules (see above). For example I sign the EE contract on 2016, Odoo 10 EE for 3 years, then I can receive upgrades to Odoo 11 (2017), Odoo 12 (2018) for free (only Odoo native modules). For my custom modules, see Case 1.


See this https://www.odoo.com/documentation/user/9.0/legal.html

Odoo 8 is licensed under AGPL version 3 (also known as AGPLv3). Since Odoo 9, Odoo have splitted their system into 2 editions: Odoo CE and Odoo EE. Odoo 9 CE is licensed under LGPL version 3 (also known as LGPLv3). See also the GPL FAQ and the compatibility matrix. Odoo 9 EE is licensed under the Odoo Enterprise Edition License v1.0, defined here. Odoo Apps by Odoo SA (including the website themes) are published under the Odoo Proprietary License v1.0, defined here. So if I use the Odoo EE with some community addons and custom addons, my software then covers 3 main licenses: LGPL, AGPL and Proprietary. 

(Source of this image is from camptocamp)

The reason why Odoo switched from AGPLv3 to LGPLv3 is explained here. The reason for all this is the launch of their new apps store which has now feature paid modules. It enables Odoo to sell the Odoo EE. Moreover, it also gives individual Odoo Developers and integrators the opportunity to sell their paid modules.

Both AGPL and LGPL are open source and Copyleft license. The LGPLv3 is compatible with AGPLv3 which means that modules under AGPLv3 will continue to be usable with Odoo. See this compatibility matrix. However Odoo advise current owners to migrate to LGPLv3 too. See this file Licensing Analysis Odoo which compares AGPLv3 and LGPLv3. From my understanding, I list the key differences between them:



Partners & Contributors cannot sell an AGPL module, or an module that depends on an AGPL module.

Partners & Contributors can sell modules they develop themselves.

The Odoo users will be able to ask any service provider for the WHOLE source code of their instance, and they will stay free to change providers.

The service provider (modules developer) is permitted to NOT provide the WHOLE source code to their clients, but in case of need, they can provide source code with binaries.

An AGPL module cannot use or depend on non-AGPL-compatible libraries.

You can use any library in your module.

You cannot use Enterprise modules with the community AGPL modules because those are not compatible in terms of license.

You can do that because (1) Odoo Enterprise Edition License v1.0 and Odoo Proprietary License v1.0 are compatible with LGPL License. And (2) AGPL is compatible with LGPL.

Odoo EE addons
Can be used (executed, modified, executed after modifications) with a valid Odoo EE Subscription Agreement for the correct number of users.

OCA addons
The OCA Board’s decision is to keep the AGPL for existing addons because of these reasons mentioned here. Those addons can be used with Odoo EE.

Other community addons
It depends on the developer who decides its license.

My custom addons
With new Odoo license, what will happen to my current custom modules? The answer is, not only I can keep up on using them, but also I can continue developing based on the Enterprise source code. I can do whatever I want with my own license (share, sell or keep them for myself). And I think I should use LGPLv3 as well.


  • What is the differences between Odoo 9 EE and Odoo 10 EE?

→ Regarding the functionalities, in my opinion, there are not many differences. Accept the MRP application in Odoo 10, it will completely renewed. Besides, there are changes in HR Expense application, Odoo Studio, … Nicolas Pénicaut suggested me to check it on Odoo Runbot,  branch saas-12.

  • If I use Odoo EE then one day I want to go back to the Odoo CE? Is this possible?

→   Yes, it is possible but Odoo (and myself) don't advise it and never want to try it. I can uninstall all the Odoo EE modules and get back to the Odoo CE but lots of fields, relations, connections between modules will disappear. And this can cause lots of source code / data conflicts, finally lead to a disaster.

  • How long will it take for the migration?

→ It depends on the size of the DB (number of modules used, number of users...) Pretty hard to have a clear estimation without all the relevant info. For example, my current project took 3-4 months to migrate from Odoo 7 CE to Odoo 8 CE. The Odoo team said that in case they just migrate their native modules, it may take from 2 weeks to 4 weeks. For custom modules, they need to do analysis before providing the estimation. And if you want them to do the analysis, you first need to sign the Enterprise Subscription.

  • What do you think about migration workload and cost?

→ Fabien Pinckaers, CEO Odoo, retweeted me that ‘People underestimate the complexity of migration, and the hundreds of little details we take care of in our platform/service. I hope you do not charge your customer per day. Because upgrade v8CE to v10 CE will cost him much more than regular price.’

  • Which tool do Odoo use to calculate the number of lines of code?

→ http://cloc.sourceforge.net/

  • Regarding the database migration, my team have a plan to use OpenUpgrade but this tool is incremental which means I have to migrate from 8 to 9, then 9 to 10. Can you check with Odoo team if there is any conflict because you said we can go directly from 8 to 10. An option would be my team will write some specific scripts from 8 to 10 for my custom modules?

→ There shouldn't be any conflict. I got the information internally that we are also using the incremental method while migrating but we will just deliver the version you asked (not the intermediary ones). So whatever the method you will be using, what matters in the end is that your custom modules are compatible with the version the customer requested.

  • If I use Odoo 9 EE first, for example, sign 1-year contract by the end of 2016, then next year I want to upgrade to Odoo 10 EE. Will it cost more, or is it included in 'Covered Versions' mentioned in Enterprise Subscription?

→ Odoo are planning to launch v10 in October 2016, so v8 and v9 will be in the "Covered Versions" meaning that the clients will NOT have to pay extra fee for it.