CRM migration
Field-level mapping, validation, and rollback between SoulCRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
SoulCRM
Source
Nutshell
Destination
Compatibility
7 of 9
objects map 1:1 between SoulCRM and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from SoulCRM to Nutshell requires a CSV-first migration strategy because SoulCRM does not publish API documentation and has no discovered programmatic export mechanism. We extract Leads, Contacts, Companies, Deals, and Activities as CSV modules from SoulCRM, normalize field headers against SoulCRM's standard schema, and load data into Nutshell using Nutshell's import API with custom field mapping for India-specific data such as GST identifiers and regional segments. The import order follows dependency constraints: Companies first (establishing Account records), then Contacts and Leads (resolving to People), then Deals (resolving to Opportunities), then Activities (resolving to the parent record). SoulCRM's custom fields and any GST-related fields map to Nutshell custom fields, which support mappable imports according to Nutshell's documentation. Workflows, automations, and marketing campaign logic do not migrate; we deliver a written inventory of SoulCRM workflows and campaign configurations for the customer's admin to rebuild in Nutshell's automation framework.
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 SoulCRM 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.
SoulCRM
Company
Nutshell
Company (API: Account)
1:1SoulCRM Companies map directly to Nutshell Companies. The Company name becomes the Company name field, address and contact information map to standard Nutshell Company fields. We import Companies first in the migration sequence because Contacts and Deals reference them via lookup relationship. Any SoulCRM custom fields capturing India-specific data (regional segments, GST registration status) map to Nutshell custom fields on Company, which Nutshell documents as mappable during data imports.
SoulCRM
Contact
Nutshell
Person (API: Contact)
1:1SoulCRM Contacts map to Nutshell People. The Contact's name, email, phone, and address fields map to equivalent Nutshell Person fields. We import Contacts after Companies to satisfy the Company lookup reference. SoulCRM's integrated telephony and email capture data migrates as contact metadata on the Person record. Any custom contact fields (department, secondary phone) map to Nutshell Person custom fields.
SoulCRM
Lead
Nutshell
Person (Lead status)
1:1SoulCRM Leads map to Nutshell People with the Lead status flag preserved as a custom field or tag. The Marketing Module's lead capture forms generate Lead records that migrate as People with lead classification maintained. Lead source and assignment fields from SoulCRM map to Nutshell Person custom fields to preserve marketing attribution data.
SoulCRM
Deal
Nutshell
Opportunity
1:1SoulCRM Deals map to Nutshell Opportunities. The deal amount, probability, and stage map to Nutshell Opportunity fields. SoulCRM pipeline stage names are mapped to Nutshell pipeline stage values during import. Deal owner assignments resolve to Nutshell User records by email match. We import Deals after Companies and Contacts so that the Opportunity-Company relationship is satisfied at insert time.
SoulCRM
Activity (email, call, task)
Nutshell
Activity
1:1SoulCRM Activity records (email, call, task) map to Nutshell Activity records linked to the parent Person or Company. Call disposition, duration, and timestamp preserve from SoulCRM fields. Email content and task notes migrate as Activity description fields. Activity type classification maps to Nutshell Activity types. We resolve the parent record reference (Person or Company ID) using the SoulCRM record's related contact or company field before inserting.
SoulCRM
Marketing Campaign
Nutshell
Campaign + People membership
lossySoulCRM Marketing Module campaigns (name, type, start/end dates, budget) map to Nutshell Campaigns. Campaign membership linking Contacts and Leads to campaigns requires separate association records during import. We export campaign membership as a separate mapping table and create Nutshell Campaign membership records after both the Campaign and People imports complete. Note that Nutshell's marketing automation features are scoped separately from core CRM migration.
SoulCRM
Custom Field (GST, regional segments)
Nutshell
Custom Field
lossySoulCRM custom fields for India-specific data (GST identifiers, regional segments, industry categories) require pre-creation in Nutshell before data import. We review each SoulCRM custom field for active usage, create equivalent Nutshell custom fields on the appropriate object (Company or Person), and map the field values during the CSV-to-Nutshell import. Deprecated custom fields with zero usage are excluded from migration scope.
SoulCRM
Attachment
Nutshell
Attachment (linked to Person or Company)
1:1File attachments linked to SoulCRM Contacts, Companies, or Deals migrate as binary blobs re-uploaded to the corresponding Nutshell record. We extract attachments during CSV export, re-upload using Nutshell's API, and link them to the migrated parent record. Folder hierarchy from SoulCRM may flatten in Nutshell; we document any structural loss for the customer's admin to address post-migration if necessary.
SoulCRM
Owner
Nutshell
User
1:1SoulCRM Owners referenced on Deals, Contacts, and Companies resolve to Nutshell User records by email match. We extract the distinct owner list from SoulCRM, match each by email against the Nutshell destination, and flag any owner without a corresponding Nutshell User for the customer's admin to provision before the migration runs. Owner assignment on Opportunities and Activities requires a valid User reference at insert time.
| SoulCRM | Nutshell | Compatibility | |
|---|---|---|---|
| Company | Company (API: Account)1:1 | Fully supported | |
| Contact | Person (API: Contact)1:1 | Fully supported | |
| Lead | Person (Lead status)1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Activity (email, call, task) | Activity1:1 | Fully supported | |
| Marketing Campaign | Campaign + People membershiplossy | Fully supported | |
| Custom Field (GST, regional segments) | Custom Fieldlossy | Fully supported | |
| Attachment | Attachment (linked to Person or Company)1:1 | Fully supported | |
| Owner | 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.
SoulCRM gotchas
No public API documentation discovered in research
Minimum user requirements on paid tiers affect per-seat pricing
Absence from G2, Capterra, and TrustRadius review platforms
Limited documented integrations with third-party tools
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 CSV export coordination
We audit the SoulCRM account across modules (Leads, Contacts, Companies, Deals, Activities, Marketing Campaigns, Attachments), identify custom field inventory, and determine the active user count for Nutshell sizing. We coordinate with the customer to export CSV files from each SoulCRM module, validate field headers against SoulCRM's standard schema, and flag any records with missing required fields. We also identify active integrations in SoulCRM that will need replacement in Nutshell and document them for the customer's admin.
Nutshell schema pre-creation and custom field setup
We create Nutshell custom fields on People and Companies to receive SoulCRM India-specific data (GST identifiers, regional segments, industry categories). We map SoulCRM pipeline stage names to Nutshell pipeline stage values, configure the Nutshell pipeline structure to match the SoulCRM sales process, and set up User records for any SoulCRM owner that will need a Nutshell counterpart. Nutshell's unlimited CRM contacts model means we do not need to enforce minimum contact counts during import.
CSV normalization and transformation
We normalize SoulCRM CSV exports to match Nutshell's import format requirements. This includes mapping SoulCRM field names to Nutshell field names, transforming date formats, cleaning phone number formats, and applying the Activity parent resolution logic (matching by email or company name). We generate a transformation manifest that documents each field mapping so the customer can review before import begins. Any data quality issues (duplicate records, missing required fields) are flagged in a pre-migration data quality report.
Import in dependency order
We run Nutshell imports in record-dependency order: Companies first (establishing Nutshell Companies that Contacts and Opportunities will reference), then People (Contacts and Leads resolved from SoulCRM), then Opportunities (from SoulCRM Deals, with Company and Owner lookups satisfied), then Activities (with parent Person or Company resolved via email match or company name match), then Attachments (re-uploaded and linked to parent records). Each phase emits a row-count reconciliation report showing records inserted, updated, and skipped before the next phase begins.
Cutover, validation, and workflow handoff
We freeze SoulCRM writes during cutover and run a final delta migration of any records created or modified during the migration window. We enable Nutshell as the system of record and support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We deliver a written inventory of SoulCRM workflows, automations, and marketing campaign configurations with recommended Nutshell equivalents for the customer's admin to rebuild. We do not rebuild SoulCRM automations as Nutshell automation rules inside the migration scope; that is a separate engagement.
Platform deep dives
SoulCRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 SoulCRM and Nutshell.
Object compatibility
3 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
SoulCRM: Not publicly documented.
Data volume sensitivity
SoulCRM 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 SoulCRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your SoulCRM 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 SoulCRM
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.