If you need to customize Odoo, you can develop an Odoo app yourself, have it developed or you can use an app from the Odoo Apps Store. Odoo apps are created by developers and the customizations are done in code. This code is readable (so you can see what has been modified) and secured with a version control system (Github).
There are several problems with Odoo Apps from the Odoo App Store (also called third party apps, or 3p apps). We wrote about this in another blog.
Read our blog: Why have we stopped using apps from the Odoo App Store?
Odoo also offers the Odoo Studio tool. Odoo Studio allows you to customize Odoo through the interface of Odoo itself. You can create fields, change views, or even create new functionality from scratch. These changes are not done in code, but these changes are stored in Odoo's database.
Als je Odoo rechtstreeks vanuit Odoo zelf kunt aanpassen, waarom zou je dan een ontwikkelaar inhuren om de aanpassingen te maken? Met Odoo studio kan je het makkelijk zelf. Ja zo lijkt het inderdaad.
Odoo Studio looks great, but it's not the holy grail and in this blog I'll explain why.
You can't do everything with Odoo Studio
With Odoo studio you can make quite a bit. You can create entirely new functionality or extend existing functionality. It can be very useful, but you can't do everything. Creating complete processes in which data has to flow from one model to another is actually impossible. Odoo Studio is limited to separate new functionality or adjusting existing functionality, which means that it can only be used to a limited extent and the overview is quickly lost.
Conflicts with other customization
Odoo Studio customizations are only stored in the Odoo database. If a developer develops a custom app for Odoo, he always develops it for a standard Odoo version or a version with all other customizations coded as modules. A developer doesn't have the customer's production database, so he doesn't have any customizations made in Odoo studio either. That makes it more difficult for a developer to create a good solution and can cause technical conflicts.
Difficult to maintain
Writing code (well) brings a number of important benefits, such as creating automatic tests to guarantee functionality after adjustments and grouping functionalities to keep a complete process together. As mentioned earlier, Odoo Studio customizations are only stored in the Odoo database and not in code. Therefore, these benefits are not present. Changes can have unforeseen consequences for the overall process and it is more difficult to get a complete overview of all changes that have been made. This makes the Odoo system more difficult to maintain.
Breaks with an Odoo upgrade
When Odoo is upgraded to a new version, the Odoo migration platform also tries to migrate all Odoo Studio customizations. But because each user of Odoo can make their own unique customizations, it is impossible for the migration platform to migrate everything correctly. So you see that multiple Studio customizations cannot be migrated and must be recreated after migration.
Unfamiliarity with the Odoo database
Adding fields to the database, creating calculated fields and/or relational fields, it's all fairly easy with Odoo. But if you don't know how the Odoo database works and what you can do in a database and what not, you will definitely break Odoo. To make it possible to make adjustments in a generic way, Odoo cannot possibly take into account the performance of individual situations. The risk of causing slowdowns in the system is therefore huge and there is no security for that.
In my opinion it is almost impossible that a functional Odoo user, with no technical knowledge, can make the right choices when creating complex database fields in Odoo.
And, I'll be very honest. I'm writing this down because I've made these mistakes myself several times... unfortunately 😰.
Create something that already exists
Suppose you are looking for something, but you can't find it in Odoo. Does this mean it doesn't exist in Odoo, or you need to install an extra Odoo App?
Check here the overview of all Odoo Apps
Or maybe you don't have the rights to see certain information? Imagine those two situations. This is where Odoo Studio comes in handy. You 'just' create the missing functionality yourself, with the result that you have created something that already exists in Odoo.
This may seem a bit exaggerated, but believe me, we see it a lot.
Completely destroy Odoo
Yes, you can completely break Odoo with Odoo Studio. Sometimes your adjustment works well in the beginning and you think nothing is wrong. Until suddenly many people start working with Odoo.
An example I once saw is that a user thought: "It is useful to see the available stock on an order line". The field with the (dynamic) stock has been added to the order line as a relationship field, in this way the value of the stock is stored on the order line.
Done that way and at a quiet time during the weekend, without anyone being bothered. Until Monday everyone started working with Odoo and Odoo updated all order lines with every stock adjustment. After a few hours, Odoo had become unmanageably slow. Sadly, no one connected it to last Saturday's Studio adaptation.
Difficult to detect errors
Is the system slow? Is the data incorrect? Is a button or menu missing? Is a field missing? This can have several causes, but are all problems that can be caused by Studio. If a code change has been made, there are all kinds of tools to check it, but for studio changes there are no handy log or debug tools that can be consulted. This ensures that errors often go unnoticed for a long time and take a lot of time, money and energy to repair.
Use Odoo Studio to customize screens by adding existing fields or simply creating new fields. Don't create complex fields and relational fields if you don't know what you're doing. Odoo Studio seems like a nice tool, but it cannot replace the knowledge and skills of a programmer.
Odoo is probably a very important software system in your company. Use it wisely and if you don't know what you're doing, get help from an Odoo Expert. We are ready for you.
Why Odoo Studio is not the holy grail?