← All posts

Migrating off a per-seat CRM without losing a week

By Priya Nair · · 2 min read

The hardest part of leaving a per-seat CRM is not technical. It is the dread the vendor has spent years cultivating: the sense that five years of pipeline are welded into their system and pulling them out will cost you a week and a consultant. That fear is the lock-in working as designed. The real move is more boring than the anxiety, and you can do it without losing a week. Here is the order of operations.

Step one: export everything while you still pay

Do this before you cancel anything. Pull a full export of contacts, companies, deals, notes, and activity history. Get it as CSV or JSON, and grab the attachments separately if the export skips them. The goal is a complete copy in your own hands while you still have full access. If the export is rate limited, run it in batches over a couple of days rather than fighting it in one sitting.

Step two: map the fields, then trim

Most CRMs accumulate junk: dead custom fields, three statuses that mean the same thing, a tag taxonomy nobody followed. A migration is the rare clean moment to fix that. Map your real fields to the destination schema and leave the cruft behind. You are moving your business, not your mess.

Step three: load into a database you own

This is where owning the software changes the feel of the whole project. With Nanobox you import into a standard PostgreSQL database running on your own infrastructure. There is no opaque vendor format in the middle. The /migrate guide walks the export-to-running-database path step by step, and because the schema is documented in /docs, you can verify every row landed where you expect instead of trusting a black box.

Step four: verify against the old system, then cut over

Keep the old subscription alive for one overlapping cycle. Run both in parallel, spot-check record counts and a sample of deals, and only cancel once the new system is clearly correct. One month of double payment is cheap insurance against discovering a gap after the door has locked behind you.

What you stop paying for once you land

After cutover the meter changes shape. No more per-seat fee that grows with hiring, no more renewal email with a quiet price bump. Hosted is a flat $29 a month, never per seat. Self-host is a one-time license with the full source, so the line goes flat. If you have done this before with a big-name incumbent, leaving Salesforce without the pain covers that specific exit, and /compare lines us up against whatever you are leaving. The dread was the product. The migration is just a checklist.