Skip to Content

Odoo Studio on Odoo Online: How Far It Goes and What Upgrades Really Cost

When to use Odoo 20 as it is, when to customize it, and which changes are billed per 100 lines of code
November 12, 2026 by
Odoo Studio on Odoo Online: How Far It Goes and What Upgrades Really Cost
Hassan Tabbal

More and more companies that contact us ask for the same thing. They want to get everything they can out of Odoo without extra modules, stay on Odoo Online, and make their changes with Odoo Studio, so that each new version of Odoo installs without trouble. It's a good plan, and for many businesses it's the right one. It also has limits and costs that aren't obvious on the day you choose it.

This guide covers Odoo 20, released in September 2026, and the Odoo Enterprise Subscription Agreement in force in November 2026. It explains when to use Odoo as it is, when a change is worth making, what "upgradable" really means on Odoo Online, and why some customers find a monthly charge per 100 lines of code on their bill after building in Studio.

Three ways to change Odoo

Every request to make Odoo "fit" ends up in one of three places, and each one has its own cost.

  • Settings and configuration. Turning features on, adding stages and teams, writing email templates, setting up taxes, routes, price lists and access rights. Every plan allows it, and it's the part of Odoo that upgrades most smoothly.
  • Studio without code. New fields, changes to forms, lists and PDF reports, approval rules on buttons, automation rules and even new small apps, all built by clicking. On Odoo Online this is the territory of the Custom plan.
  • Code. Python written inside Odoo, in an automation step called Execute Code or in a computed field, or full custom modules. Python inside the database works on Odoo Online. Custom modules and modules from the Odoo Apps store don't: they need Odoo.sh or your own servers.

Studio has a price before you build anything. Odoo's pricing page lists Studio and agentic AI under the Custom plan, and installing Studio on a Standard plan database moves it to the Custom plan automatically. Viewed from the UAE on 7 November 2026, odoo.com/pricing showed US$16.90 per user per month for Standard and US$32.00 for Custom, billed yearly. For 20 users that difference comes to about US$3,600 a year. Prices change from country to country, so check the page with your own country selected.

Three ways to change Odoo: settings on any plan, Studio without code on the Custom plan, and code, either Python inside the database on Odoo Online or custom modules on Odoo.sh

When to use Odoo as it is

Odoo 20 already handles the way most companies sell, buy, invoice, stock goods, plan work and pay people. Its standard flows have been shaped by thousands of businesses, and they're often cleaner than the process a company has today. In our projects, these are the cases where we advise against changing it.

  • The change copies the old system. A screen laid out like the old software, or a field that existed there "just in case", adds work to every upgrade and rarely helps anyone after the first month.
  • A setting already does it. Many requests we receive are answered by an option in Settings, a saved filter, a grouping in a report, an approval rule or an email template. Look for these first.
  • It saves a click or two. Users get used to a standard screen within weeks. A custom one has to be checked at every upgrade, for years.
  • You haven't used Odoo yet. Real needs show up after go-live. Run the standard flow for a few weeks, note where people struggle, then decide what to change.

Staying close to standard also keeps you on the path Odoo improves. Each version adds features to the standard flows, and a company that replaced one of them with its own version doesn't get those improvements for free.

When customization is the better option

Changing Odoo is worth it when the change pays for itself in time saved or mistakes avoided, and when you'd still want it in three years. That's usually one of these situations.

  • The law or your customers require it. A field that must appear on invoices, a document in a set format, or a check before goods leave.
  • It's how you win business. Your pricing rules, inspection checklists or service promises are part of what customers pay you for.
  • People keep a spreadsheet next to Odoo. When a team re-types data or tracks something outside the system, a field and an automation usually remove that work for good.
  • A decision needs data nobody records. If managers can't see why orders are lost or late, adding the right fields to the right screens fixes it.
  • A mistake is expensive. An approval above an amount, or a rule that stops a ticket being closed without a solution, costs little and prevents real losses.

How far Studio goes on Odoo Online

Without writing any code, Studio in Odoo 20 lets you:

  • add fields of every common kind, including links to other records, and place them on forms, lists, kanban cards, calendars and reports;
  • build small apps of your own with their own menus, for records Odoo doesn't have, such as equipment inspections or contracts;
  • change PDF documents such as quotations, invoices and delivery slips;
  • add approval rules so a button only works once the right person has approved;
  • create automation rules that run when a record is created or changed, when a stage is set, when an email arrives, at a set time before or after a date, or when another system calls a webhook. The actions can update a record, create another one, send an email or SMS, plan an activity, call another system, or fill a field with AI (the step is called Update with AI);
  • with the AI app, give an AI agent instructions, documents and tools. Our guide to AI agents in Odoo 20 shows one built and tested step by step.

That covers a lot. Our helpdesk AI example rebuilds an Apps store add-on with these tools only, and needs code for exactly two lines.

Some things stay out of reach on Odoo Online, whatever plan you're on:

  • custom modules and modules from the Odoo Apps store;
  • new screens or widgets written in JavaScript, and new server endpoints written in Python (incoming webhooks, set up in an automation rule, are the exception);
  • Python that imports libraries: code written inside Odoo runs in a restricted mode that can't import anything.

If your plan needs one of these, you're looking at Odoo.sh or your own hosting, a custom module, and a maintenance agreement for it.

Is upgrading guaranteed with Studio?

Odoo's upgrade documentation says the free upgrade service covers "the upgrade of all customizations created with the Studio app, as long as Studio is still installed and the respective subscription is still active". That's a real commitment, and it's one of the best reasons to stay on Odoo Online with Studio. It doesn't mean nothing can go wrong, and the agreement says why.

  • You test, Odoo converts. The upgrade service is "limited to the technical conversion and adaptation" of the database. The agreement makes it "the responsibility of the Customer to verify and validate the upgraded database" and to analyze the impact of changes in the new version. Odoo moves your fields and views to the new version. Checking that your automations still do the right thing is your job, or your partner's.
  • Odoo changes too. When a standard field is renamed or a feature moves, your Studio field still exists, but an automation, report or filter built on the old behavior can stop working or quietly do something else. In Odoo 20, for example, the Field Service app was folded into Planning, so anything built around field service tasks needs a careful look before upgrading.
  • Your Python is your own. Code in an Execute Code step runs against Odoo's internal names. When Odoo changes them, the code fails at the next run. As we'll see below, Odoo covers that code too, and bills it.
  • Odoo Online doesn't wait. On Odoo Online, a major version must be upgraded every two years, and databases on the in-between "SaaS" versions (released every two to three months) must move a few weeks after the next one comes out. You get a notice a few weeks ahead, and if nothing happens before the deadline, Odoo upgrades the database automatically.
  • Removing Studio ends the promise. The coverage holds while Studio is installed and the subscription is active. Uninstall Studio to save on the plan and your customizations are no longer covered.

The upgrade is guaranteed. Whether your business runs the same the next morning depends on how much you built and how well you test. Odoo lets you request a test copy of your database on the new version before the real upgrade. Use it every time, with your own checklist of what each automation must do.

Odoo Online upgrade cycle: a notice a few weeks ahead, a test copy on the new version, your checks, then the upgrade, or an automatic upgrade at the deadline

The fee per 100 lines of code

This is the part that shocks customers, and it's written in the agreement. Odoo calls "a set of Python-based customizations created in a database (e.g. with Odoo Studio)" an Extra Module. Any Extra Module used on Odoo Online is a Covered Extra Module, which means Odoo maintains and upgrades it, and charges for it. In the agreement's words: "The charge is a monthly fee per 100 lines of code (rounded up to the next hundred), as specified in writing at the conclusion of the Agreement."

So the price per 100 lines is in your quote, and it can be different from one customer to the next. Three details matter.

  • Rounding up. Two lines of Python are billed as 100. Five automations with a few lines each may still be one block of 100, or five, depending on how the lines add up. Ask.
  • Missing months. When you ask for an upgrade, Odoo "may charge a one-time extra fee for each missing month of coverage" for code that wasn't covered in the last 12 months. Code someone added quietly can turn into a back bill at upgrade time.
  • Odoo counts it. The agreement says lines are counted with Odoo's own tool, cloc, and the subscription reports the count to Odoo.

What does the count include? Odoo's documentation of cloc says that on a database it counts "the Python lines of server actions and custom computed fields that have been directly created in the database or imported", plus the JavaScript, CSS and QWeb files of imported modules. Fields, layouts and automation steps chosen from Studio's menus are settings stored in the database, and the documentation doesn't list them. In practice, the code fee comes from Python you or your partner typed.

What the code fee counts on Odoo Online: Studio fields, layouts, reports, approval rules and automation steps such as Update Record or Update with AI are not listed; Python in Execute Code steps, computed fields written in Python and imported modules are counted

That's how the surprise happens. A consultant or a helpful colleague solves a problem with five lines in an Execute Code step. It works, nobody mentions the fee, and months later it shows up on the renewal.

To see what you have, turn on developer mode, open Settings › Technical › Server Actions and filter on the type Execute Code. Then look at Settings › Technical › Fields for fields that have Python in their Compute box. If the list surprises you, ask Odoo or your partner for the line count before your next renewal.

Other pitfalls we see

  • Built straight in production. Odoo Online has no staging branch, so Studio changes go live the moment you save them. Make large changes on a copy of the database first; you can duplicate it from your database manager on odoo.com.
  • Nobody remembers why. Studio doesn't keep a readable record of why a change was made. Two years later, nobody knows whether a field is still used. Keep a short list of every change, its reason and its owner.
  • Automations that call each other. A rule that updates a record can trigger another rule. Five rules on one model are fine. Thirty start to slow screens and produce results nobody planned.
  • AI costs. Steps like Update with AI and AI agents use Odoo's AI credits each time they run. A rule on every update of a busy model uses a lot more than one that runs when a record is created.
  • Access rights. A new Studio field is visible to everyone who sees the form unless you restrict it. Salary, cost and margin fields need limits by user group.
  • Code dressed up as no-code. Odoo's AI and many tutorials happily write Python into Execute Code steps. It works, and it's billed. Ask whether a menu option can do the same job first.

Pros and cons at a glance

Studio on Odoo Online compared with custom modules on Odoo.sh: hosting, what you can change, upgrades, code fee, testing and who maintains it

Studio on Odoo Online gives you a lot of control for a predictable price, with upgrades covered, as long as you test them and keep code to a minimum. Custom modules on Odoo.sh remove the limits, at the cost of a development team, hosting and a maintenance agreement.

Our recommendations

  1. Start standard. Go live with standard Odoo 20 and settings wherever you can, and decide on changes after a few weeks of real use.
  2. Prefer settings, then Studio menus, then code. Most needs are met before you reach code. When you do write Python, keep it short and write down why.
  3. Ask for the code fee in writing. Before you sign, ask what one block of 100 lines costs per month in your country, and how many lines your planned changes add.
  4. Keep a register of changes. Every field, rule and report, with its purpose and owner. Review it before each upgrade and remove what nobody uses.
  5. Test every upgrade on a copy. Request the test database, run through your checklist, and only then upgrade production. Never let the automatic deadline do it for you.
  6. Move to Odoo.sh when the limits are real. If you need modules, custom screens or heavy integrations, plan the move instead of forcing Studio to do what it wasn't built for.

How NavyBits helps

  • Assess. We review your processes and any Studio work already in your database, tell you what standard Odoo 20 covers, what's worth changing, and what each change will cost in plan, code fee and upgrade effort.
  • Build. Our Odoo business solutions team sets up the configuration and the Studio changes, using menus first and as little code as the job allows, with a written register of every change.
  • Maintain. Our Odoo support team tests each upgrade on a copy of your database before it reaches production, and trains your team on what's new.

FAQ

Does Odoo Studio work on Odoo Online?

Yes. Studio is available on Odoo Online with the Custom plan. Installing it on a Standard plan database moves the database to the Custom plan automatically.

Are Studio customizations upgraded for free?

Yes. Odoo's upgrade service covers customizations made with Studio as long as Studio is still installed and the subscription is active. You still have to test the upgraded database and confirm your automations and reports work as before.

Why am I charged per 100 lines of code on Odoo Online?

Python written inside the database, for example in an Execute Code step of an automation or in a computed field, counts as an Extra Module. On Odoo Online it's covered and maintained by Odoo, and billed monthly per 100 lines, rounded up, at the price in your quote.

Do Studio fields and layouts count as lines of code?

Odoo's documentation of its line counter lists Python in server actions and computed fields, and files of imported modules. Fields, views and automation steps chosen from Studio's menus aren't on that list. Ask Odoo or your partner for your database's count to be sure.

Can I install modules from the Odoo Apps store on Odoo Online?

No. Odoo Online runs standard Odoo only. Apps store modules and custom modules need Odoo.sh or your own hosting.

How often does Odoo Online upgrade my database?

A database on a major version must be upgraded every two years. A database on a SaaS version must move a few weeks after the next version is released. Odoo sends a notice a few weeks before, and upgrades automatically at the deadline if you haven't.

Talk it through with us

If you're planning to stay on Odoo Online and want to know how far Studio will take you, book a free 30-minute call. Tell us what you need to change and we'll tell you which parts standard Odoo already covers, which need Studio, and what each choice will cost you at the next upgrade.

Odoo Studio on Odoo Online: How Far It Goes and What Upgrades Really Cost
Hassan Tabbal November 12, 2026
Share this post
WhatsApp usAI agent replies 24/7
Book a free 30-minute call