CRM migration
Field-level mapping, validation, and rollback between Sage CRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Sage CRM
Source
Nutshell
Destination
Compatibility
6 of 8
objects map 1:1 between Sage CRM and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Sage CRM to Nutshell means leaving the Sage accounting ecosystem for a cloud-native sales CRM. Sage CRM maintains separate Company, Contact, and Lead entities; Nutshell combines Leads and Contacts into a single People object, requiring a lifecycle split decision during scoping. Sage CRM's Advanced Outlook Integration plugin ($175 per user) becomes redundant once migration is complete because Nutshell includes native two-way email and calendar sync with Gmail and Outlook on every paid plan. Workflows, escalation scripts, and ASP-based automation logic stored in Sage CRM's database cannot be exported and must be rebuilt in Nutshell or a connected automation tool. We extract records, fields, and custom entity schemas via Sage CRM's REST API or direct SQL query, then load into Nutshell via its REST API or CSV import, preserving foreign-key relationships by sequencing Company records first, then People, then Deals. Cases map to Nutshell's Cases object where available on the plan tier. Activities from Sage CRM's Communication table migrate as Nutshell Activity records with timestamps preserved.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Sage CRM object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Sage CRM
Company
Nutshell
Organization
1:1Sage CRM Company records map directly to Nutshell Organization. The company_name, address fields, phone, website, and industry classification migrate as typed fields. We use company_name as the dedupe key during import. Organization must be imported before People because Nutshell's People records link to Organization via a required reference field. Custom Company fields map to Nutshell Organization custom fields, subject to the plan's custom field limits (Starter: limited, Pro and above: more fields).
Sage CRM
Contact
Nutshell
People
1:1Sage CRM Contact records map to Nutshell People with the PrimaryCompanyLink foreign key resolved to the target Nutshell Organization ID. Standard fields (name, email, phone, title, address) migrate directly. Custom Contact fields map to Nutshell People custom fields. We apply Sage CRM's match-rule configuration during scoping to identify duplicate contacts and either merge or flag for customer review before import.
Sage CRM
Lead
Nutshell
People (lead status)
lossySage CRM's separate Lead entity has its own lifecycle stages, qualification fields, and source tracking that do not map 1:1 to any Nutshell object because Nutshell uses a unified People record with a status field. We map Sage CRM Lead records to Nutshell People with a lead status value set from the Sage CRM lead status or a custom lead stage field. The customer chooses the target status value during scoping. Source tracking data (lead source, campaign reference) migrates to Nutshell People custom fields if available on the plan tier.
Sage CRM
Opportunity
Nutshell
Deal
1:1Sage CRM Opportunities map to Nutshell Deals. The pipeline stage name maps to Nutshell's pipeline stage values. Amount, expected close date, owner assignment, and custom opportunity fields migrate directly. Sage CRM's multi-currency amounts are stored as decimal values and migrate as-is; currency assignment is set at the Nutshell account level. Closed-won and closed-lost reasons map to Nutshell Deal notes or custom fields since Nutshell does not have a native Loss Reason field.
Sage CRM
Case
Nutshell
Case
1:1Sage CRM Cases map to Nutshell Cases. Case severity, status, assignment, and description fields migrate directly. Threaded communications linked to cases in Sage CRM (stored in the Communication table with entity_type=Case) migrate as Nutshell Activity records attached to the corresponding Case. Custom Case fields map to Nutshell Case custom fields. Nutshell Cases is available on Pro and above plans; Starter plan customers map Cases to People notes or a dedicated Deal tag for customer service tracking.
Sage CRM
Communication
Nutshell
Activity
1:1Sage CRM Communication records (emails, calls, meetings, notes) are entity-type agnostic and link to Company, Contact, Lead, Opportunity, or Case. We export Communications by entity type, resolve the parent record's Nutshell ID at migration time, and create Nutshell Activity records (type: email, call, meeting, note) linked to the target Nutshell record. Timestamps and activity direction (inbound/outbound) preserve from the source. Large communication histories (over 200,000 records) require chunked API writes with rate-limit handling.
Sage CRM
Custom Entity
Nutshell
Custom Fields or Notes
lossySage CRM Custom Entities have their own fields and relationships and use internal table naming that differs from the UI display name. We inspect the entity schema via the Sage CRM API model service to build the field map. Nutshell does not support standalone custom objects, so Custom Entity data maps either to existing Nutshell objects via custom fields (if the plan allows sufficient fields) or to Notes attached to the related Company, Contact, or Deal record. The customer selects the strategy during scoping based on their custom entity complexity and Nutshell plan tier.
Sage CRM
User
Nutshell
User
1:1Sage CRM Users map to Nutshell Users by email match. We extract all active Sage CRM users referenced on records and match against Nutshell User emails. Sage CRM role-based security profiles (object and field access) have no direct Nutshell equivalent because Nutshell uses a simpler permission model with team-based access. We map Sage CRM user roles to Nutshell teams during scoping, and the customer's Nutshell admin assigns team membership post-migration. Inactive Sage CRM users who own records are migrated as inactive Nutshell users to preserve historical assignment.
| Sage CRM | Nutshell | Compatibility | |
|---|---|---|---|
| Company | Organization1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Lead | People (lead status)lossy | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Case | Case1:1 | Fully supported | |
| Communication | Activity1:1 | Fully supported | |
| Custom Entity | Custom Fields or Noteslossy | Fully supported | |
| User | User1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Sage CRM gotchas
Workflow rules and ASP scripts do not export as data
Email integration requires third-party plugins or is absent
On-premise IIS hangs require manual restart and block migration
Custom Entities use unique internal naming conventions
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and plan selection
We audit the source Sage CRM instance across deployment type (cloud SaaS or on-premise), record counts per entity (Companies, Contacts, Leads, Opportunities, Cases), custom field counts per entity, custom entity schemas with internal table names, active workflow count and complexity, and communication history volume. We pair this with a Nutshell plan recommendation based on the customer's team size, required custom field count, and whether Cases functionality is needed. The discovery output is a written migration scope with entity counts, custom field inventory, and workflow inventory for rebuild planning.
Lead-People consolidation strategy
We define the Sage CRM Lead-to-Nutshell People mapping strategy based on the customer's Lead status values and retention preferences. We document which Sage CRM Lead statuses map to active Nutshell People (with lead status set), which map to archived records, and which are excluded from migration entirely. This decision is made with the customer during the scoping call and encoded as a transform rule in the migration pipeline before any data is extracted.
Schema design and custom field mapping
We design the destination Nutshell schema: Organization custom fields (from Sage CRM Company custom fields), People custom fields (from Sage CRM Contact and Lead custom fields), Deal custom fields (from Sage CRM Opportunity custom fields), and Case custom fields where applicable. For Sage CRM Custom Entities, we document the entity schema and map to either Nutshell custom fields (within plan limits) or to Notes on the related record. We cross-reference Sage CRM internal Custom Entity table names with display names to ensure no entity is missed during extraction.
Extraction and sandbox migration
For cloud Sage CRM, we extract records via the REST API with pagination and rate-limit handling. For on-premise Sage CRM, we use direct SQL query against the Pervasive or SQL Server database to extract high-volume record sets including historical communications. We run a sandbox migration into a test Nutshell account, reconcile record counts, spot-check 20-30 records per entity against the source, and validate that custom field values appear correctly. Any mapping corrections are made before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Organizations first (from Sage CRM Companies), then People (Contacts and Leads with OrganizationId resolved), then Deals (with OwnerId resolved via User email match), then Cases (with linked Activities extracted from the Communication table), then Custom Entity data (mapped to Notes or custom fields per the agreed strategy). Each phase emits a row-count reconciliation report before the next phase begins. Owner reconciliation holds any records whose Owner email does not match a Nutshell User; the customer's admin provisions missing users before migration resumes.
Cutover, validation, and workflow handoff
We freeze Sage CRM writes during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the Workflow Inventory document listing every active Sage CRM workflow with its trigger, conditions, actions, and a recommended rebuild approach using Zapier, Make, or Nutshell macros. We support a five-day hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild Sage CRM workflows in Nutshell's automation layer as part of standard migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Sage CRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Sage CRM and Nutshell.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Sage CRM: 180 requests/min with 10 calls/second burst (Sage Embedded Services); 3,000 requests/min/application (Sage Active API V2); rate limits for core Sage CRM API are not publicly documented.
Data volume sensitivity
Sage CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Sage CRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Sage CRM to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Sage CRM
Other ways to arrive at Nutshell
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.