The ultimate guide for a successful odoo-ERP-implementation   Free Download

Odoo Studio

CONSULTING

Odoo Studio

Odoo Studio is an ongoing topic of debate in our discussions. The application looks great, is continuously developed by Odoo, and is increasingly being marketed. At first glance, it seems incredibly simple to use—the demo videos are impressive and highly convincing. But what are the real advantages? And, if any, what are the downsides? When does it make sense to use Odoo Studio, and when doesn’t it?

What Can Studio Do?

Let's first clarify this question. With Odoo Studio, you can seamlessly extend the object structure and database, adding new fields or even creating entirely new content and relationships. Additionally, it allows you to modify and create menus and views, ensuring a more customized user interface. This includes modifying document templates and reports with greater ease.

How Does It Work?

The database structure is expanded more or less immediately. Changes are primarily noticeable by the fact that Odoo prefixes the designation with “x_”.

As soon as a view is extended, an inherited view is created - if it involves modifying a standard view - and the changes are applied using an "XPath" function (see https://en.wikipedia.org/wiki/XPath. In simple terms, Odoo processes the XML of the respective view as a complete string, identifies the relevant field, and replaces the defining string with a new one.

In a manually developed module, similar modifications can occur, but are not the standard approach. Whether such adjustments, as performed with Studio, impact performance is unclear. However, if an issue arises and manual intervention is required to diagnose and resolve it, the task can be extremely challenging. Even minor modifications can present difficulties, as Odoo’s generated output is often opaque and difficult to interpret.

However, this alone is not necessarily a reason to rule it out.

The much bigger issue here is that these changes are written directly into the database. While this happens in the form of records rather than structural modifications, any error has an immediate impact on ongoing operations.

What Can Odoo Studio Not Do?

Since the changes are written directly into the database, Odoo Studio cannot version these modifications. However, creating tests and revisions is a crucial step in any development process. There are always situations where it is necessary to trace what caused a change or who made it. In the worst case, an entire version may need to be rolled back. In other words, a structured versioning system is essential.

Even though Odoo Studio encapsulates all changes within a separate module, human-driven development typically consists of multiple logical units rather than just a single one. This means the result is not just a single add-on but often multiple ones—either extending a standard module or forming a complete unit across several standard modules as part of a larger development step. This approach improves clarity and organization while allowing for more manageable updates. Instead of moving an entire package back and forth between different live and test environments, only the specific module currently in progress needs to be transferred.

What Does A Typical Development Step Look Like?

A requirement is defined, and its implementation is precisely specified from a technical perspective. This includes determining which fields are needed, which views need to be extended, and what calculations should be performed automatically by the system.

For this purpose, one or more tasks are created within project management. A specific version within the version control system is designated as the current production version, known to all stakeholders. A development branch is then created from this version, where the necessary changes are implemented. These modifications undergo testing on various test environments and, once validated, are marked as ready for production. At this point, the package is deployed, and the development version is merged into the production version. Merging is essential because multiple requirements are often in development simultaneously, requiring a structured approach to integration.

This means that without versioning, encapsulation, and traceability, no real progress can be made.

When Does It Make Sense?

Why does Odoo put in this effort? One of its key goals is to provide a platform tailored for small businesses. Additionally, Odoo is designed to be industry-agnostic, avoiding a specific sector focus. Ideally, small businesses should be able to operate with the standard version—after all, when weighing the costs of a fully customized project, there should always be a feasible solution. That said, some users may find themselves needing a bit more information at certain points or wishing for greater visibility in specific areas. To prevent hosting customers from reaching a dead end and becoming frustrated, Odoo Studio could indeed serve as a practical solution.

But that's not all.

When tackling the implementation of larger or more complex requirements, Odoo Studio serves as a valuable tool. Without requiring programming, a consultant or project manager can sketch and visualize requirements directly on a near-live system, demonstrating potential impacts on process flows. This makes it an excellent choice for prototyping, ensuring a shared understanding of a concept or clarifying a specific part of a larger system.

Conclusion

Odoo Studio certainly has its place, but at least for now, it is not a universal solution that eliminates the need for programming.


My Personal Experience

In conclusion, based on my own experiences using Odoo Studio for prototyping, I would like to add the following observation:

  • Missing features in applications: 
    Many small yet essential usability functions are lacking. For example, why can fields be moved within a group, but tabs in a notebook view or groups of fields cannot be rearranged?
  • I have a different definition of smooth performance.
  • Setting up relationships is not very intuitive.
  • Required fields: 
    A name field is always mandatory, even when it is unnecessary or doesn’t make sense. While it can be removed, adding it back later—if it turns out to be needed—is quite difficult.
  • Error messages: 
    Sometimes, cryptic error messages appear, leading to the following reaction: "Excuse me, can someone explain what this message is trying to tell me and what I might have done wrong?"
  • JavaScript error messages: 
    You hit save, and suddenly, no view works anymore—only cryptic, overwhelmingly long JavaScript error messages appear. For the average user, this would be a dead end. A more experienced user, however, is left weighing their options: Do I abandon days or even weeks of work? Or do I spend my valuable time trying to decipher obscure interface issues just to avoid the first two choices?

But Odoo will surely provide a solution for these issues in a future version, sooner rather than later.


Was this article helpful information to you? 
Would you mind to leave us a review of your experiences with openfellas?

​​​​​review openfellas




Talk to our experts.

We will find the solution best suited to you and your products!


REQUEST CONS​​​​ULTATION


Datev vs. Integrated Accounting
FINANCIAL SERVICES &  ACCOUNTING