Guides & Tutorials

How We Transformed Our B2B Sales with Odoo CRM Outreach

Case study: How Balane Tech structured its own outbound sales with a self-built Odoo module – from spreadsheet chaos to a campaign system.

Jonas Hottler
January 27, 2026
10 min read time
odoocrmvertriebb2b-salesoutreachcase-studysales-automation
How We Transformed Our B2B Sales with Odoo CRM Outreach - Guides & Tutorials | Blog

How We Transformed Our B2B Sales with Odoo CRM Outreach

This is not a marketing piece. It's an experience report about how we, as a tech agency, restructured our own outbound sales in Odoo CRM – and why we built a module for it.


The Starting Point

Balane Tech is a software agency. We build custom solutions, automations, and modules. Like most tech service providers, we depend on active outbound – clients don't come to us on their own.

Our CRM runs on Odoo Community. Pipeline management works well there. But for outbound sales, the tools were missing.


The Problems We Had

No Campaign System

We had no way to assign leads to a campaign. "Which lead belongs to the Q4 DACH campaign?" – this question could only be answered through Excel or notes.

Follow-ups Were Forgotten

Without a reminder system, follow-ups slipped through. A lead was contacted once, then forgotten. Statistics show: 80% of positive responses come after the second or third contact.

Manual Tracking in Excel

We maintained parallel Excel sheets: Who was contacted? Which step? When is the follow-up? This worked for 20 leads. At 200, it was unsustainable.

No Overview of Sales Status

The Odoo pipeline shows opportunity stages. But "Where does this lead stand in which outreach campaign?" was not visible. Pipeline and outreach are two different things.

Sending Emails One by One

Each email had to be composed individually. With 50 leads per campaign, that meant: open template 50 times, manually replace placeholders, send.


The Solution: Our Own Module, Built from Our Own Need

Instead of switching to an external tool, we built the module ourselves. The reason: we wanted to keep data in Odoo and adapt the workflow exactly to our process.

What We Built

CRM Outreach Campaigns – an Odoo module with:

  • Campaigns with name, code, language
  • Multi-step email sequences with configurable wait times
  • 6 campaign-specific lead statuses (New, Contacted, Replied, Positive, Not Now, Dead)
  • Multi-sender with custom SMTP servers and signatures
  • 20+ placeholders ({{ first_name }}, {{ company_name }}, {{ sender_name }}, etc.)
  • GDPR-compliant Do-Not-Contact function at 3 levels
  • Placeholder check wizard before sending
  • Automatic mail queue cleanup

The dashboard shows at a glance where every lead stands in every campaign.


Concrete Improvements

Campaign Structure Instead of Ad-hoc Contacts

Every outreach now has a name, a code, and a clear sequence. "Q1-DACH-SaaS" is a campaign with 3 templates, 200 leads, and measurable results. No more Excel tracking.

6-Status System for Clarity

Every lead has a clear campaign-specific status. In the morning, we open the dashboard and see: 15 due follow-ups, 8 new replies, 3 positive signals. No questions needed.

Follow-up Discipline

With configurable wait times (initial_delay_days, followup_days), we no longer forget follow-ups. The system shows which leads are due.

Multi-Sender for Deliverability

Each team member sends from their own address with their own signature. Recipients see a real person, not a generic company address. This measurably improves open rates.

GDPR Under Control

When someone says "please stop contacting us," one click on Do-Not-Contact – and the block cascades automatically across lead, contact, or company. With reason and timestamp.

Lead Tracking The daily workspace: status, due emails, and next steps.


The Result

What concretely changed:

  • Better overview: Dashboard instead of Excel. Always visible where every lead stands.
  • Fewer forgotten leads: Follow-ups are triggered by the system, not by memory.
  • Structured process: Campaigns instead of individual actions. Measurable, repeatable, scalable.
  • Compliance without effort: GDPR-compliant blocking in one click.
  • Data stays in CRM: No synchronization, no external tools, no fragmented history.

Why We Published It

The module solves a problem every B2B team on Odoo has. That's why we published it in the Odoo App Store:

Built on Odoo 18 – versions for Odoo 17 and 19 coming soon.


Conclusion

Switching from "Excel + manual emails" to a campaign system in Odoo didn't revolutionize our sales – but it made them significantly more structured. Less falls through the cracks, more gets followed up on, and the overview is always there.

If you use Odoo CRM for B2B sales and have similar problems: this module was born from exactly this situation.

👉 More details about the module 👉 Keep your sales overview in Odoo CRM

Tags

odoocrmvertriebb2b-salesoutreachcase-studysales-automation