Studio lets anyone on your team add a field, tweak a view, or wire up a one-step automation without touching code. The Approvals app gives you multi-step sign-off out of the box. Automation Rules fire actions when a record changes — no developer required. All genuinely useful. All with real, well-known limits once your process gets more complicated than the demo data suggests.
No exaggeration needed here — Studio is one of the better no-code layers in any ERP. It writes real Odoo metadata, not a cosmetic overlay, and for the straightforward cases it’s the right tool.
Add a text, selection, many2one, boolean, or date field to any model in minutes. No XML, no module, no restart — Studio writes proper ir.model.fields records, the same as a developer would by hand.
Drag fields onto forms, lists, and kanban cards. Add tabs, group boxes, conditional visibility rules. It’s genuine view inheritance under the hood, not a cosmetic skin over the real form.
Custom filters, saved group-bys, and cloned QWeb PDF layouts — tweak your invoice or quotation template without opening the report engine directly.
New fields and models get sensible default access rules out of the box. Restrict a field to one security group without hand-writing an ir.model.access.csv line.
Need a register — asset log, visitor log, complaint tracker — that doesn’t fit any existing app? Studio can build the model, the views, and the menu entry in an afternoon.
Set a field on save, notify a user on a stage change, create an activity when a deadline passes. Studio’s automation editor handles the straightforward, one-trigger-one-action case well.
The Approvals app and Automation Rules (what used to be called Automated Actions) are separate from Studio’s field-and-view editor, but they live in the same no-code world — and they hit the same kind of wall.
A dedicated workflow app: define approval categories (Purchase Order, Expense, or a custom category), set the approver sequence, and require a minimum number of sign-offs per step before a record can proceed.
Odoo’s Approvals app has no native “auto-escalate if not actioned within 48 hours.” It’s one of the most common requests we hear — a request just sits in someone’s inbox until they open it.
Also missing out of the box: “if the assigned approver is on leave, route to their manager.” Every business runs into this eventually — usually the week someone’s on holiday and a PO is stuck.
Trigger on create, on update, on a time condition relative to a date field, or when specific fields change. Actions can update a field, send an email, create an activity, or run Python code.
Loop over related records, call an external API, branch on more than two or three conditions — Studio’s automation editor gets unreadable fast. At that point a proper server action is less work, not more.
Automation Rules with a wide domain re-evaluate on every write to that model. Stack six or seven of them on sale.order or stock.move and you’ll feel it in write times before anyone works out why.
Studio makes it too easy to self-serve. That’s a compliment and a warning. Every field and automation your team adds is real, unversioned, and invisible to whoever supports the system next — including us.
Send us your Approvals categories and your busiest Automation Rules. We’ll tell you honestly which ones are fine as they are, which ones are a performance risk, and which ones should become a proper module before your next upgrade.