Skip to content
← All articles

Configure before customizing: the rule that prevents an unmaintainable Odoo

Every exception that turns into custom development adds debt. Well-thought-out standard configuration usually covers more than the team thinks.

Configurar antes de personalizar: la regla que evita un Odoo imposible de mantener

There's a legitimate fear in the boardroom and in IT: ending up with a Frankenstein Odoo. Lots of custom fields, rules only the person who coded them understands, reports that break with every update and a partner who's no longer around. The system "works" on go-live day and becomes expensive to live with.

The rule that best prevents that scenario is boring and effective: configure before customizing.

Why every exception becomes debt

In a project, someone says: "in our company we do this differently." Sometimes that's true. Sometimes it's a habit nobody has questioned. If the automatic answer is to build something, every exception turns into code, into Studio changes, into a custom module.

That code:

  • Has to be documented (and almost never is, fully).
  • Has to be tested with every Odoo upgrade.
  • Has to be taught to new people as rules that aren't in the standard.
  • Has to be paid for in ERP maintenance when the business flow changes again.

Odoo customization isn't the enemy. The enemy is customizing by default, before exhausting what Odoo configuration already offers.

What "configuration" means in practice

Configuring isn't "leaving the defaults." It's designing the setup with intent:

  • Apps and scope by stage (what goes live first, what waits).
  • Document types, stages, teams and permissions aligned to real roles.
  • Consistent products, price lists, inventory routes and accounting journals.
  • Native automations (server actions, marketing automations, approval rules) where they're enough.
  • Reports and views adjusted without touching the core.

Odoo Studio enters this conversation carefully: it's useful for light adjustments and quick prototypes, but it isn't a free license to build a second product on top of the ERP. Whatever you do in Studio also has to be maintained.

The upgrade path nobody wants to hear about at kickoff

Teams that customize early usually discover the cost at the first major version jump. Clashing fields, broken views, modules that won't load, integrations that assume an old data model. The upgrade stops being a plan and becomes a new project.

If the original design favored standard plus configuration, the upgrade hurts less. If it favored "build me something custom because that's what I asked for," the upgrade becomes a permanent negotiation.

For a CFO or an IT lead, that difference is budget and operational risk, not the consultant's aesthetic preference.

Real flows first, custom only where the standard falls short

A healthy sequence looks like this:

  1. Discover the real process and data (including the exceptions that matter).
  2. Design the standard setup around those flows and prototype with the team.
  3. Measure where the standard truly creates friction (not where someone "would prefer a different button").
  4. Customize only the part that can't be solved with configuration, rules or a reasonable process change.
  5. Document and contain that custom work so the next upgrade isn't a black box.

The same applies when you add AI: document capture, workflow agents or copilots should rest on a well-configured system of record. AI doesn't fix a data model built in pieces.

Signs you're heading toward a Frankenstein

  • Every follow-up meeting ends with "we'll build it."
  • Nobody can list, on one page, the active modules or Studio changes.
  • Key users ask for screens "exactly like" their Excel instead of adopting an improved standard flow.
  • The test and production environments no longer look alike.
  • Talking about upgrades produces an awkward silence.

If you recognize three of these, stop. Review what can go back to configuration before adding more custom work.

How to discuss an exception without fighting

When the business insists on an exception, ask in this order:

  1. Is it regulatory or contractual (it must be met no matter what)?
  2. Is it high-frequency, or a rare case that can be handled with a procedure?
  3. Can it be covered with stages, standard fields, native automation or a report?
  4. Does the cost of maintaining the custom work exceed the operational benefit over 12 to 24 months?

That filter isn't bureaucracy. It's platform hygiene. A partner who says "yes" to every customization is selling you complexity, not agility.

Where KAI Consulting stands

In our projects, the rule is said out loud from discovery: configuration over customization. We design the Odoo setup (and the AI layer where it removes real friction) around your flows, prototype with your team and save custom development for where the standard falls short.

It's not dogma. It's how an ERP stays alive after the go-live PowerPoint.

A practical next step

Open your Odoo backlog of "pending developments" (or the one from your current implementation). Mark each item as: possible configuration, process change, or unavoidable custom work. There's usually a surplus of customization requested out of habit.

If you're choosing a partner and worried about the Frankenstein, ask them to explain their configure-vs.-customize criteria with examples of real decisions (no invented cases). At KAI Consulting that conversation is part of the work, not an appendix. Odoo at the center, maintainable, with a clear upgrade path. Whenever you want to review how yours is built, let's start with your real flows.

Let’s talk about your operation.

Tell us how your business runs today and where it hurts. We map the rest together.