Is customization a good idea?

Customization in Odoo, is that such a good idea? In 2012, I founded Odoo Experts and since then, together with my team, I have developed hundreds of custom Odoo Apps. When we made the Odoo modules, the adjustment in Odoo was really indispensable, the customer and I were convinced of that. They were all 'must haves'. Many customers are happy with Odoo, but not all view customization in the same way anymore. Was customizing a product such a good idea?

Nobody wants customization, right?

At the vast majority of companies we visit, we invariably get the comment, "We are going to use the software completely standard. We don't want customization". The demand often stems from cost savings. And saving costs, by using ERP software, that's just our job. So if it can be done as standard, without incurring customization costs, then we are all for this.

​But can a customer do without customization? To what extent has research been done into the processes and the software required for them? Can the company's processes be accommodated in the standard software? Is the software flexible enough to adapt to the requirements and wishes of the end users?

We ask these questions for a reason. Many companies, strange as that may be, cannot answer these questions. The only way to answer these important questions is by conducting a thorough preliminary investigation. This preliminary investigation is carried out before the actual ERP implementation. Part of the preliminary investigation is the GAP analysis, in which the gaps (Gaps) are described and which solution is chosen for this. Customization can be a viable solution for a Gap, but sometimes other solutions are also possible that can avoid customization. Be well-informed about this and weigh everything carefully. 

What is customization?

Customization is customizing software for a specific customer or adapting/expanding the standard functionality of software so that it is suitable for a specific purpose. When customizing standard software, the customization of the software is not possible by configuring the software, but the customization is achieved by overwriting the source code.

​Many modern ERP systems also have tools that make it possible to expand and modify the software. For example, Odoo has Odoo Studio. Because the possibilities of the software are used, this is not called customization, but it comes very close and has the same advantages and disadvantages as customization.

What are the advantages and disadvantages of customization?

Using customization, as with anything, has pros and cons. Benefits of customization are:

  • It creates a market advantage because you have come up with a unique solution.

  • ​It adds further efficiency, for example by linking systems.

  • Not only that, but it implements improvements that enable employees to work more efficiently.

  • It adds flexibility because, for example, there is no need to wait for a new version from the supplier.

  • The software is more in line with business operations.

Unfortunately, customization also comes with drawbacks. The disadvantages of customization are:

  • You bear the costs for development and maintenance.

  • Customization is specific to you once and is not further developed.

  • Knowledge of customization is often only known to a small group of people.

  • When upgrading the standard software, the custom software often also needs to be upgraded>

  • Customization may inhibit progress, as upgrade is not possible due to functional or technical limitations.

Customization in Odoo

Odoo is open-source software and ideally suited to adapt and expand. The open-source nature of Odoo has infinite possibilities and because of this, developers from all over the world develop custom apps for Odoo. Odoo now has the largest business App Store in the world, with almost 25,000 apps. Customization is therefore somewhat in Odoo's DNA, but the question remains: "Is that such a good idea?". 

With Odoo there are several options for customization, but there are definitely differences. What options are there?

Customization via Odoo Studio

Odoo Studio can be used on Odoo Enterprise and Odoo online and is the tool to customize and extend Odoo without programming. With conventional customization, code is written as an Odoo App, which must then be installed on the Odoo server. That is not necessary with Odoo studio. Odoo has come up with a smart way to make customization without the need for programming.

Can everyone then make custom work with Odoo Studio? No, that's not a good idea. You also come into contact with technical parts of software via Odoo studio. It requires (technical) knowledge of Odoo to use Odoo studio properly. If someone doesn't know what he's doing, he can really destroy Odoo.

Odoo studio is a perfect tool for making small adjustments and extensions to Odoo. But think ahead when using it and don't combine Odoo Studio with conventional customization. This causes incalculable problems.

Customization through Development

Customization in Odoo means developing Odoo Apps. With these apps, or modules, you can extend Odoo and adjust its operation. Customization always requires a developer, and you have to rely on it or On-Premises hosting. Everything is possible with the development of custom apps. You install Odoo apps in Odoo, and they are seamlessly included in Odoo. The end user does not see the difference between standard functionality and custom functionality.

With Odoo studio, customizations are often limited to adding fields and screens. Customization via development goes much further, and you can replace or expand the complete logic of Odoo, make links with other systems or create entirely new functionality. With Odoo development, the possibilities are endless. 

Customization via the Odoo API

It is also possible to keep customization outside Odoo. The extra functionality reads data from Odoo via the Odoo API. The customization can then do anything with that data. Via the same API, it is also possible to write information in Odoo again. Examples of customization that uses the API are links with other systems, such as carriers or e-commerce platforms.

An advantage is that you are not limited by Odoo itself and that the customization is almost completely independent. Almost, because changes to Odoo's API come with all new versions of Odoo. These changes in the API almost always mean that the customization that uses the API must also be revised. So even though the customization is done outside Odoo, there is still a dependency and that is Odoo's API. Click here to learn more about the Odoo API

Odoo App Store

Odoo has a large Business Apps Store. Anyone can post Odoo apps here. This can be a free, completely open-source app, or paid apps. Are you looking for a specific functionality, which is missing in standard Odoo, then we definitely recommend the App Store. However, there is one major drawback of the Odoo App Store and that is that, currently, there is no control over the quality of the apps. That means that sometimes it is a very good searching. If the Odoo app is free, it is better to check the code for quality first. Why we stopped using apps from Odoo App Store?

Please note that Odoo Apps are not always compatible with each other. Separate apps can work fine, but they won't work together. There's not much the developers of the apps can do about this. The apps in the App Store are all based on a standard Odoo version, on which the app is built. The easiest way to explain it is with an example. App 1 adds a “Brand” field to the product. The new field is added after the “Internal Reference” field. App 2 removes "Internal reference" field. This will pose a problem if both apps are installed. When using your customization, you are familiar with both adjustments and you can prevent this.

The Odoo App Store is very accessible and there are Odoo apps for everything. Sometimes free and sometimes paid, but often not very expensive. But beware: An app from the Odoo App Store is also tailor-made!

Our advice

​Customization is not always a choice. It is sometimes necessary to use customization to make the software perfect. But if customization is a choice, then our advice is to avoid it. Our experience is that customization is used too much, for a temporary issue. This is typically because the operation of the new software is not yet well known and is compared with known functionalities of the previous software package. Moreover, a form of 'over-automating' is something we frequently encounter. An end user actually wants 'the button that does everything' and thus tries to increase efficiency on a micro level. Customization is rarely a practical solution for this.

A few tips based on our years of experience: 

  1. Do a GAP analysis to determine where the gaps between company and software are.

  2. Customization can only be a suitable solution if it really brings value to the company.

  3. First, let employees get used to the software for 3 months and then consider customization again.

  4. Pay attention to the company's interest and not to the interest of each individual employee.

  5. Reserve budget for maintenance and future migrations.

  6. Beware of third-party Apps, where the quality and compatibility is unclear.

  7. Customization is not a one-off, make sure that support is guaranteed.

What are your experiences with Customization? Create an account and leave your comment below.

Is customization a good idea?
Erwin van der Ploeg May 18, 2020
Share this post