Build vs Buy CRM: The 6 Questions We Ask Before Quoting a Custom Build
Most business owners approach the build-vs-buy question backwards: they look at costs first and workflow fit second. At Rain, we run a 6-question checklist on every discovery call before we quote a single dollar. Here's what those questions are and what your answers actually signal.
Most business owners arrive at the build-vs-buy question backwards. They start with a pricing page, see what HubSpot or Salesforce charges per seat, panic a little, then start Googling "custom CRM cost" to see if that's actually cheaper. That's understandable, but it's the wrong sequence.
At Rain Automation, we've scoped over a dozen custom CRM builds for small businesses. Before we talk about price on any of them, we walk through six questions. These aren't theoretical checkboxes from an analyst's playbook. They're the actual questions we ask on our first call, because how you answer them tells us more about whether you should build or buy than any cost table.
If you're evaluating this decision right now, work through these yourself. By the end, you'll have a clearer read on which direction makes sense for your team.
Why Most Build-vs-Buy Guides Get This Wrong
The guides you'll find on this topic are almost universally written from one of two perspectives: an offshore development shop quoting $150K to $1M+ for a custom build, or a SaaS-vendor-adjacent blog nudging you toward off-the-shelf tools. Neither of those is written by someone who actually runs discovery calls with 5- to 20-person businesses.
If your team is 10 people with an unusual sales process, the enterprise procurement framework doesn't apply to you. A mid-range custom build for a team your size might run $35,000 to $80,000 based on Rain's actual project history. Annual maintenance typically runs 15% to 20% of the initial build cost. That math looks completely different from the $150K figure you see on most comparison posts, and it deserves a real evaluation rather than a reflexive assumption that custom is out of reach.
About 40% of the people who contact Rain about a custom CRM are told that SaaS still wins for their situation. The goal here isn't to steer you toward a build. It's to give you the same framework we use to figure out which answer is actually right.
Question 1: How Many People Will Actually Use This System Every Day?
User count is the most direct input into the cost side of this decision, and it's often where the math shifts fastest.
HubSpot Sales Hub Professional runs $90 per seat per month billed annually. Salesforce Sales Cloud Professional is around $80 per seat per month. At 5 users, you're looking at $5,400 to $6,480 per year. That's cheap enough that a custom build almost never pencils out at that scale.
But the numbers change quickly as you add seats:
| Team Size | HubSpot Pro (Annual) | 3-Year Total (10% YoY increase) |
|---|---|---|
| 5 users | $5,400/yr | ~$17,900 |
| 10 users | $10,800/yr | ~$35,800 |
| 15 users | $16,200/yr | ~$53,700 |
| 20 users | $21,600/yr | ~$71,600 |
Both HubSpot and Salesforce have increased pricing in 2023 and 2024, and a 10% annual increase is a conservative assumption for the next three years. At 20 users, you're looking at roughly $71,600 in SaaS spend before add-ons, before professional services, and before the integrations that get quoted separately.
Rain's own 3-year comparison data shows a 10-user team sitting at roughly $54,100 in SaaS cumulative cost versus $61,600 for a custom build, a gap that doesn't favor building. At 20 users, the comparison flips decisively: approximately $168,200 in SaaS spend versus $100,100 for a custom build.
The signal: under 8 users with a fairly standard workflow, buy. At 12 users or more, or if you're growing fast and adding seats regularly, the 3-year number deserves a real comparison before you sign another annual contract.
User count alone doesn't make the decision. It's one of six inputs.
Question 2: Do Your Pipeline Stages Map Cleanly to Any Existing SaaS?
This is Rain's primary diagnostic for workflow fit, and it's where we find the most useful signal on a discovery call.
Try this: list out your actual pipeline stages, the ones your team actually uses to track a deal from first contact to close. Then open a HubSpot or Salesforce trial and try to map those stages into the system without modifications.
We see a consistent set of warning signs in discovery calls:
- More than 7 pipeline stages, some of which are conditional on deal type or service category
- Custom fields that vary by segment (residential vs. commercial, for example, or service type)
- A spreadsheet living alongside the CRM because the CRM stages don't match how the team actually works
- Pipeline stages with names like "Pending Internal Review" or "Hold - Awaiting Custom Quote" that only exist because the SaaS can't model the real workflow step
That last one is what we call the workaround stage diagnostic. If your team has invented stage names to describe states the CRM doesn't actually support, that's a strong build signal. The SaaS isn't modeling your process. You're contorting your process to fit what the SaaS can do.
One of our clients, a residential cleaning company with 8 employees, told us on the first call that they had 3 deal stages. By the end of the discovery audit, we'd mapped 7 distinct stages that reflected how they actually tracked jobs from inquiry to recurring booking. The SaaS they'd been using collapsed 4 of those stages into one, which is why their team wasn't using it consistently.
The signal: if you can map your process to a standard SaaS pipeline in under an hour without workarounds, buy. If it takes a consulting engagement to configure the SaaS to approximate your workflow, you're paying implementation cost without getting ownership. At that point, the customization cost often approaches what a clean custom build would cost, without the portability or control.
Professional services firms, including law firms, consultancies, and agencies, hit this wall faster than most. Their pipelines track matters, retainers, and projects rather than linear sales deals, which means the workaround stage count can reach seven or eight before anyone realizes the CRM is no longer modeling the actual workflow. For a detailed look at how generic CRM pipelines fail professional services workflows, we've covered the specific structural mismatches in a separate post.
Question 3: What Integrations Are Non-Negotiable?
Every business has at least one system the CRM needs to talk to. For most of Rain's clients, it's a combination of a field service or job management tool (Jobber is common), an accounting platform (QuickBooks Online most often), a scheduling system, and sometimes a phone system or quoting tool.
The question isn't whether integrations exist. It's whether the native connectors actually do the job at the pricing tier you're on.
Red flags we see regularly:
- The integration you need requires a Zapier chain that someone on your team rebuilds whenever it breaks, which is once or twice a month
- No native connector exists for your industry-specific tool, so a developer would have to build a custom webhook regardless of whether you're on SaaS or custom
- The integration requires bi-directional real-time sync that the SaaS doesn't support below their enterprise tier
A Zapier subscription to connect your CRM to your quoting tool, job system, and accounting platform runs $500 to $800 per year at a minimum, plus developer time every time one of those zaps breaks. That's a recurring cost that belongs in your buy-side total cost of ownership calculation, not a footnote.
For our HVAC client in Metro Atlanta, a 12-person team that had been on Salesforce, the non-negotiable integrations were Jobber, QuickBooks Online, and Google Calendar. Salesforce supported all three via third-party connectors, but maintaining those connectors had cost the team hours of troubleshooting and one significant data sync failure over the previous year. In the custom build, those integrations were first-class citizens written directly into the system. When something breaks, it's on Rain's side to fix it, not the team's side to debug a Zapier chain.
If you're already running workaround automations to compensate for what the SaaS can't do natively, those costs belong in your build-vs-buy math. For more on how automating your customer lifecycle fits into a CRM decision, we've covered that in a separate post.
The signal: native, stable integrations that work as advertised at your pricing tier? Buy. A chain of third-party connectors or a custom webhook project? That's already custom development. Factor it into the comparison honestly.
Question 4: What Does the 3-Year SaaS Cost Look Like vs. a One-Time Custom Build?
This is where most people start. We put it fourth because the math only makes sense after you know your user count, workflow fit, and integration requirements.
Let's use a concrete scenario: a 12-person team considering HubSpot Sales Hub Professional.
- Year 1: 12 users x $90/month x 12 months = $12,960
- Year 2 (10% increase): $14,256
- Year 3 (10% increase): $15,682
- 3-year total: approximately $42,898
That number doesn't include add-ons (reporting, operations, or marketing hubs that you'll probably need), professional services for setup and configuration, or the cost of any integrations that require third-party middleware.
For comparison, a mid-range custom CRM at Rain runs $35,000 to $80,000 depending on complexity (pipeline stages, integrations, automation rules, data migration). Annual maintenance runs 15% to 20% of the initial build cost. A $45,000 build with $8,000 per year in maintenance lands at $61,000 over 3 years. That's within striking distance of the SaaS number before you account for add-ons.
At 20 users, the comparison isn't close. The SaaS cost climbs to roughly $168,200 over 3 years. A scoped custom build for the same team with clean integration requirements comes in well below that.
Our lean MVP tier starts at $18,000 to $35,000 for a focused system with limited integrations and a defined pipeline. Teams sometimes come in expecting a six-figure quote because that's what they've read online. The $150K to $1M figures floating around the internet are for enterprise systems built by large agencies with 12-month timelines and 50-person governance committees. That's not what Rain builds and not what most 5- to 20-person businesses need.
The signal: run the 3-year number including add-ons and integration costs. If the SaaS total is within 30% of a realistic custom build quote, the ownership and workflow benefits of a custom system deserve serious weight in the comparison. For the complete formula, including the workaround hours and integration spend most teams leave out, see Rain's walkthrough for turning these numbers into an ROI calculation.
Question 5: Who Owns Your Data If You Cancel?
This is the question most SaaS buyers never ask until they need to leave. By then it's expensive.
Here's what the export situation actually looks like on the major platforms:
HubSpot allows CSV exports of contacts, companies, and deals. What it does not export: automation workflow logic, custom object relationships, email sequence rules, or the conditional logic built into your pipeline. You get the records. You don't get the process.
Salesforce has similar limitations. The configuration that makes your instance work, your workflow rules, your approval processes, your field dependencies, lives in the system in a proprietary format. Moving to a new system means rebuilding that logic from scratch, not importing it.
Some platforms also throttle export speeds or require paid plans to export certain record types. The fine print matters.
There's also vendor acquisition risk. Zillow acquired Follow Up Boss in 2023, a popular CRM with a specific audience and a product roadmap that matched that audience's needs. After acquisition, product priorities shift to serve the acquiring company's strategy, not the customers who were already there. Salesforce acquired Slack and changed the product's trajectory. If your CRM contains the process logic that defines how your business wins deals, that logic is now dependent on someone else's priorities.
A custom-built system on a standard relational database (Rain uses PostgreSQL) gives you full portability. The data is in an open format. There are no export fees. You can move to a new host, bring in a new developer, or run the system internally. The process logic is documented code, not a platform configuration.
This matters more than most buyers realize. If your CRM contains only contact records and basic deal stages, the lock-in risk is low. If it contains the conditional logic, automation rules, and relationship structures that reflect how your team actually works, the platform owns a significant piece of your operational IP.
The signal: if your CRM is mostly contact storage and basic pipeline tracking, portability isn't a big concern. If the system contains process logic that's central to how you work and win, think hard about what it would cost to leave the platform in 3 or 4 years.
Question 6: How Often Does Your Sales Process Change?
SaaS CRMs update their platforms on their own schedules. Sometimes those updates improve things. Sometimes they move features behind a higher tier or change how something works just when your team had it dialed in.
But that's a secondary issue. The more important question is how often your own process changes.
If you're adding product lines, shifting market segments, building out new service tiers, or refining how your team handles deals based on what's working, your process is evolving. In a SaaS CRM, a process change means a configuration change constrained by what the platform supports at your pricing tier. A new pipeline stage is easy enough if the platform allows it. A new field type that doesn't exist in the SaaS's data model isn't.
In a custom build, a process change is a development ticket. Based on Rain's typical scope, adding a pipeline stage, a set of custom fields, or a new automation rule generally runs $500 to $2,000 to implement. That's on your timeline, not the vendor's roadmap, and it's scoped to exactly what you need rather than constrained by what the platform supports.
The tradeoff is real: in a SaaS, configuration changes are usually free and self-serve. In a custom build, you're paying for changes but getting them exactly as specified. Which model is better depends entirely on how often your process changes and how consequential those changes are to how your team operates.
Rain's own threshold for this: if a team tells us their process has been essentially stable for the past two years and they don't anticipate major changes, that's a buy signal even if other factors lean toward building. If the process is evolving quarterly and the changes are competitive (they reflect what's working in the market), owning the system is a meaningful advantage.
The signal: stable, well-mapped process that aligns with what SaaS CRMs do well? Buy. Process that's evolving, competitive, and central to how you win? Owning the system lets you change it when you need to, not when the vendor allows it.
How to Read Your 6 Answers
Here's a simple way to synthesize what you've found:
Lean buy signals:
- Fewer than 8 users
- Pipeline stages map cleanly to a standard SaaS (under an hour, no workarounds)
- Native integrations exist at your pricing tier and they work reliably
- 3-year SaaS cost is under $30,000
- CRM stores contact records and basic deals, not complex process logic
- Process has been stable for at least 18 months
Lean build signals:
- 12 or more users, or growing fast enough to add 3 to 5 seats in the next year
- Custom pipeline logic, conditional stages, or workaround stages in your current system
- Integration chain required, or the integrations you need aren't native at your tier
- 3-year SaaS cost exceeds $50,000 once add-ons and integration costs are included
- Process logic is core to how you win deals, not just how you store contacts
- Process changes quarterly or more often, and the changes are material
If your answers are mixed, you may be a candidate for a hybrid approach. Rain has built systems where a standard SaaS handles contact storage and marketing email sequences, while a custom layer handles the specific pipeline logic that differentiates the business. This is sometimes the right call when the build scope is clearly bounded, the SaaS does part of the job well, and the custom logic only needs to do a specific thing that the SaaS can't handle cleanly.
Hybrid systems are worth considering when the custom scope is tight and the off-the-shelf component is genuinely good at what it does. They're worth avoiding when the integration between the two systems creates its own maintenance burden, which it often does if the data model is complex.
What Happens After You Answer These 6 Questions
If your answers lean toward buying, you don't need a conversation with us. The SaaS route is the right call for a meaningful portion of the businesses that evaluate this question, and we'd rather give you a framework that leads you to the right answer than pitch a build you don't need.
If your answers lean toward building, the next step is a scoping conversation, not a quote. A quote requires understanding your specific pipeline stages, the actual data model, which integrations need to be first-class versus simple, and what your data migration situation looks like. That conversation typically takes about an hour. If you're comparing more than one firm for that conversation, it helps to know the questions worth asking any developer before you sign so you can tell a real discovery process from a sales pitch.
Rain's process for every custom CRM engagement starts with a discovery call before any pricing is discussed. We use a 23-question internal workflow audit to map the real pipeline (not the self-reported one), the integration requirements, the user roles, and the data migration scope. Once that's done, we can scope the build accurately and tell you what a realistic timeline looks like. For most SMB teams with fewer than 25 users and fewer than 4 integrations, that's a 4- to 8-week build from discovery to go-live.
The HVAC company in Metro Atlanta went from that first call to a live system in 6 weeks. Their team migrated 3,200 contacts from Salesforce, built out 5 pipeline stages and 28 custom fields, and replaced $9,600 per year in Salesforce Pro Suite fees. The plumbing company in Marietta, a 14-person team, logged 47 deals in the first 2 weeks after launch. They'd previously abandoned HubSpot because the pipeline stages didn't match how their team actually scheduled and dispatched jobs.
Both of those started with the same 6 questions you just answered.
If your answers point toward a custom build and you want to talk through the scope, get in touch. We'll start with a discovery call, not a sales pitch.
If you want to understand more about what Rain builds before starting a conversation, that's a good place to start.