Why we built our own CRM instead of renting one
For a consulting firm, a CRM is not just another tool. It is the memory of the sales team. Two months ago we decided what that memory should look like from now on, and we decided against renting it. Here is the reasoning, with numbers.
Where we started
Our customer data lived where it lives in many companies: in SharePoint lists that had grown over the years, in Excel, in people's heads. That works until you want to know how long a deal really sits in a stage. The classic route would have been to license an established CRM. We did the maths instead.
Renting is not a project, it is a standing cost
The difference is not the price of the first year but the shape of the cost. A licence is a liability with no end date that grows with every new hire and every price change. An own build is a one-off investment plus a modest running cost.
A worked example with the cards on the table, the same one behind the calculator on our Launchpad page: 50 users, four SaaS tools replaced at a combined €65 per user per month, comes to €39,000 a year. Against that: €50,000 for a one-off build and €5,000 a year to run it.
- Renting: 50 users × €65 × 12 months
- €39,000 / year
- Own build: one-off
- €50,000
- Own build: operations
- €5,000 / year
- Break-even
- just under 1.5 years
€195,000 in licences against €75,000 for the own build, with licence prices held flat.
After just under a year and a half, the own build has paid for itself. Over five years, around €120,000 is left over, and that is with licence prices held flat. Factor in the usual increases and the figure is considerably higher: Zylo's SaaS Management Index reports a 21.9 percent rise in SaaS spend per employee for 2025.
We worked through what this looks like at a larger scale with an M&A due-diligence application: seven tools become one app.
Software should bend to the process
Every off-the-shelf CRM comes with a worldview. You are not just buying features but an idea of how sales ought to work, and you adapt your own work to it. Our weekly sales call, our budget planning in person-days, our campaign lists with freely definable fields are not special requests. They are how we work. Today the system reflects that.
The data stays in-house
The CRM runs entirely in our own Azure tenant: sign-in through Entra ID, secrets in Key Vault, managed security, GDPR compliance from day one. For a firm that works with client data, that is not a detail but a precondition. How this setup works in detail is described under Your tenant. Your controls. Your data.
The code is ours, and it is getting smarter
No lock-in, no discontinued feature, no price increase you accept because moving would cost more. Above all, though: a rented CRM never gets any smarter than its vendor intends. Ours does. This is what we are working on right now:
- Master data that maintains itself, with company data from official registers and a gap list for everything that is missing or out of date.
- A signal when a contact changes company or role, together with a suggested next step.
- Meetings that log themselves: calendar, email and Teams transcripts become activities without anyone catching up in the evening.
- A suggestion for the next sensible step, and a win probability that explains its drivers instead of asserting a number.
- Campaigns and outreach that run on their own: multi-step sequences, personalised templates, tracking and reporting. Campaign management is already in place and is run manually today.
For all of this we follow a rule we set ourselves: the AI suggests, people decide. No automatic sending, no automatic overwriting of curated data. That is exactly the advantage of an own system: we decide where automation stops. That no model is hard-wired into it follows the same logic: Every model. No lock-in.
What the subscription doesn't include
What stands out is what these features cost on top with rented systems. Campaign automation, meaning mailings to lists with nurturing and reporting, is a separate product with its own licence alongside the CRM at each of the three largest vendors. List prices range from the high hundreds to the thousands per month.
More important than the amount is the billing logic: you pay not per user but per contact in the database. A well-maintained CRM therefore becomes systematically more expensive than a neglected one. Sequences for personal sales outreach are, depending on the vendor, tied to the top editions or cost extra per user.
With an own build, the question does not arise. The feature is part of the system, and the volume of data costs what storage costs.
How long it took
The first clickable version was up within a few days. After that, development took 23 days spread over two months, alongside day-to-day business. Today: 48 API endpoints, 20 screens, a pipeline with stage history, tasks, activities, campaigns, global search, a weekly sales call view, notifications in Teams. Our real data is migrated and the old system is retired.
What makes this possible is AI-assisted development, steered by experienced developers. AI on its own produces software that falls apart at the second release. Developers on their own need time that nobody has any more. The combination is what makes the difference. More projects built this way are under Not a promise, a result.
When renting is still the better answer
An own CRM is not a weekend project, even if it comes close. It needs a clear picture of your own processes and someone who takes responsibility for architecture, security and quality. Below roughly 50 users, or when only a single standard tool is being replaced, renting still pays off. That calculation is worth doing honestly before you start.
We could have offered our Launchpad to clients without ever using it ourselves. That seemed like the wrong order.
Wondering whether this applies to you?
The calculation takes one conversation: how many users, how many tools, how specific the process.
Book an appointment