Required basics
- Use a clear name and summary.
- Set the Odoo-versioned module version.
- Declare only dependencies that are really needed.
- Use a correct license value.
- Keep data files ordered by load requirements.
Useful fields
- website should point to the exact module page when one exists.
- author should be consistent across the project.
- application and installable should match how the module is intended to appear.
- assets should be used only when the module actually ships web assets.
Review questions
- Can the module install on a clean Odoo 19 Community database?
- Are security files loaded before views that rely on access?
- Are demo files separated from production data?
Commands, screenshot and common errors
The block below keeps the article practical: one command/check, one visual reference and the first errors to inspect.
python -m py_compile __manifest__.py
python - <<'PY'
import ast, pathlib
ast.literal_eval(pathlib.Path('__manifest__.py').read_text(encoding='utf-8'))
PY
- 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
The free Module Health Checker helps make module metadata easier to review.