Originally published at hexalian.com/books/odoo-partner-playbook.
TL;DR — Technical Odoo skills rarely kill consulting practices. Scoping, pricing, renewals, and portfolio health do. If you implement Odoo for clients, you have lived the fixed-price project that became endless T&M, the upgrade nobody sold until panic, and the client with three versions of the same custom module. The Odoo Partner Playbook ($12.99 PDF) is the business side nobody teaches in ORM tutorials. Get on Gumroad → · hexalian.com/books
You already know Odoo. That is not why projects hurt.
You can debug the ORM, tune PostgreSQL, and ship a go-live. Your clients trust you technically.
What still happens:
- Discovery becomes a second project you did not invoice
- "Small favor" requests eat the margin on a fixed SOW
- Renewals feel awkward because you never productized maintenance
- You learn about an upgrade crisis from the client's accountant, not your dashboard
- One client database is fine; ten clients and you have no portfolio view
This post is for Odoo freelancers, boutique implementers, and resellers — not internal IT teams going live on their own database. If that is your buyer, start with the Odoo Survival Guide (production ops, backups, PostgreSQL).
Five ways Odoo practices bleed margin (and what to do instead)
These patterns show up on every practice audit we run — regardless of country or Odoo version.
1. Discovery without a written boundary
Symptom: The client says "we just need a simple inventory tweak." Week three: manufacturing, quality, three warehouses, and a custom report nobody mentioned.
Why it hurts: You priced implementation, not archaeology. Discovery hours are the most expensive hours in consulting — and the easiest to give away.
Fix:
- Sell discovery as its own deliverable (fixed fee, capped hours, written output)
- Define in scope / out of scope before configuration starts
- Use a one-page scope appendix the client signs — not a 40-page SOW nobody reads
Playbook chapter: Scoping Odoo Projects: How to Stop Bleeding on Discovery
2. Fixed price on undefined scope
Symptom: You quoted €25k to "implement Odoo" because the competitor did. The client remembers €25k; you remember every change request since March.
Why it hurts: Fixed price only works when scope, data migration, integrations, and UAT ownership are explicit.
Fix:
| Model | Best when | Watch out for |
|---|---|---|
| Fixed price | Repeatable vertical, clear module list, client owns data cleansing | Scope creep, "while you're in there" |
| T&M | Discovery, rescue projects, unclear legacy | No ceiling → client anxiety |
| Retainer | Maintenance, monitoring, small enhancements | Under-priced hours |
| Hybrid | Fixed core + T&M integrations | Needs clear phase gates |
Rule: If you cannot list the go-live checklist on one page, you are not ready for fixed price.
Playbook chapter: Pricing Odoo Projects: Fixed Price, Retainer & Hybrid Models
3. No recurring revenue layer
Symptom: You shipped go-live. Revenue drops until the next big project. The client calls at 9 p.m. Friday about email — you answer because you fear churn.
Why it hurts: Every reactive hour is margin you did not sell proactively.
Fix:
- Package maintenance + monitoring before go-live, not after the first fire
- Tie renewals to outcomes: upgrade readiness, backup drills, health score — not "support hours"
- Use tooling (e.g. NonaGuard) so monitoring is visible to the client, not invisible heroics
Playbook chapter: Building Recurring Revenue: Maintenance, Monitoring & Retainers
4. Upgrade sales only when the client panics
Symptom: The client is on Odoo 16. Odoo 19 is live. They ask "can we upgrade next month?" — meaning before tax season / peak season / never.
Why it hurts: Panic upgrades are T&M nightmares. Planned upgrades are productized revenue.
Fix:
- Propose upgrade windows 12 months ahead with a written risk report
- Price upgrades as phases: audit → staging → UAT → cutover (not "we'll see")
- Maintain a module inventory per client — duplicate customizations are upgrade debt
Playbook chapter: Upgrade Risk Management: How to Sell, Price & Deliver Odoo Upgrades
5. Portfolio blindness across clients
Symptom: Client A is healthy. Client B has deprecated modules and shared admin passwords. You find out when Client B's shop goes down.
Why it hurts: Reputation risk scales with client count faster than revenue does.
Fix:
- Run the same health checklist on every client quarterly
- Standardize on modules you maintain (fewer snowflakes)
- One dashboard for "which client needs attention this week"
Playbook chapter: Client Portfolio Health: Running 10 Clients Without Losing Your Mind
What is inside The Odoo Partner Playbook
$12.99 PDF · instant download · no DRM · keep forever.
Full table of contents:
- Introduction — The Business of Odoo Nobody Teaches You
- Scoping — How to Stop Bleeding on Discovery
- Pricing — Fixed Price, Retainer & Hybrid Models
- Recurring revenue — Maintenance, Monitoring & Retainers
- Upgrades — How to Sell, Price & Deliver Odoo Upgrades
- Portfolio health — Running 10 Clients Without Losing Your Mind
- Sales & proposals — Closing Odoo Projects Without Discounting
- 30-day partner launch — Go From Freelancer to Odoo Practice
Plus margin protection patterns, SOW language that survives legal review, and proposal structures that stop discounting at the finish line.
Who should read this
- Odoo freelancers moving from hourly billing to productized offers
- Small agencies standardizing delivery across multiple clients
- Technical leads who are great at Odoo but weak at commercial conversations
- Resellers who need a repeatable scoping framework — official Odoo partner status not required
Who should read something else
| Your buyer | Read instead |
|---|---|
| Internal IT / CTO going live | Odoo Survival Guide — backups, PostgreSQL, runbooks |
| Public eCommerce on Odoo 19 | Survival Guide Volume 2 — storefront security |
| Developer shipping with AI tools | Vibe Code, Ship Safe — pre-ship security |
Get the playbook
- Gumroad — instant download →
- hexalian.com/books/odoo-partner-playbook — full TOC, FAQs, related guides
Pair with NonaGuard for client portfolio monitoring — find upgrade blockers and permission gaps before your client opens a ticket.
FAQ
Do I need to be an official Odoo partner?
No. The scoping, pricing, and retention patterns work for freelancers, boutiques, and resellers.
Is this a technical go-live guide?
No. For PostgreSQL, backups, and migrations, use the Odoo Survival Guide.
Can I share the PDF with my team?
One purchase = one licensee. Agencies often buy one copy per lead consultant.
How does this relate to NonaGuard?
The playbook teaches how to sell and deliver monitoring. NonaGuard is the tool — free connector on Odoo Apps, SaaS plans for scans.
About Hexalian
I run Hexalian LLC — production Odoo modules and engineering guides for teams on Odoo 17, 18, and 19.
We ship full source (no lock-in), test on real deployments, and publish the same patterns from 40+ production audits into PDF playbooks and Odoo Apps listings.
- hexalian.com/store — eCommerce, B2B, monitoring modules
- hexalian.com/books — Survival Guide, Partner Playbook, DevOps, AI security
- nonaguard.com — 7-day Odoo health scan trial
Production Odoo modules (many partners resell these)
| Module | What it does |
|---|---|
| Website Promo Banner | Sticky countdown promo bars with click analytics |
| Product Bundles & Kits | Combo deals, stock-aware kits |
| Recently Viewed Products | Browsing history carousel |
| Back in Stock Alerts | Email when inventory returns |
| B2B Quick Order Form | CSV bulk ordering for B2B portals |
| E-commerce Suite All-in-One | Bundled conversion stack |
| NonaGuard Connector | Free — connect Odoo to health monitoring |
Odoo 17, 18, 19 · Odoo Apps + Gumroad · one-time purchase · full source.
Hexalian LLC · hexalian.com · info@hexalian.com
Top comments (0)