October 6th, 2026

Custom module or configuration? How to decide before you build

Every line of custom code is something you must maintain on each upgrade. Ask these in order and stop at the first yes.

  1. Does a standard setting do it? Search Settings and the app’s configuration. Many “missing features” are one checkbox.
  2. Does an automated action or server action do it? Odoo can update fields and send emails on triggers without a module.
  3. Does a custom field or view tweak do it? Small additions are cheap.
  4. Does an existing app on apps.odoo.com do it? Read its version support and reviews, then test on a copy.
  5. Only then: build a module.

When a module is right

  • The logic is business-specific and touches many models
  • You need it to survive upgrades in a tracked, tested package
  • Several companies or databases will reuse it

Cost shape

Config costs hours once. A module costs build time, plus a slice of every future upgrade. Be sure the benefit repeats.

Write the request as a result

“Show the stock value of a count difference” is clear. “Add a column” is not. A good problem statement often reveals a cheaper path.

← All posts