Skip to Content

Is custom development a good idea?

Custom development in Odoo, is that really 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. At the time we created the Odoo modules, the customization in Odoo was truly indispensable, or so both the customer and I were convinced. They were all 'must-haves'. Many customers are happy with Odoo, but not all of them still view custom development the same way. Was creating custom development really such a good idea?

Nobody wants custom development, right?

At by far most companies we visit, we invariably get the remark "We are going to use the software completely standard. We do not want any custom development". The question often stems from saving costs. And saving costs, through the use of ERP software, is exactly our job. So if it can be done as standard, without incurring custom development costs, then we are absolutely in favor of it.

But can a customer really do without custom development? 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 do not ask these questions for nothing. Many companies, strange as it may sound, cannot answer these questions. The only way to answer these important questions is by carrying out a thorough preliminary study. This preliminary study is carried out before the actual ERP implementation. Part of the preliminary study is the GAP analysis, in which the gaps are described and the solution chosen for them. Custom development can be a good solution for a gap, but sometimes other solutions are also possible that can avoid custom development. Make sure you are well informed about this and weigh everything carefully. 

What is custom development?

Custom development is creating tailor-made software for a specific customer or adapting/extending the standard functionality of software so that it is suitable for a specific purpose. When adapting standard software, the software cannot be changed by configuring it; instead, the change is achieved by overriding the source code.

Many modern ERP systems also have tools that make it possible to extend and/or adapt the software. Odoo has, for example, Odoo Studio. Because use is made of the software's own capabilities, this is not called custom development; however, it comes very close and has the same advantages and disadvantages as custom development.

What are the advantages and disadvantages of custom development?

Using custom development has, as with everything, advantages and disadvantages. Advantages of custom development include:

  • It creates a market advantage because you have devised a unique solution.

  • It adds further efficiency, for example by integrating systems.

  • It introduces improvements, allowing 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 aligns better with business operations.

Unfortunately, custom development also comes with disadvantages. Disadvantages of custom development include:

  • The costs of development and maintenance are yours.

  • Custom development is specifically for you as a one-off and is not further developed.

  • Knowledge of the custom development is often limited to a small group of people.

  • When the standard software is upgraded, the custom development often also has to be upgraded.

  • Custom development can hinder progress because upgrading is not possible due to functional or technical limitations.

Custom development in Odoo

Odoo is open source software and is ideally suited to be adapted and extended. The open source nature of Odoo offers endless possibilities, and as a result developers from all over the world create custom apps for Odoo. Odoo now has the largest business App Store in the world with nearly 25,000 apps. So custom development is a bit in Odoo's DNA, but the question remains: "Is that really such a good idea?". 

With Odoo, there are several possibilities for custom development, but there are definitely differences. What possibilities are there?

Custom development via Odoo Studio

Odoo Studio can be used on Odoo Enterprise and Odoo Online and is the tool for adapting and extending Odoo without programming. With conventional custom development, 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 create custom development without any programming being required.

So can anyone create custom development with Odoo Studio? No, that is not a good idea. Even through Odoo Studio, you come into contact with technical aspects of software. It requires (technical) knowledge of Odoo to use Odoo Studio properly. If someone does not really know what they are doing, they can truly break Odoo.

Odoo Studio is a perfect tool for making small adjustments and extensions to Odoo. But think carefully ahead when using it and do not combine Odoo Studio with conventional custom development. This causes unforeseeable problems.

Custom development via Development

Custom development in Odoo means developing Odoo Apps. With these apps, or modules, you can extend Odoo and/or adapt how it works. Custom development always requires a developer and means you are dependent on Odoo.sh or your own hosting. With the development of custom apps, anything is possible. You install Odoo apps in Odoo and they are seamlessly integrated into Odoo. The end user does not see the difference between standard functionality and custom functionality.

With Odoo Studio, the adjustments are often limited to adding fields and screens. Custom development via development goes much further, allowing you to replace or extend Odoo's complete logic, create integrations with other systems, or build entirely new functionality. With Odoo development, the possibilities are endless. 

Custom development via the Odoo API

It is also possible to keep custom development outside Odoo. The extra functionality reads data from Odoo via the Odoo API. The custom solution can then do anything with that data. Through that same API, it is also possible to write information back into Odoo. Examples of custom solutions that use the API are integrations with other systems, such as carriers or e-commerce platforms.

An advantage is that you are not limited by Odoo itself and that the custom development is almost entirely independent. Almost, because changes in the Odoo API occur with every new version of Odoo. These changes in the API almost always mean that the custom development using the API also has to be revised. So although the custom development is built outside Odoo, there is still a dependency, and that is the Odoo API. Click here to learn more about the Odoo API.

Odoo App Store

Odoo has a large Business Apps Store. Anyone can publish Odoo apps here. This can be a free, fully open source app as well as paid apps. If you are looking for a specific functionality that is missing in standard Odoo, we certainly recommend the App Store. However, there is one major drawback of the Odoo App Store, and that is that, at this time, there is no quality control whatsoever on the apps. That means that it can sometimes take quite a bit of searching. If the Odoo app is free, it is better to check the quality of the code first.

Also read: Why did we stop using apps from the Odoo App Store?

Keep in mind that Odoo Apps are not always compatible with each other. Individual apps may work perfectly fine, but they may not work together. There is not much the app creators can do about this. The apps in the App Store are all based on a standard Odoo version on which the app was 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 the "Internal Reference" field. This will cause a problem if both apps are installed. When using your own customizations, you are aware of both changes and can prevent this.

The Odoo App Store is very accessible, and you can find Odoo apps for just about anything. Sometimes free and sometimes paid, but often not very expensive. But be careful: An app from the Odoo App Store is also customization!

Our advice

Customization is not always a choice. Sometimes it is 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 often for a temporary problem. This is often because the way the new software works is not yet well understood and is being compared with familiar functionalities from the previous software package. We also frequently encounter a form of 'over-automation'. An end user really wants 'the button that does everything' and tries to increase efficiency at a micro level. Customization is rarely a good solution for this.

Based on our many years of experience, here are a few more tips: 

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

  2. Customization can only be a good solution if it truly adds value for the company.

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

  4. Focus on the company's interest, not the interest of each individual employee.

  5. Set aside a budget for maintenance and future migrations.

  6. Be careful with third-party Apps, where the quality and compatibility are unclear.

  7. Customization is not a one-time effort; make sure support is secured.

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


Is custom development a good idea?
Erwin van der Ploeg May 17, 2020
Share this post
Tags