CRM migration

Migrate from SuiteCRM to Nutshell

Field-level mapping, validation, and rollback between SuiteCRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.

SuiteCRM logo

SuiteCRM

Source

Nutshell

Destination

Nutshell logo

Compatibility

42%

5 of 12

objects map 1:1 between SuiteCRM and Nutshell.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from SuiteCRM to Nutshell is a model-shift migration. SuiteCRM's PHP-based architecture separates Contacts from Accounts and maintains Leads as a distinct object, while Nutshell consolidates people records into a single People object with a status flag. We resolve the SuiteCRM Contacts-Leads-Accounts relationship at extraction time, mapping primary Contact links to Nutshell People and their parent Account to a Nutshell Company. Opportunities from SuiteCRM become Nutshell Deals with stage mapping applied per pipeline. SuiteCRM's v4.1 SOAP API (7.x) or v8 REST API (8.x) handles extraction; we use Nutshell's Import2 integration or REST API for import. AOW Workflow rules, custom logic hooks, and SuiteCRM's filesystem-stored Documents cannot be migrated programmatically — we deliver a written inventory of workflows for your admin to rebuild and extract files separately with permission preservation. Custom fields created in Studio become Nutshell custom fields on the equivalent object. Migrations typically land between three and eight weeks depending on record volume, custom module count, and document file extraction scope.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

SuiteCRM logo

SuiteCRM

What's pushing teams away

  • The out-of-the-box UI is widely described as outdated and slow, and the mobile app is a web wrapper with poor offline performance and no field-optimised workflows.
  • Setting up, customising, and maintaining SuiteCRM requires a technical resource — sysadmins or PHP developers — making it a poor fit for small sales teams wanting a plug-and-play CRM.
  • Community support is slow and inconsistent, and paid support is required for anything beyond basic issues, adding hidden operational cost.
  • Google Calendar integration and other third-party connectors are unreliable in practice, causing sync failures that frustrate field sales teams.
  • Migrating between major versions (7.x to 8.x) is non-trivial and has broken CSS, JS, and permissions for many users, making upgrades a risk rather than a routine task.

Choosing

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How SuiteCRM objects map to Nutshell

Each row shows how a SuiteCRM 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.

SuiteCRM

Account

maps to

Nutshell

Company

1:1
Fully supported

SuiteCRM Accounts map directly to Nutshell Companies. We extract name, industry, website, billing and shipping addresses, phone, and any custom fields created in SuiteCRM Studio. The account name becomes the Company name in Nutshell and is used as the dedupe key during import. Companies must be created before People imports so that the Company lookup relationship is satisfied at the moment of People insert.

SuiteCRM

Contact

maps to

Nutshell

Person

1:1
Fully supported

SuiteCRM Contacts map to Nutshell People with the primary Account link resolved to a Company reference. We map first name, last name, email, phone, title, primary account link, and any Studio custom fields. Nutshell People stores both individual contact and lead data under one object with a status flag — we import Contact records with status set to customer or prospect depending on the source account relationship.

SuiteCRM

Lead

maps to

Nutshell

Person (Lead status)

1:1
Fully supported

SuiteCRM Leads map to Nutshell People with status set to lead. We carry over lead status, lead source, and assignment fields. SuiteCRM's lead-to-contact conversion ratio is resolved by importing leads as People records with the lead flag set, preserving the full lead record history. If a lead has a prior activity history in SuiteCRM, we attach that as a note on the Nutshell People record since Nutshell's engagement model differs.

SuiteCRM

Opportunity

maps to

Nutshell

Deal

1:1
Fully supported

SuiteCRM Opportunities map to Nutshell Deals. The opportunity name, amount, close date, sales stage, probability, and parent Account link migrate to Nutshell Deal fields and pipeline stages. Stage values are mapped to Nutshell pipeline stages during import; SuiteCRM's probability field is preserved as a custom numeric field on the Deal since Nutshell's pipeline probability is configured per stage rather than per record.

SuiteCRM

Product

maps to

Nutshell

Product (if using Nutshell Products)

1:1
Fully supported

SuiteCRM Products map to Nutshell Products if the destination Nutshell account uses Nutshell's built-in product catalogue. We extract product name, SKU (part number), cost, list price, and description. Products must be imported before any Quote line items that reference them so that the product reference is satisfied.

SuiteCRM

Quote

maps to

Nutshell

Activity / Note on Deal

lossy
Fully supported

SuiteCRM Quotes have no direct Nutshell equivalent. Quote data — line items, pricing, terms — is exported as structured JSON and attached as a Note on the corresponding Nutshell Deal. The quote body is not imported as a live document; PDF generation is a post-migration step the customer's admin handles. We preserve the quote data structure for manual recreation.

SuiteCRM

Invoice

maps to

Nutshell

Activity / Note on Company

lossy
Fully supported

SuiteCRM Invoice records (payment status tracking only, no accounting ledger) are exported as structured records and attached as Notes to the relevant Nutshell Company. The invoice amount, status, and date transfer. Full accounting data does not exist in SuiteCRM and must be sourced from the customer's accounting system post-migration. We flag this as a partial record and direct the customer to their finance system.

SuiteCRM

Contract

maps to

Nutshell

Activity / Note on Company or Deal

lossy
Fully supported

SuiteCRM Contracts with start/end dates and renewal status are mapped to Notes on the related Nutshell Company or Deal. The renewal date and contract terms are preserved as text within the note. If the customer uses SuiteCRM's contract tracking heavily, we recommend establishing a renewal date reminder in Nutshell manually post-migration.

SuiteCRM

Case

maps to

Nutshell

Activity / Note on Person or Company

lossy
Fully supported

SuiteCRM Cases (Bugs module) have no direct Nutshell equivalent. Case records are exported with status, priority, description, and resolution notes, then attached as Notes to the related Nutshell People or Company record. For teams using cases as a support tracker, we recommend a dedicated helpdesk tool post-migration; cases do not map cleanly to Nutshell's sales-centric model.

SuiteCRM

Campaign

maps to

Nutshell

Activity / Note on Company

lossy
Fully supported

SuiteCRM Campaigns and their associated target lists do not have a Nutshell equivalent. Campaign metadata (name, type, status, start/end dates) is exported and attached as Notes to the related Company records. Email campaign response activity is extracted as activity logs and linked to the relevant Nutshell People records. Marketing automation rebuilt is out of scope.

SuiteCRM

Custom Field (Studio)

maps to

Nutshell

Custom Field on equivalent object

lossy
Fully supported

SuiteCRM Studio custom fields are stored in extended database tables with the module name appended to the field name (e.g. account_type_c on Accounts). We scan the database for all custom field tables, extract their values, and map them to Nutshell custom fields on the corresponding object (Company, Person, Lead, or Deal). Field type mapping applies: text to Nutshell text, date to Nutshell date, picklist values to Nutshell picklist options.

SuiteCRM

Document (file)

maps to

Nutshell

Attachment on related record

lossy
Fully supported

SuiteCRM Documents store files on the server filesystem (typically /upload/) with database metadata. We extract the file blobs and their database metadata, then re-attach them to the corresponding Nutshell People, Company, or Deal record via the Nutshell API or Import2 attachment step. File permissions must be preserved during extraction; we validate checksums after extraction to confirm integrity. This step extends the migration timeline for file-heavy instances.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

SuiteCRM logo

SuiteCRM gotchas

High

7.x to 8.x upgrade silently breaks the web UI

High

Documents store files on the server filesystem, not in the database

Medium

Invoices are standalone records with no accounting ledger

Medium

Workflow automation rules (AOW) cannot be programmatically exported

Low

Version 7.x extended support ends mid-2027 on ESR branch

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Pair-specific challenges

  • Document files live on the SuiteCRM server filesystem

    SuiteCRM stores document files in the server upload directory rather than as database blobs. Exporting these requires filesystem access, not just API calls, and file permission ownership (owner, group, read/write bits) must be preserved or the files become inaccessible after extraction. We include a dedicated filesystem extraction step with checksum validation in every SuiteCRM migration plan. File-heavy instances with hundreds of attachments require additional time for this step and should be flagged during scoping.

  • SuiteCRM Leads and Contacts split into one Nutshell People object

    SuiteCRM maintains Leads and Contacts as separate modules with distinct schemas; Nutshell uses a single People object with a status flag to distinguish leads from contacts. We resolve this by importing SuiteCRM Leads as Nutshell People with the lead status flag set and importing SuiteCRM Contacts as People with the contact or customer status flag set. Any SuiteCRM lead status field is preserved as a custom field on the Nutshell People record for reporting continuity.

  • AOW Workflow rules cannot be exported programmatically

    SuiteCRM's Advanced Open Workflow module stores automation rules as complex PHP-serialized objects in the database that are inaccessible via the REST or SOAP API. Nutshell's workflow model is a separate product scope with no AOW equivalent. We export a human-readable JSON summary of each active AOW workflow rule — module, conditions, actions, and schedule — and deliver it to the customer as a reference inventory for manual rebuild in Nutshell or another automation tool.

  • Quote, Invoice, and Contract records have no Nutshell equivalents

    SuiteCRM's Quote, Invoice, and Contract modules have no structural equivalent in Nutshell's object model. We export the data as structured JSON and attach it to the relevant Company or Deal as a Note. PDF documents generated from these records are preserved as file attachments. Customers who rely on SuiteCRM Quotes or Invoices as billing documents should treat them as a manual-recreate requirement in Nutshell or a separate quoting and billing tool.

  • Nutshell has no native API-based migration path from SuiteCRM

    Nutshell provides an Import2 integration for common CRM imports, but it is designed for clean CSV imports from Salesforce, HubSpot, and similar platforms — not for the complex relational extraction SuiteCRM requires. We build a custom extraction pipeline from SuiteCRM (API or database depending on version), transform the relational data into Nutshell-compatible import format, and push via the Nutshell REST API or Import2 CSV upload. This adds a transformation step that is not required for simpler CRM pairs.

Migration approach

Six steps for a successful SuiteCRM to Nutshell data migration

  1. Discovery and version assessment

    We audit the source SuiteCRM instance: version (7.x or 8.x determines extraction API), custom modules and their database table schemas, Studio-created custom fields and their extended table names, active AOW Workflow rules, document file inventory on the server filesystem, and record counts per module. We also assess the destination Nutshell account's pipeline configuration and any existing custom field definitions. The discovery output is a written migration scope document with a record-count table, extraction strategy (v4.1 SOAP vs v8 REST vs direct database), and a custom field inventory.

  2. Schema mapping and Nutshell field preparation

    We map every SuiteCRM module to its Nutshell equivalent, resolving the Contacts-Leads-Accounts relationship into the Companies and People model. We create any required custom fields in Nutshell (text, date, picklist, currency) before import begins. Pipeline stages in SuiteCRM are mapped to Nutshell pipeline stages, with probability defaults applied per stage. Custom field type mapping is validated at this stage — for example, SuiteCRM date fields must be formatted to YYYY-MM-DD for Nutshell import compatibility.

  3. Pilot migration and reconciliation

    We run a full migration into the customer's Nutshell account using a representative sample of records — typically the most recent 200-500 records per module — to validate mapping correctness before full production migration. The customer reconciles record counts, spot-checks 25-50 records for field-level accuracy, and confirms that the Nutshell pipeline stages match their expectations. Any mapping corrections are applied before the production migration begins. AOW Workflow rules are inventoried and exported as JSON during this phase.

  4. Owner reconciliation and User provisioning

    We extract every distinct SuiteCRM User referenced on Accounts, Contacts, Leads, Opportunities, and activity records. Each user is matched by email address to a Nutshell User account. Any SuiteCRM user without a matching Nutshell account goes to a reconciliation queue for the customer to provision before production migration resumes. Owner assignments on migrated records are set to the matched Nutshell User; inactive SuiteCRM users are mapped to inactive Nutshell Users for historical record accuracy.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Companies (from SuiteCRM Accounts) first, then People records (Contacts and Leads with Company reference resolved), then Deals (Opportunities with Company and Owner references resolved), then Products if the Nutshell account uses the product catalogue. Custom module data follows standard object imports. Document files are extracted from the filesystem and attached via the Nutshell API in parallel. Each phase emits a row-count reconciliation report before the next phase begins. The SuiteCRM instance remains writable during migration so that no new data is lost during cutover.

  6. Cutover, final delta, and workflow handoff

    We freeze SuiteCRM writes during cutover, run a final delta migration of any records created or modified during the migration window, then confirm Nutshell as the system of record. We deliver the AOW Workflow inventory JSON and the document file index to the customer's admin team. We support a one-week hypercare window for reconciliation issues raised by the sales team. Workflow rebuilds, sequences, and automation rules are outside standard migration scope; we provide the written inventory and the customer or a Nutshell implementation partner handles the rebuild.

Platform deep dives

Context on both ends of the pair

SuiteCRM logo

SuiteCRM

Source

Strengths

  • No per-user licensing fees — both the Community Edition and hosted tiers charge flat rates, not per-seat.
  • Full source-code ownership under AGPL allows unlimited customisation, white-labelling, and on-premise hosting.
  • Includes modules (Campaigns, Workflows, Reporting, Events) that are add-ons in proprietary CRMs.
  • Active community forum and large install base (5M+ downloads) mean abundant community knowledge and third-party extensions.
  • Supports both REST (v8) and SOAP (v4.1) APIs for integration flexibility.

Weaknesses

  • The web UI and mobile app are described as outdated, slow, and clunky compared to modern SaaS CRMs.
  • Requires a technical resource (sysadmin or PHP developer) to install, configure, upgrade, and maintain — not self-service for non-technical teams.
  • Major version upgrades, especially from 7.x to 8.x, are high-risk and have caused widespread breakage (CSS/JS failures, permissions issues) documented in the community forums.
  • No native accounting module — Invoices track payment status but there is no AR/AP ledger, requiring third-party integration for financial workflows.
  • Google Calendar and other third-party integrations are unreliable in practice, with users reporting broken sync in day-to-day use.
Nutshell logo

Nutshell

Destination

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across SuiteCRM and Nutshell.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    SuiteCRM: Not publicly documented in SuiteCRM's own docs.

  • Data volume sensitivity

    A

    SuiteCRM exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your SuiteCRM to Nutshell migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about SuiteCRM to Nutshell data migrations

Answers to the questions buyers ask most during SuiteCRM to Nutshell migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your SuiteCRM to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 5,000 total records with no custom modules and a moderate document attachment set. Instances with active custom modules, hundreds of document files on the filesystem, or multiple pipeline configurations with custom stage fields extend to five to eight weeks because of the filesystem extraction step, custom module mapping, and stage reconciliation work.

Adjacent paths

Related migrations to explore

Ready when you are

Move from SuiteCRM.
Land in Nutshell, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day