How a Single Fix in Odoo Saves 12 Minutes Per Day
Sometimes you don't need new software. Sometimes you just need the right fix in the right place.
That sounds obvious - but in practice, we see it all the time: companies invest five-figure sums in new tools when the actual problem could be solved with a few lines of code. This example shows what we mean.
The Problem: An Empty Recipient Field
If you use Odoo Community Edition as your CRM, you might know this one: you open a lead, click "Send Email" - and the mail composer opens with an empty recipient field.
The contact is stored in the lead. The email address is right there. But the composer doesn't pick it up.
What follows is the same routine every time:
- Type the contact name into the recipient field
- Select the right contact from the dropdown list
- Only then start writing the actual email
That takes maybe 15 seconds per email. Sounds like nothing.
The Math Nobody Does
But let's do the math: with around 50 emails per day from the CRM, that's 12 minutes of daily time wasted - just manually entering a recipient that's already there.
Over a month, that's more than 4 hours. Over a year: roughly 50 hours per employee.
50 hours per year. For a task the system should handle automatically.
And that's just the measurable part. The real damage is subtler: every extra click is a point where someone gets distracted, loses their train of thought, or doesn't send the email at all. In sales, speed matters - and every unnecessary hurdle costs deals.
The Obvious Solution - And Why It's Wrong
The obvious answer: buy Odoo Enterprise. The mail composer works better there, more features, better support.
But Odoo Enterprise is licensed per user per month. For a team of 10, that quickly adds up to several hundred euros per month - for a feature that's essentially a missing line of code.
This isn't an argument against Odoo Enterprise. There are good reasons to upgrade. But if the only problem is an empty recipient field, then switching licenses is like using a sledgehammer to crack a nut.
Our Solution: A Single Python File
We analysed the problem and found that the mail composer in Odoo Community simply doesn't consider the stored contact when opened from a CRM lead. It's not a bug in the traditional sense - the logic just isn't there.
The solution is a minimal Odoo module that does exactly one thing: when the mail composer is opened from a CRM lead, the lead's contact is automatically filled in as the recipient.
That's it. No new menu, no new database fields, no configuration. A single Python file that extends the mail composer's behaviour for CRM leads. Everything else stays unchanged.
Before
You click "Send Email", the composer opens - recipient field empty. You type in the contact name, wait for the dropdown, click the right entry. Only then can you start writing.
After
You click "Send Email", the composer opens - the recipient is already there. You start writing straight away.
Why We're Sharing This
Not because it's technically impressive - quite the opposite. We're sharing it because it shows a pattern we see over and over again:
A small, specific problem becomes the trigger for a big, expensive decision.
- "The mail composer is annoying" becomes "We need Odoo Enterprise"
- "The spreadsheet is messy" becomes "We need a new ERP"
- "Reporting is missing" becomes "We need a BI platform"
Sometimes that's right. Sometimes the big solution is the correct one. But often it's worth asking first: What exactly is the problem - and what's the smallest solution that fixes it?
When a Fix Is Enough - And When You Actually Need New Software
A targeted fix is enough when:
- The problem is clearly defined - a feature is missing, a workflow is clunky
- The existing software fundamentally fits and is accepted by the team
- The fix stays maintainable and isn't a fragile workaround
- The cost of the fix is significantly below the cost of switching systems
New software makes sense when:
- Multiple fundamental requirements aren't covered
- The existing system is no longer being developed
- The architecture structurally doesn't fit - e.g. no API, no multi-tenancy
- The effort for workarounds exceeds the license costs
Conclusion
This example is deliberately small. It's not about a revolution, but about an attitude: before looking for new software, it's worth taking a close look at what you already have.
We use this fix ourselves every day. It saves us time and frustration. And it cost us nothing beyond a few hours of analysis and development.
The module is available for free as open source on the Odoo App Store - because we believe such a basic workflow fix should be available to every Odoo Community user.
Got a similar problem in your system? Often a single conversation is enough to find out whether a targeted fix is possible - before thinking about expensive alternatives.