The same five steps on every Odoo project, from the first call to the support window after go-live.
5 steps
01
Scope the actual problem
Before any code, I want the process behind the request — who touches the record, what breaks today, and what 'done' looks like to the person doing the job.
Walk the current workflow
Agree the acceptance criteria
Flag anything standard Odoo already does
02
Plan the module
Models, fields and access rules on paper first. Deciding inheritance versus a new model early is what keeps the upgrade path open later.
Data model and inheritance
Security groups and record rules
Migration impact across 16–20
03
Build in small pieces
Backend logic first, then the OWL layer over it. Each piece lands working rather than arriving as one large drop at the end.
Models, workflows, QWeb reports
Client actions and widgets
Committed in reviewable steps
04
Test against real data
A module that works on two demo records is not tested. I run it against a copy of the real database, with the real volume and the real edge cases.
Restored production copy
Permission checks per group
Query profiling on the slow views
05
Deploy and hand over
Deployment on Odoo.sh or your own instance, plus the documentation another developer needs to pick the module up without asking me.
Staged then production deploy
README and inline docstrings
A support window after go-live
Read the workflow before the ticket·Inherit, do not fork·Test on real data·Leave it upgradeable·Name things for the business·Ship in reviewable pieces·Document the surprising part·
Read the workflow before the ticket·Inherit, do not fork·Test on real data·Leave it upgradeable·Name things for the business·Ship in reviewable pieces·Document the surprising part·
What ships
Every project ends with the same four things.
01
The module itself
Installable, versioned, and written against the Odoo API rather than around it.
02
A README that is actually read
What it does, which models it touches, and what to check first when it misbehaves.
03
Access rules you can audit
Groups and record rules listed explicitly, so nobody has to guess who can see what.
04
A working staging deploy
Proven on a copy of your data before it goes anywhere near production.
Next step
Send me the process as it works today and I will come back with a scope.