Key takeaways
- A focused CRM MVP takes roughly 490 to 980 hours; a typical mid-size CRM 610 to 1,260 hours; a complex one with accounting, ERP and mobile 1,330 to 2,760 hours.
- Team location changes the bill more than any single feature: the same hours cost about twice as much at US onshore rates as at Eastern European rates.
- Integrations, data migration and permissions are the cost drivers buyers underestimate most; a two-way accounting sync alone can take 120 to 240 hours.
- Budget roughly 15 to 20% of the build cost per year for maintenance and changes, plus hosting.
- Custom beats per-seat SaaS over five years mainly for larger teams with unusual processes; for 10 users a subscription is almost always cheaper.
A custom CRM typically costs between $17,000 and $221,000 with an Eastern European team, and between $39,000 and $442,000 with a US onshore team, depending on how many modules and integrations it needs. A typical mid-size CRM with contacts, a deals pipeline, tasks, email sync, roles, reports and data migration lands at about $21,000 to $101,000 at Eastern European rates.
We are engineers who build CRMs, ERPs and the integrations between them, so the numbers below follow how engineers break a CRM into modules and hours. Treat them as planning ranges, not a quote. Hours are our estimates for a typical scope; hourly rates are market ranges from third-party surveys: 2026 outsourcing rate surveys put Eastern Europe at about $35 to $80 per hour, North America at $80 to $180 or more and South and Southeast Asia at about $25 to $60. We use $80 to $160 for US onshore.
Cost at a glance
| Project size | Typical scope | Effort (hours) | At Eastern Europe rates | At US onshore rates | Calendar time |
|---|---|---|---|---|---|
| MVP | Contacts, pipeline, tasks, roles, basic reports, deployment | 490-980 | $17k-$78k | $39k-$157k | 9-17 weeks (2 engineers) |
| Mid-size | MVP plus email and calendar sync, dashboards, data migration | 610-1,260 | $21k-$101k | $49k-$202k | 7-14 weeks (3 engineers) |
| Complex | Mid-size plus quotes, tickets, automation, accounting and ERP sync, web forms, mobile | 1,330-2,760 | $47k-$221k | $106k-$442k | 12-23 weeks (4 engineers) |
Costs are hours multiplied by the low and high ends of each rate band. Calendar time assumes about 30 productive hours per engineer per week. The ranges overlap because a senior team at the top of a cheaper band can cost more than a junior team at the bottom of a pricier one; the band matters less than who is in it.
The spread inside each row is real. The low end assumes clear requirements, a simple data model and clean data. The high end assumes requirements that change during the build, messy imports and stricter testing.
What drives the cost
1. Number of modules. Each module is a set of screens, records, rules and tests. Contacts and a pipeline are the core; quotes, support tickets and automation each add 80 to 200 hours.
2. Integrations. This is where estimates slip most. A one-way website form feed is small. A two-way sync with QuickBooks or an ERP needs ID mapping, conflict rules, retries and reconciliation, and can take 120 to 240 hours on its own. Our guide to two-way QuickBooks sync design explains why. Email and calendar sync with Gmail or Outlook is also bigger than it looks, because of OAuth, threading and matching emails to contacts.
3. Data migration. Moving 5,000 clean rows from one spreadsheet is a few days. Merging three sources with duplicates, free-text fields and broken relations is weeks. Ask for a sample export early.
4. Roles and permissions. “Sales sees their own deals, managers see their team, finance sees invoices only” is a requirement that touches every screen, every report and every API endpoint.
5. Reporting. A handful of fixed dashboards is cheap. A report builder where users define their own filters and groupings is a product in itself.
6. Multiple entities, currencies or languages. Several brands or legal entities sharing one CRM multiply rules around numbering, currencies, tax and visibility.
7. Mobile and offline. A responsive web app covers most office users. Field sales that need offline access and sync on reconnect need a mobile app or offline-capable web app, which is often 200 to 400 hours.
Use the estimator to price your own scope. Tick the modules you need, then switch the rate band and team size.
Cost by module
| Module | Hours | Notes |
|---|---|---|
| Discovery, UX design and architecture | 80-160 | Always needed; cuts rework later |
| Users, roles and permissions | 60-120 | Grows with the number of roles and record-level rules |
| Contacts and companies | 80-160 | Custom fields, duplicate detection, search |
| Deals pipeline and activities | 100-200 | Stages, kanban, history |
| Tasks, reminders and calendar | 50-100 | Notifications and due dates |
| Quotes and proposals | 80-160 | Pricing rules and PDF templates drive the range |
| Support tickets and customer portal | 100-200 | Portal login and SLAs add most of the effort |
| Workflow automation rules | 80-180 | Fixed rules are cheap; a user-defined rule builder is not |
| Email and calendar sync | 80-160 | Gmail or Outlook, OAuth, matching to contacts |
| QuickBooks or accounting sync | 120-240 | Two-way sync with reconciliation |
| Website forms and marketing tool | 40-80 | Lead capture and list sync |
| ERP or custom API integration | 100-240 | Depends on the other system’s API quality |
| Dashboards and reports | 80-160 | Fixed reports and exports |
| Data migration | 40-120 | Driven by data quality, not row count |
| Mobile app or offline web app | 200-400 | Offline sync is the expensive part |
| Deployment, hosting setup and launch support | 40-80 | CI/CD, monitoring, training |
All hours include design, QA and project management. If a vendor’s estimate shows only development hours, add those on top before you compare.
Running costs after launch
A CRM is never finished. After launch you pay for three things.
Maintenance and small changes. A widely used industry rule of thumb puts annual maintenance at about 15 to 20% of the original development cost. For a $60,000 build that is $9,000 to $12,000 a year. It covers bug fixes, framework and security updates, API changes in connected systems and small requests. Integrations push you toward the top of the range, because QuickBooks, Google and Microsoft change their APIs and auth rules on their schedule, not yours.
Hosting. A web CRM for tens of users on a managed cloud database is a modest monthly line. In our worked example we assume $300 per month. It grows with file storage, search, background jobs and how strict your backup and uptime requirements are.
New features. These are separate from maintenance. Most teams budget them per quarter once they see how people use the system.
Compare that with SaaS, where the main running cost is per-seat licenses. Salesforce’s pricing page lists Pro Suite at $100 and Core at $195 per user per month, billed annually. HubSpot lists Sales Hub Professional from $90 to $100 per seat per month with a $1,500 onboarding fee. Those prices scale with headcount; a custom CRM’s running cost scales with how much you change it.
Custom vs off-the-shelf: the 3-5 year math
Here is a worked example for a 30-person sales and service team over five years.
- Salesforce Core: $195 × 30 users × 60 months = $351,000 in licenses.
- Salesforce Pro Suite: $100 × 30 × 60 = $180,000.
- HubSpot Sales Hub Professional: $100 × 30 × 60 + $1,500 onboarding = $181,500.
- Custom CRM: a $60,000 build (inside the mid-size range at Eastern European rates), plus maintenance at 20% of the build, $12,000 a year or $60,000 over five years, plus hosting at $300 a month, $18,000. Total: $138,000.
Two caveats keep this honest. First, the SaaS figures are licenses only. Implementation partners, admin time and add-ons usually come on top, which widens the gap. Second, the math flips for small teams. At 10 users, HubSpot Professional costs $61,500 over five years and Salesforce Pro Suite $60,000, well below the $138,000 custom total. Over three years the custom option also looks worse, because the build is paid up front while licenses are spread out.
So the price of licenses alone rarely justifies a build. Custom makes sense when your team is large, your process is unusual enough that you would pay to customize Salesforce anyway, or the CRM has to share logic with your own operations systems. Our custom CRM vs Salesforce or HubSpot framework covers the non-price factors. If QuickBooks is the center of your business, compare the options in best CRM for QuickBooks first, and for industry-specific shortlists see best CRM for manufacturing or best CRM for distributors.
How to get an accurate estimate
A range like “$21k to $101k” is useful for a budget conversation, not for a contract. To narrow it:
- List users and roles. Who works in the CRM daily, who only views it, and which records each role owns.
- Map every integration. For each system, write down which records move, in which direction and how often. “Sync with QuickBooks” is not a requirement; “create invoices from won deals and pull payment status hourly” is.
- Export a data sample. A few hundred real rows from each source tell an engineer more about migration effort than any description.
- Separate must-have from later. Ask for the MVP and phase two priced separately. You will usually ship sooner and spend less.
- Pay for a short discovery. One to three weeks of workshops and a clickable prototype turn a range into hours per module, with assumptions written down.
- Compare estimates on the same basis. Check that each vendor includes design, QA, project management and deployment, and states the hourly rate and team composition.
From our work
For a support organization, OSKI built a support system on .NET Core and Vue.js that joins a customer request portal, a kanban board for staff, calendar scheduling and a form builder, with real-time updates. It covers the ticket, portal and automation modules in the estimator above, and the form builder lets the team create new request forms without a developer.
On the operations side, our custom ERP system brings inventory, orders, vendors and purchasing into one .NET 8 and React platform synced with QuickBooks. The client reports 20% faster order fulfillment and 40% faster reporting. Many CRM projects end up needing exactly this kind of link between sales records and stock or invoices.
Smaller jobs count too. For Fairway Divorce, we wrote Umbraco Forms workflows that send website leads to Salesforce and Mailchimp with careful field mapping, the “website forms and marketing tool” line in the estimator. We also run our own team on OSKI Time & CRM, a platform for time tracking, leave, tasks and pay, so we live with the maintenance side of a custom CRM every day.
Where OSKI fits
OSKI is a .NET and React engineering company with a team mostly in Ukraine. We build custom CRMs and ERP systems, QuickBooks integrations and integrations with the tools you already use. Send the estimator selection with a short description of your process and an engineer will reply with a written estimate and the assumptions behind it.
- 610-
1,260 h Effort for contacts, pipeline, tasks, email sync, roles, reports and migration - $21k-
$101k At Eastern European rates ($35-80/h)2026 rate surveys - $49k-
$202k At US onshore rates ($80-160/h)2026 rate surveys - 7-
14 weeks Calendar time with three engineers
Hours are planning ranges for a typical scope; rate bands from 2026 rate surveys. Not a quote.
Illustrative. SaaS bars are list-price licenses only (Salesforce and HubSpot pricing pages, fall 2026), without implementation or admin. Custom bar assumes a $60,000 build, maintenance at 20% of build per year and $300 per month hosting.
- 01 List roles and records
Who uses the CRM and which records they own.
- 02 Map integrations
Every system, direction and record type.
- 03 Sample the data
Export a real slice of what you will migrate.
- 04 Split must-have from later
Price an MVP and a phase two separately.
- 05 Paid discovery
Turn the range into hours per module with assumptions.
Estimate your custom CRM
Pick the modules you need. Hours include design, QA and project management. Change the rate band and team size to see cost and calendar time.




