All posts
Own Your Data

Replacing Salesforce or HubSpot: A Self-Hosted CRM (Twenty) or One You Build

By

October 30, 2026

6 min read

A CRM is contacts, companies, deals, activities and a pipeline view. At $90–$195 per seat per month, ten seats cost $11k–$23k a year. Twenty is an open-source CRM you can run yourself; building on Postgres is the other route. What each option costs, what you lose, and how to migrate without losing history.

Own Your Data
CRM
Salesforce
HubSpot
Self-Hosting

Strip a CRM to what most small sales teams use and you get five tables and a board. The expensive editions sell workflow automation, forecasting, territory rules and an app ecosystem. Some teams need those. Many pay for them and use the board.

The options

Option

Cost for 10 seats

What you get

What you take on

Salesforce Pro Suite / Enterprise Core

$12,000 / $23,400 a year (annual billing)

Everything, plus AppExchange

Admin skills, per-seat growth, data at Salesforce

HubSpot Sales Hub Professional

$10,800 a year + $1,500 onboarding

CRM tied to HubSpot marketing

Price steps as you add hubs and seats

Twenty Cloud (Pro / Organization)

$1,080 / $4,680 a year

Open-source CRM, hosted for you

A younger product, smaller ecosystem

Twenty self-hosted

Hosting only

Same code in your AWS account

Upgrades, backups, auth, uptime

Build on Postgres

Build time, then hosting

Exactly your process

Every feature is yours to build and keep

Twenty's repository is mostly AGPLv3, with files marked as enterprise under a commercial licence that needs a subscription in production. Check which features you need are in the open part before planning around them. Running it unmodified for your own team is the common case and is simple under the AGPL. Modifying it and offering it to others brings source obligations.

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

Building one

With AI coding tools, a CRM that fits a specific sales process is a few weeks of work for one experienced engineer: the tables, a pipeline board, an activity log, email logging, import, and permissions. The hard parts are not the screens. They are deduplication, the email and calendar sync, and reporting people trust.

  • Own the email sync carefully: Gmail and Microsoft 365 APIs have quotas and consent screens that take time to get approved.

  • Model activities as an append-only log, so the history survives any change to how deals are structured.

  • Give the AI assistant read access to the CRM's own database, not a copy. That is the payoff of owning it.

Migrating without losing history

  1. Export everything, including activities, notes, attachments and field history, not only records.

  2. Map custom fields and picklists before importing; this is where most migrations go wrong.

  3. Run both systems for one sales cycle, with the old one read-only.

  4. Keep the raw export in S3. It is your audit trail if a number is questioned later.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 30, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.