Odoo Community Customization: Module vs Core Modification

A separate module keeps the business change visible, reviewable and easier to remove or upgrade later.

Odoo 19 guide 2026-06-19 Odoo Community

Why modules are safer

  • They keep custom behavior outside the Odoo source tree.
  • They make installation and rollback easier to understand.
  • They can declare dependencies and access rules explicitly.

When core edits become risky

  • Updates may overwrite changes.
  • Future developers may not know what was changed.
  • Testing becomes harder because the customization is hidden inside standard code.

Better customization pattern

  • Use inheritance for models and views.
  • Keep data and security files inside the module.
  • Document the business reason in the module notes or README.

Commands, screenshot and common errors

The block below keeps the article practical: one command/check, one visual reference and the first errors to inspect.

Module vs core screenshot GitHub link example
grep -R "_inherit\|inherit_id" custom_addons/
# prefer inheritance in a separate addon over editing Odoo core
  • Odoo cannot see the module because the addons path or folder nesting is wrong.
  • The manifest declares a dependency that is missing from the current environment.
  • The first real log error is often above later cascade errors.

Next step

For most Odoo Community improvements, start with a clean custom module.