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.
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.