The One Module I Refuse to Customize (and What I Do Instead)

One request comes up again and again in Odoo projects:

“Can you customize this module?”

The answer isn't always yes.

Not because the customization can't be built, but because unnecessary customization can create problems long after the original project is finished.

Every custom module adds something that needs to be maintained, tested, and potentially updated during future Odoo upgrades.

Before writing a single line of code, there is a more important question to ask:

“Can we solve this with configuration instead?”

A Real-World Example

A wholesale company wanted to customize the Odoo Sales module because they believed their quotation approval process was too unique for standard Odoo.

Instead of immediately developing a custom solution, we first reviewed how the approval process actually worked.

The requirement could be handled using standard approval rules, automated actions, and a few configuration changes.

No custom module was needed.

The result was a simpler implementation, a faster delivery, and fewer maintenance concerns for future Odoo upgrades.

The company didn't need more code.

It needed a better understanding of what Odoo could already do.

Why Customization Isn't Always the Answer

Customization can be valuable when standard Odoo genuinely cannot meet a business requirement.

But customizing a feature simply because the default workflow feels unfamiliar can create unnecessary complexity.

Poorly planned customization can lead to:

  • Higher development costs
  • More maintenance
  • Complications during upgrades
  • Greater dependency on developers
  • More testing and troubleshooting

The goal shouldn't be to make Odoo behave exactly like the old system.

The goal should be to use Odoo effectively while adapting only where the business truly needs something different.

Configuration Before Customization

Before developing a custom solution, it's worth exploring what can already be achieved through:

  • Standard Odoo configuration
  • Approval rules
  • Automated actions
  • Access rights
  • Workflows
  • Existing Odoo features

Sometimes a requirement that appears to need development can be solved with the right configuration.

That's why understanding the business process and Odoo's capabilities should come before writing code.

When Customization Does Make Sense

This doesn't mean customization is bad.

There are genuine business requirements that need custom development.

If the standard functionality cannot support a critical process, a well-designed customization can provide real value.

The key is knowing when to customize and when not to.

Final Thought

The best Odoo implementation isn't the one with the most custom code.

It's the one that solves the business problem with the simplest reliable solution.

Sometimes the smartest customization is choosing not to customize.

The 6-Hour Stock Count Problem