Buy a CRM when your sales process looks like everyone else's and your team stays under a few dozen seats. Build one when the CRM is your operation: odd deal stages, heavy links to your own systems, or seat fees that grow faster than revenue. Run the 5-year cost math before deciding either way. If the math says build, start with a CRM built around your own sales process.
Below you get vendor prices with sources, a calculator you can fill in with your own numbers, and two checklists. The goal is a decision you can defend to a CFO. Gut feel doesn't count.
Short answer
Most teams should buy. A standard pipeline of leads, qualification, proposal and close runs well on a configured SaaS product. Salesforce and HubSpot have solved that flow for years.
Custom starts to pay off in two situations. The first is scale: per-seat fees multiply by headcount, while a custom system's running cost barely moves when you add users. The second is fit: when your process has no analogue in a standard pipeline, you pay for the SaaS product and then pay again to bend it.
Two lines from the calculator below sum it up. On the illustrative numbers, a custom build breaks even with Salesforce Core at about 20 seats. Against HubSpot Sales Hub Professional, break-even moves out to about 49 seats. Your numbers will differ, yet the method holds.
What you actually pay for with Salesforce and HubSpot
The sticker price is per seat, per month. Everything else sits around it.
Salesforce: As listed on salesforce.com on September 30, 2026, Sales Cloud editions run from a Free Suite at $0 through Starter Suite at $25, Pro Suite at $100, Core at $195, Advanced at $395 and Max at $550 per user per month. Pro Suite and above are billed annually. On Pro Suite, the Web Services API is listed as an extra $25 per user per month. That matters, because most integrations with your own systems need the API.
HubSpot: As listed on hubspot.com on September 30, 2026, Sales Hub Starter starts at $7 per seat per month on annual billing and $20 on monthly billing. Professional starts at $90 per seat per month billed annually, or $100 on monthly payment with an annual commitment. It also requires a one-time onboarding fee of $1,500. Enterprise starts at $150 per seat per month, plus a required $3,500 onboarding fee.
API limits: every integration spends API calls, and each vendor caps them. Salesforce's Developer Limits and Allocations quick reference sets Enterprise Edition orgs at 100,000 API requests per 24 hours, plus 1,000 per Salesforce license, plus any purchased add-ons (as of September 30, 2026, per the PDF edition of that reference). HubSpot's API usage limits give privately built apps 250,000 calls a day on Free and Starter, 625,000 on Professional and 1,000,000 on Enterprise, with a burst cap of 100 or 190 calls per 10 seconds (checked September 30, 2026). HubSpot also sells a paid limit increase for heavier use.
For a sales team syncing a website and an email tool, those limits are generous. For a CRM that mirrors orders from a warehouse system every few minutes, they become a design constraint. Check before you commit.
Then come the costs no pricing page shows. A partner or consultant for setup, paid marketplace apps, admin time every month. And seat growth: every hire adds a line to the invoice.
The 5-year cost calculator
Fill in the formulas with your own quotes. Use the same five years on both sides. Five years is long enough for seat growth to show.
Formula A: buy (SaaS)
| Line | Formula | Where the number comes from |
| Licenses | seats × price per seat per month × 60 | vendor pricing page, your edition |
| Seat growth | added seats × price × months remaining | your hiring plan |
| Onboarding and setup | vendor fee + partner quote | vendor page, partner estimate |
| Add-ons | paid modules + API add-ons + marketplace apps, × 60 | vendor page |
| Admin | admin hours per month × hourly rate × 60 | your payroll or contractor rate |
| Total | sum of the lines |
Formula B: build (custom)
| Line | Formula | Where the number comes from |
| Build | fixed estimate for the first release | contractor estimate after a brief |
| Hosting | monthly hosting × 60 | cloud provider quote |
| Support | support hours per month × hourly rate × 60 | contractor or in-house rate |
| Changes | budget for new features over 5 years | your roadmap |
| Total | sum of the lines |
Break-even seat count
Split the SaaS total into a fixed part and a per-seat part, then solve for seats:
break-even seats = (custom 5-year total − SaaS fixed costs) ÷ (price per seat per month × 60)
Above that seat count, custom costs less over five years. Below it, buying wins on cost alone.
Worked example (illustrative numbers)
These figures are illustrative numbers, picked only to show the arithmetic. None of them is a quote. Only the per-seat prices come from vendor pages, as listed on September 30, 2026.
- SaaS fixed costs: partner setup $30,000 + admin 10 hours a month at $100 an hour for 60 months ($60,000) = $90,000. HubSpot swaps the partner fee for its $1,500 onboarding: $61,500.
- Custom total: build $150,000 + hosting $400 a month ($24,000) + support 25 hours a month at $100 ($150,000) = $324,000.
| Seats | Salesforce Core, $195 | HubSpot Professional, $90 | Custom (illustrative) |
| 10 | $207,000 | $115,500 | $324,000 |
| 20 | $324,000 | $169,500 | $324,000 |
| 50 | $675,000 | $331,500 | $324,000 |
Salesforce Core break-even: ($324,000 − $90,000) ÷ ($195 × 60) = 20 seats. HubSpot Professional: ($324,000 − $61,500) ÷ ($90 × 60) ≈ 49 seats. Seat count decides it.
Two cautions apply: custom money goes out early, while SaaS money spreads evenly. So in year one, custom always looks worse. Also, the example ignores list price changes. Vendors revise pricing, so rerun the math each renewal.
When custom wins
Cost is half the argument. Fit is the other half. Custom wins when several of these conditions hold, so tick the ones that apply to you:
- Your deal flow has no standard shape. Think freight quotes that change per leg, or brokerage deals with three parties and split commissions.
- Field staff work from the CRM on the road, often offline, and need a lean mobile screen.
- The CRM has to talk to production or a warehouse in near real time. Stock, capacity and delivery dates drive the sale.
- Compliance requires data to stay in infrastructure you control, with an audit trail you design.
- Your seat count sits above the break-even from the calculator, and it keeps growing.
- You already pay for three or more add-ons to patch gaps in the SaaS data model.
- Your admins spend more time on workarounds than on reports.
- The sales process is the product. Lending, logistics and regulated sales fall here.
Three or more ticks is a strong signal. Five or more, and a custom build deserves a real estimate.
A distributor whose reps promise delivery dates needs live warehouse data inside the deal. A field service company needs offline job cards. A brokerage needs deals with several parties and split commissions. In each case, the SaaS version works, but only after heavy customization that someone must maintain.
Custom also moves risk to you, because you own the data model outright. That means you also own upgrades, backups and access control. Budget for them in Formula B.
When buying wins
Buying is the default for good reason. Vendors spread years of product work across a large customer base. Buying wins when most of these conditions describe your company:
- Your pipeline is a standard B2B funnel: lead, qualified, proposal, won or lost.
- The team is small, and the break-even from the calculator sits far above your seat count.
- You need to launch in weeks.
- Your integrations are mainstream tools that already have connectors.
- Adoption, rather than missing features, is the main risk.
- Nobody in the company can own a software product for five years.
Point 6 is often skipped. A custom CRM needs an owner: someone who sets priorities, accepts releases and pays the support invoice. Without that person, it decays fast.
A small team with a normal funnel should buy, configure and move on. Spend the saved money on sales.
The middle path: extend a SaaS CRM
There is a third option: keep the vendor core, and build only the parts that make your business specific.
- Custom objects and fields: Both vendors let you model extra entities inside the CRM. This covers many "we're different" cases at low cost.
- Apps on top of the API: A pricing calculator, a production queue or a partner portal can live beside the CRM and talk to it over the API. The core keeps getting vendor updates. The custom part gets its own interface instead of a crowded page of custom fields.
- An external portal: When customers need to see orders, invoices or quotes, a portal reads from the CRM. Plan its scope with this list of customer portal features.
The trade-off is API spend: each app adds calls against the daily limits above, so size them early.
Much of the value also sits in automating the workflows around your CRM: routing leads, syncing invoices, chasing overdue follow-ups. That work pays off whether you build or buy.
Data ownership and exit
Every CRM decision is also an exit decision. Ask how you would leave before you sign.
On Salesforce, the built-in Data Export Service lets you export backup files once every 7 days on Enterprise, Performance and Unlimited editions, or once every 29 days on others. Files stay available for 48 hours after the export completes, per the Salesforce Data Export FAQ (checked September 30, 2026). Miss the window, and you wait for the next cycle.
Exports give you records, yet they rarely give you logic. Workflows, automations, formula fields and page layouts don't travel as data. When you switch vendors, you rebuild them. That rebuild costs real money.
A custom CRM flips this. The database is yours from day one. The risk moves to people: if the team that built it leaves, you need clean code, documentation and access to every repository.
If you migrate, whichever way, treat it as the riskiest step. Missing history tends to surface months later. When Toimi handles the switch, we map fields before moving anything, migrate into a staging instance first, and keep the old system readable until reconciliation passes. Duplicates get resolved by rule. Deal history and attachments carry over along with contacts.
FAQ
How long does it take to build a custom CRM?
It depends on scope, so get a timeline from a written estimate. A first release usually covers contacts, deals, one pipeline and the one or two integrations that justify building at all. Everything else can ship in later phases. A phased rollout also lets the sales team adapt while the old system stays readable.
Can a custom CRM use AI features like Salesforce or HubSpot?
Yes, but you pay for them separately. A custom system can call any AI model through its API, for lead scoring, email drafts or call summaries. You choose the model and control where the data goes. The cost moves from a per-seat add-on to per-call usage fees, so add that line to Formula B.
Is it cheaper to start with HubSpot and build later?
Often, yes, if your process is standard today. Starting on SaaS gives you real usage data, clean records and a clear list of gaps. If the gaps grow, you build with a proven spec. Keep your data exportable and avoid deep, vendor-only automations. Those are what make a later move expensive.
What should a CRM requirements checklist include?
It should list entities, stages, roles and integrations before any feature ideas. Write down every record type, every deal stage with its exit rule, who can see and edit what, and each system the CRM must sync with. Add expected seat counts for five years. Keep it to two pages. That list drives both the calculator and the estimate.
Who owns the code if we build a custom CRM?
You should, and the contract should say so. Ask for full code ownership, repository access and hosting in an account you control. Also ask for documentation of the data model and deployment steps. Without those, a custom CRM carries a different kind of lock-in than SaaS.