Which CRM fits a team leaving or weighing HubSpot
Teams usually start this comparison for one of three reasons: seat costs keep climbing as more people need access, a data residency or self-hosting requirement means customer records must stay in infrastructure the organization controls, or tier-based API and feature limits are getting in the way of how the business works. HubSpot fits teams that want a managed CRM with a bundled marketing hub, where the vendor runs the platform and marketing email, forms and reporting sit inside the same product. Frappe CRM fits teams that want self-hosted software under AGPL-3.0, with unlimited users and no per-seat charges, and that are prepared to own the hosting, upgrades and backups that come with that choice.
The decision turns on three questions. First, how much marketing email, lead scoring and campaign reporting the team needs. Frappe CRM covers leads, deals, web forms, Meta lead sync, calling and WhatsApp, but it does not replace a marketing hub, so you will need to choose and run a separate tool for campaigns and check how contact consent and lists move with the data. Second, whether ERPNext is part of the plan. Frappe CRM's ERPNext integration creates quotations and customers from deals, and most of that syncing works only when both apps run on the same site, which makes ERPNext a strong reason to stay in the Frappe stack and a reason to reconsider if it is not. Third, in-house operating capacity. Someone must own installation, backups, upgrades and access rules, or pay a partner to do it. Confirm these points with your own administrators before comparing license terms or hosting quotes.
Which option fits which buying scenario
This table matches common buying scenarios to the option that usually fits best, along with the condition that drives the choice. Read each row against your own team size, channels, marketing needs and data rules, since the condition matters more than the default answer.
| Scenario | Better fit | Condition that drives the choice |
|---|---|---|
| Small sales team wanting a free start | HubSpot CRM free tier | Little or no budget, no self-hosting requirement, and no need yet for Sales Hub automation or paid seats |
| Team needing Meta lead capture and calling in one place | Frappe CRM | Leads arrive from Facebook and Instagram ads and reps call through Twilio or Exotel, so both sit in one self-hosted app with recordings |
| Team needing a marketing hub in the same product | HubSpot CRM with Marketing Hub | Email campaigns, landing pages and lead scoring must live in one product, since Frappe CRM does not bundle a marketing hub |
| Company already running ERPNext | Frappe CRM | Quotations and customers should flow from deals into ERPNext, which works best when both apps run on the same site |
| Regulated buyer with a residency requirement | Frappe CRM self-hosted | Contact data must stay in your own cloud account or data center, and your team can run and patch the stack |
| Buyer comparing per-user pricing | Frappe CRM on Frappe Cloud or self-hosted | Frappe Cloud plans start at 5 US dollars a month per site with unlimited users, per the Frappe CRM product page, so headcount growth does not add seat fees |
| Team relying on WhatsApp for customer contact | Frappe CRM with the Frappe WhatsApp app | WhatsApp is a core channel, and you confirm the Meta Business setup and message templates in your own environment before committing |
| Team needing a deep sales hierarchy and granular roles | Confirm in a trial | Frappe CRM offers Sales User, Manager and Admin roles and hierarchy visibility, so test whether your territory rules fit before choosing |
How Frappe CRM is built and where it runs
Frappe CRM is built on the Frappe Framework, with a Vue-based interface provided by Frappe UI. It runs as an app on a Frappe bench, which means it shares the framework's database, user model, permissions and background jobs with any other Frappe or ERPNext app installed on the same site. The stable v1.x line is compatible with Frappe and ERPNext versions 15 and 16, so the version you choose for the CRM has to match the framework version underneath it. Before you commit, confirm the exact compatibility matrix in the frappe/crm README and check which release your team will pin to.
There are three ways to run it. The first is the easy-install script, which deploys the CRM using the ghcr.io/frappe/crm container image and suits a self-managed server or a cloud virtual machine in your own account. The second is bench, the command-line tooling used for development and customization, which your engineers would use to build, patch and test the app before it goes to production. The third is Frappe Cloud, the hosted option from the same company. Frappe's product page states that Frappe Cloud plans start at 5 US dollars a month per site, with unlimited users and no per-seat charges, billed by usage. Confirm the current plan details and what counts as usage before you budget, because the figure is a starting price and not a total cost.
The hosting decision is also a data residency and exit decision. Frappe's product page says customers are free to self-host or move to another provider, so a Frappe Cloud start does not lock you in. Ask Frappe how a site is exported and restored, and test that restore on a copy of your data. If your organization has to keep contact and deal records inside its own cloud account or data center, the self-hosted paths keep the database and backups under your control, and the operating work (patching, backups, upgrades and monitoring) moves to your team or to a partner under a written scope.
What self-hosting changes for data control and compliance
Self-hosting moves the question of where customer data sits from a vendor contract to your own infrastructure. The four cards below cover where contact and call-recording data lives, how Frappe Cloud differs from running it yourself, how roles and sales hierarchy limit visibility, and the compliance work that stays with your team.
Where contact and call data lives
With HubSpot, contact records, deal history and marketing data sit in HubSpot's regional data centers under HubSpot's terms. With self-hosted Frappe CRM, leads, deals, activities and call logs are stored in the database of the site you run, whether on your own servers, in your cloud account or in a data center you choose. Call recordings come from Twilio or Exotel, so check which provider region stores the audio and whether your retention rules cover those files as well as the CRM records. Confirm backup locations too, since copies often leave the primary site.
Frappe Cloud or self-managed hosting
Frappe Cloud is Frappe's hosted option, with plans that start at 5 US dollars a month per site with unlimited users, according to the Frappe CRM product page. That price covers the hosting service only, and you still decide what data goes into the site. Self-managed hosting uses the easy-install script, the ghcr.io/frappe/crm image or bench, and your team then owns patching, backups, TLS, monitoring and restore testing. Ask Frappe Cloud which data residency options and backup retention apply to your plan before you choose it, and note that the product page says you can move to another provider later.
Role and sales hierarchy access
Frappe CRM uses Sales User, Sales Manager and System Manager style roles, which the documentation describes as Sales User, Manager and Admin. A sales hierarchy limits what each user can see, so a representative sees their own leads and deals while managers see their teams. This matters when you replace HubSpot's team and property permissions, because the mapping is not one to one. Test each role with real account owners before migration, and document who can export records, since exports are the most common route for data to leave the system.
Compliance readiness work you still own
Self-hosting gives you control of the evidence, but it also gives you the work. You will need to define access reviews, change control for upgrades, encryption at rest and in transit, log retention, incident response for the CRM and the telephony integration, and records of processing for personal data in contact fields. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations, so scope the assessment with them before you start.
AGPL-3.0 licensing against HubSpot's tiers
Frappe CRM is published under AGPL-3.0, so the code can be read, run and changed without a per-seat license fee. HubSpot's free CRM and paid Sales Hub tiers are priced on different terms, and the cost of moving up grows with headcount, features and onboarding requirements at higher tiers. A fair comparison puts the license terms next to the full cost of running each option.
- Frappe CRM license: AGPL-3.0 applies to the software, and the license does not tie cost to the number of users. The Frappe CRM source is public for review.
- HubSpot free CRM: the free tier has its own feature and usage boundaries, which differ from paid Sales Hub tiers. List the features your teams use today and check each tier against that list.
- Sales Hub tiers: paid seats scale with headcount, and higher tiers add onboarding fees. Model the seat count for the next three years, not only for today.
- Costs that remain on the Frappe side: hosting, administration time, upgrades and any support contract are still paid, even though the license is free.
Confirm current HubSpot tier terms directly with HubSpot before you build a cost model, because packaging and fees change over time.
AGPL obligations depend on two questions: whether you modify the software, and whether people interact with the modified version over a network. Running the released code unchanged in your own infrastructure raises a different set of questions than changing the code and offering it to staff or customers. Frappe also offers a hosted option on Frappe Cloud, which is a separate commercial service with its own terms.
- Unmodified self-hosting: running the released code without changes does not trigger the source-offer step that applies to modified versions.
- Modified deployments: if you change Frappe CRM and users reach it over a network, the AGPL network interaction clause can require you to offer the corresponding source of your modified version to those users.
- Internal staff access: whether employees who use an internal instance count as users under that clause is a question for your legal counsel, and this page does not settle it.
- Frappe Cloud: the Frappe CRM product page describes per-site plans billed by usage, with unlimited users and no per-seat charges, and says customers can self-host or move to another provider.
- Custom code: integrations and custom apps built on the framework need their own licensing review before you deploy them to users.
Record the planned hosting model and modification pattern in your scope document before development starts, so counsel can review the exact setup.
Procurement teams need a clear view of what each party contracts for. Frappe CRM's license is free to use, but Frappe Cloud is a separate paid service, and self-hosting moves hosting, upgrades and support to your team or a partner. HubSpot subscriptions are governed by HubSpot's own terms, which can change, so each comparison should rest on written terms from each vendor.
- HubSpot terms: request the current subscription, seat and onboarding fee terms in writing, tied to the tier that covers your required features.
- Frappe Cloud terms: request the current plan, usage billing rules, data location and backup terms in writing before you sign.
- Exit terms: HubSpot's export guidance describes export permissions and file formats, so include extraction planning in any exit scope.
- Implementation scope: a fixed-scope written statement of work from an implementation partner should cover hosting, integration, migration and handover, with the quote following from that scope.
- Support and upgrades: the open-source license provides no support commitment, so confirm who applies Frappe CRM releases and under what response terms.
Ask each vendor to confirm these terms in writing and attach the confirmations to the business case before the renewal decision.
Cost components on each side and what drives them
HubSpot charges mostly through seats, Hub tiers and add-ons, while Frappe CRM costs come from hosting or Frappe Cloud usage, implementation and the calling and messaging accounts you hold yourself. Each card separates one-time from recurring spend and names the driver that moves it, so you can ask vendors and partners for quotes on the same basis.
HubSpot seats and Hub tiers
HubSpot's recurring cost is driven by how many users hold paid seats and which Hub tiers they sit in. Sales Hub and Service Hub tiers are priced separately, so a team that adds a service or marketing function can see its bill change even when headcount stays flat. Ask for each seat type and tier by name, the billing term, and the contract minimum. Check which features you depend on are gated by tier, such as custom reporting, sequences or workflow automation.
HubSpot onboarding and add-on fees
Paid HubSpot tiers can carry onboarding fees that are billed once at the start of a contract, and add-ons such as extra contacts, sandboxes or premium integrations add recurring charges. These items are easy to miss in a per-seat comparison. Request every one-time fee and every add-on in writing, and confirm whether each is paid monthly or annually. Note which add-ons would be needed to match calling, web forms or lead sync in your current setup.
Frappe Cloud usage and self-hosting infrastructure
On Frappe Cloud, the recurring platform fee is billed per site with unlimited users and no per-seat charge, and the product page lists plans starting at 5 US dollars a month per site. If you self-host, the recurring cost becomes your cloud or data center compute, storage, backups and the time to patch them. Site count and environment count, such as staging and production, are the main drivers. Ask the provider to state which resources are included, what usage triggers extra charges, and where backups are stored.
Implementation and data migration
Implementation is usually the largest one-time cost on the Frappe side. It covers pipeline and stage design, lead and deal import, web form and Meta lead sync setup, assignment rules and the sales hierarchy that controls record visibility. Migration effort rises with the number of objects, custom properties and years of history you carry over. Ask for the scope in writing, including which HubSpot exports are used, who validates record counts, and whether ERPNext integration is in or out.
Calling and WhatsApp provider accounts
Frappe CRM includes built-in Twilio and Exotel calling with call recording, and WhatsApp messaging runs through the Frappe WhatsApp app. The telephony and messaging charges are billed by those providers under accounts you hold, so they recur with call volume and message volume rather than with seats. Confirm which provider accounts your team needs, who owns the credentials, the per-minute and per-message rates in your region, and where call recordings are stored and for how long.
Support retainers and admin time
Both sides carry internal admin time: HubSpot admins maintain properties, workflows and user permissions, while a Frappe deployment needs someone to handle upgrades, backups, user roles and integration fixes. Optional support or a retainer for upgrades and monitoring is a recurring cost to include on the Frappe side. Estimate admin hours per month for your team size, and ask any partner to quote support hours, response expectations and what is excluded from the retainer.
What a move from HubSpot to Frappe CRM involves
The sequence moves contacts, companies and deals out of HubSpot with their associations intact, then rebuilds the sales process, lead capture and channels in Frappe CRM so the team can work from the new system before HubSpot is switched off. Each step ends with a check you can confirm before moving on.
Inventory objects, properties and active processes
Your team lists every HubSpot object in use (contacts, companies, deals, tickets and any custom objects), the properties that sales reps actually fill in, the pipelines and deal stages, and every active workflow, form, Meta ad connection and calling or messaging integration. Someone from sales operations and someone from the HubSpot admin team should own this list together. It is done when each property is marked as migrate, rebuild or drop, with an owner for each decision.
Export records with associations
An administrator with export permissions exports contacts, companies and deals as CSV or XLSX, including property values and associations. HubSpot allows up to 300 exports in a rolling 24-hour window and up to three running at once, so plan the batches and sequence the objects so that associated records are exported in a consistent order. Check row counts against the portal totals and keep a dated, read-only archive of the exports. It is done when counts reconcile and the archive is stored in your own controlled location.
Map fields to Frappe leads, deals and contacts
Map each HubSpot property to a Frappe CRM lead, deal, contact or organization field, and define how associations become links between those records. Decide how HubSpot lifecycle stages and lead statuses translate into Frappe statuses, and which records become leads and which become deals. Test the mapping on a small sample in a non-production Frappe site first. It is done when a sample of records imports with the expected fields, links and statuses, and the mapping document is signed off by the sales lead.
Rebuild pipelines, views and assignment rules
Recreate each HubSpot pipeline as a Frappe CRM deal pipeline with the same stages, then set up the Kanban and list views your team uses. Rebuild assignment rules so new leads reach the right owner, and configure the sales hierarchy and the Sales User, Manager and Admin roles so visibility matches your current policy. Review the permission model with the people who own customer data before go-live. It is done when a test lead routes to the correct owner and each role sees only the records it should.
Reconnect web forms, Meta lead sync and email
Rebuild each web form as a Frappe CRM web form that creates leads, and reconnect Meta (Facebook and Instagram) ad lead sync using the Meta account and page permissions your marketing team controls. Set up email accounts and the templates your reps use. Submit test entries through every form and confirm each one creates a lead with the right source and owner. It is done when a test submission from each form and each ad source lands in the correct pipeline.
Set up calling and WhatsApp accounts
Configure the telephony provider the team will use (Frappe CRM has built-in Twilio and Exotel calling with call recording) and confirm that call recording storage and retention meet your own policy. Set up WhatsApp messaging through the Frappe WhatsApp app with the business account your organization owns and check each rep's access. Confirm the provider account, phone numbers and any consent rules with your legal or compliance owner before reps start using them. It is done when a test call and a test message are logged to the correct lead.
Decide what marketing email does
Frappe CRM covers sales records, email accounts and templates, but it is not a marketing hub. Decide whether campaigns, newsletters and marketing automation move to another system, such as a self-hosted marketing platform, or pause during the transition. Check the consent and suppression status of every contact before any list is moved, and document what was carried over. It is done when each HubSpot marketing function has a named destination or a documented retirement date agreed with the business owner.
Test, cut over and retire HubSpot access
Run a parallel period in which reps work in Frappe CRM while HubSpot remains available for reference, then compare record counts, open deals and recent activity between the two systems. Freeze HubSpot inputs at a chosen point, run a final incremental export, and switch lead capture to Frappe. Keep the HubSpot export archive and confirm that your retention obligations for it are met before any subscription is cancelled. It is done when the reconciliation report shows no unexplained gaps and sales leadership signs off on the cutover.
What you will rebuild or replace after the move
The biggest gap is marketing. Frappe CRM does not bundle a marketing hub, so HubSpot's email campaigns, lead scoring workflows and landing pages have no direct equivalent inside the CRM. Web forms and Meta lead sync will create leads, but nurture sequences, scoring models and campaign reporting need another tool. Mautic is the usual open-source candidate covered on this site, and you will need to decide how contacts, consent records and campaign membership sync between the two. Reporting is a similar question: Frappe CRM gives you its own views and dashboards for pipeline work, but if leadership reporting spans marketing, finance and service data, plan for a separate BI layer and confirm which fields it can read directly. The ERPNext link needs careful planning. The CRM-to-ERPNext integration creates quotations from deals and can create an ERPNext customer when a deal is marked Won or reaches a chosen status, but most of that syncing only works when both apps run on the same site. If your finance team already runs ERPNext on separate infrastructure, that split will affect your architecture and your upgrade plan, so decide early whether the CRM and ERPNext share a site or whether you accept manual handoffs. Before committing, run a pilot with a copy of your real pipelines. Confirm the Meta lead sync, web form assignment rules and sales hierarchy against your team structure, test Twilio or Exotel calling and WhatsApp with your own accounts, and check how call recordings are stored and who can access them. Ask your Frappe partner or DeployOpen-scoped team to document the marketing and reporting tools you will run alongside the CRM, and get the total list of rebuilt workflows agreed in writing.
Questions buyers ask before switching from HubSpot to Frappe CRM
What does a migration from HubSpot to Frappe CRM cost?
The cost depends on the scope you agree in writing, and no single figure applies to every portal. The main components are the discovery and data mapping work, the export and import of contacts, companies, deals and notes, the setup of pipelines, roles and assignment rules, the hosting and its administration, and any calling or WhatsApp integration you need. Setup work is one-time, while hosting, Frappe Cloud billing if you choose it, and admin time recur. Costs rise with the number of custom properties, the volume of history you keep, and the number of integrations. Ask for a fixed-scope quote that lists each component separately, states what is one-time and what recurs, and names who is paid for hosting and for support.
How long does it take to move from HubSpot to Frappe CRM?
The timeline depends mainly on how much data you move and how many processes you rebuild. A small team with a clean contact list and a single pipeline has far less to map than a portal with years of deals, multiple pipelines, custom objects and integrations. Export limits also shape the plan: HubSpot allows up to 300 exports in a rolling 24-hour window and up to three exports running at once, so large extractions need scheduling. Ask for a plan that separates data mapping, a test import on a non-production site, user acceptance testing and cutover, and confirm which of these sit inside your agreed scope.
Can an internal admin run Frappe CRM after go-live?
Yes, a capable internal administrator can manage day-to-day CRM work such as users, roles, lead sources, assignment rules, email templates and pipeline stages. Frappe CRM provides Sales User, Manager and Admin roles and a sales hierarchy that limits what each user can see, so those settings need careful review. Infrastructure tasks are a different skill set: upgrades across Frappe and ERPNext versions, backups, monitoring, certificates and security patches. Check whether your admin has Linux and Frappe bench experience if you self-host, or whether a managed Frappe Cloud site better suits your team. Ask for a written handover that lists which tasks belong to your staff and which belong to a support retainer.
What does Frappe Cloud cost, and how does it bill?
The Frappe CRM product page states that Frappe Cloud plans start at 5 US dollars a month per site, with unlimited users and no per-seat charges, and that billing is based on usage. That structure differs from HubSpot, where costs grow with each paid seat and Hub tier. Your total depends on the plan you choose, the resources your site uses, and whether you add a support or implementation engagement. Confirm current plan details on the Frappe Cloud pricing pages before budgeting, and ask what happens to usage charges as your user count and record volume grow. If you prefer, the same software can run on your own servers, which moves hosting cost to your infrastructure budget.
Do calling and WhatsApp need separate accounts with Frappe CRM?
Yes, both channels depend on third-party accounts that you hold directly. Frappe CRM includes built-in Twilio and Exotel calling with call recording, so you need an account with the provider you choose and must pay that provider for call and message traffic. WhatsApp messaging runs through the Frappe WhatsApp app, which requires access to the WhatsApp Business platform through your chosen provider, so confirm eligibility, number registration and template approval before go-live. Also check recording consent rules in every country where your staff call. Ask your implementation partner to document each account, who owns it, and the monthly usage cost you should expect.
Can we self-host Frappe CRM without a implementation partner?
Yes, Frappe CRM can be self-hosted with Frappe's easy-install script and the ghcr.io/frappe/crm image, or set up with bench for development. The software is licensed under AGPL-3.0, so you can run it without a license fee. Doing it alone requires competence in Linux, containers, database administration, backups, TLS, and Frappe upgrades, which are tied to Frappe and ERPNext versions 15 and 16 for the stable v1.x branch. A partner adds value when you need a fixed scope, a hardened and documented environment, data migration and integration work, or ongoing support. Ask any partner for a written scope, named deliverables and a clear split between their work and yours.
Will ERPNext integration work if we keep only the CRM?
Frappe CRM and ERPNext integrate, but most of that syncing works only when both apps run on the same site. The integration can create ERPNext quotations from deals and can create an ERPNext customer when a deal is marked Won or reaches a status you choose. If you plan to run only the CRM, you will rely on other connectors or an API integration, which needs its own design and testing. Confirm early whether you need accounting, invoicing or inventory data in the same workflow, because that decision changes the architecture, the hosting footprint and the migration plan.
How DeployOpen helps evaluate, implement and migrate
Start with a written scope before any installation, because the choice between HubSpot and Frappe CRM depends on facts about your environment that a feature comparison cannot settle. DeployOpen's evaluation covers which Meta ad accounts feed leads into Frappe CRM, whether your team needs built-in Twilio or Exotel calling with call recording, whether WhatsApp conversations must stay on your servers, and whether ERPNext is in scope. The ERPNext sync works only when both apps run on the same site, which changes the architecture. Confirm these points with your sales and marketing leads before effort is estimated. DeployOpen then plans and implements the self-hosted deployment in your own cloud account or data center, using the easy-install script or the ghcr.io/frappe/crm image, and configures web forms, Meta lead sync, assignment rules, the sales hierarchy that limits record visibility, and the Sales User, Manager and Admin roles.
Migration is where scope usually changes, so plan it in batches and test each one on a sample first. HubSpot allows up to 300 exports in a rolling 24-hour window and three exports running at once, so a full extraction of contacts, companies, deals and their associations takes several passes. DeployOpen maps HubSpot properties and pipeline stages to Frappe CRM fields and statuses, loads the records, and reconciles counts and associations against the source before cutover. Backups, access control and upgrade planning against the stable v1.x branch, which supports Frappe and ERPNext versions 15 and 16, are part of the written scope. Ongoing support, upgrades and continuous testing are available as a retainer. DeployOpen prepares evidence for compliance assessments but does not issue audit reports, so your auditor decides what is sufficient.

