CRM migration

Migrate from Sellsy to Nutshell

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

Sellsy logo

Sellsy

Source

Nutshell

Destination

Nutshell logo

Compatibility

82%

9 of 11

objects map 1:1 between Sellsy and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Sellsy combines Individuals and Corporations into a single Contact export without a clean separation field; we split by the type discriminator before writing to Nutshell People and Accounts respectively. Nutshell uses a JSON-RPC API with a rev-based concurrency model that requires us to fetch the latest entity revision before each edit, and it does not expose custom field search through the API — a known limitation we work around by pre-loading record IDs for lookup operations. The flat Contact/Company model in Sellsy also carries privilege and role metadata that maps to Nutshell's User/Owner system but cannot carry over as role hierarchies because the two platforms enforce access control differently. We do not migrate Invoices, Orders, or Credit Notes because Nutshell has no equivalent financial document object; we provide a written inventory of outstanding amounts and linked line items for the customer's accounting team to handle separately. Workflows, automations, document templates, and GDPR-specific configurations (SIRENE enrichment, data retention policies) do not migrate; we deliver a rebuild checklist for the customer's admin team.

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

Sellsy logo

Sellsy

What's pushing teams away

  • Steep learning curve that requires roughly one week to become productive: reviewers consistently report Sellsy is not intuitive and the information architecture demands significant onboarding investment before teams can work efficiently.
  • Pricing opacity across public sources creates buying friction: Sellsy has been transitioning from modular to bundled pricing for years, leaving outdated numbers scattered across Capterra, G2, and its own site — confusing prospects and delaying sign-off.
  • Interface and UX lag behind newer CRM alternatives: reviewers note the design feels dated compared to platforms like Pipedrive, with imperfect ergonomics that create friction even for basic workflows after the initial learning period.
  • Document template and workflow setup takes 2–3 hours to configure properly: initial setup of custom fields, pipelines, and document templates is non-trivial, and basic configuration at go-live still requires deliberate configuration effort.

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 Sellsy objects map to Nutshell

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

Sellsy

Contact (type=Individual)

maps to

Nutshell

Person

1:1
Fully supported

Sellsy exports Individuals and Corporations bundled in a single Contact export with a type discriminator field. We split on that discriminator before writing to Nutshell. Individual contacts map to Nutshell Person records with name, email, phone, and address fields preserved. The owner_id from Sellsy maps to Nutshell ownerId via email lookup against the Nutshell User table. Custom field values on Sellsy Contacts migrate to the Nutshell customFields dict on Person. Any Sellsy Contact without a type discriminator is flagged for manual review before migration.

Sellsy

Corporation / Company

maps to

Nutshell

Account

1:1
Fully supported

Sellsy Corporation records map to Nutshell Account with company name, industry, website, and address fields preserved. The Corporation SIRENE number (if populated) migrates to a custom Account field. OwnerId resolves via email match to Nutshell User. Custom field values on Sellsy Corporations migrate to the Nutshell customFields dict on Account.

Sellsy

Opportunity

maps to

Nutshell

Opportunity

1:1
Fully supported

Sellsy Opportunities map to Nutshell Opportunities with deal name, amount, expected close date, and pipeline stage preserved. The pipeline in Sellsy maps to Nutshell's single customizable pipeline; if the customer has multiple Sellsy pipelines, we consolidate into one Nutshell pipeline with a custom field to track the original pipeline source. Stage names and probabilities migrate as stage labels and numeric weights. Closed-Lost and Closed-Won status map to Nutshell's loss and won stage values.

Sellsy

SmartTags (on Opportunities)

maps to

Nutshell

Custom Field (Opportunity)

lossy
Fully supported

Sellsy SmartTags on Opportunities have no direct equivalent in Nutshell. We create a text or multi-select custom field on Nutshell Opportunity during pre-flight and populate it with the SmartTag values from the source Opportunity. SmartTags are not a native tagging layer in Nutshell, so this is a best-effort field mapping rather than a native tag migration.

Sellsy

Product / Service

maps to

Nutshell

Product

1:1
Fully supported

Sellsy Product catalog entries map to Nutshell Products with name, SKU (hs_sku equivalent), unit price, and product description preserved. Products are migrated before Opportunities so that Opportunity line items can reference the correct Product records at import time.

Sellsy

Task

maps to

Nutshell

Task

1:1
Fully supported

Sellsy Tasks map to Nutshell Tasks with task name, description, assignee (via owner email to User lookup), due date, and status preserved. Sellsy's subtask hierarchy (if used) is flattened into individual Tasks with a custom field tracking the parent task reference, because Nutshell does not support a native subtask object.

Sellsy

Activity (calls, emails, meetings, logged interactions)

maps to

Nutshell

Note + Task

1:many
Fully supported

Sellsy Activity records split by type: calls and meetings map to Nutshell Tasks with a task type discriminator; logged email interactions and general notes map to Nutshell Notes linked via ContentDocumentLink to the parent Person, Account, or Opportunity. The linked Contact and Opportunity references from Sellsy resolve to Nutshell IDs for the WhoId and WhatId equivalent fields. Activity timestamps preserve to maintain the timeline ordering that sales reps rely on.

Sellsy

Staff

maps to

Nutshell

User

1:1
Mapping required

Sellsy Staff records map to Nutshell Users by email match. The customer's Nutshell admin provisions Users before migration begins. Sellsy role and privilege metadata cannot map directly to Nutshell's access-control model because the two platforms enforce permissions differently. We preserve the Sellsy role label in a custom field on the Nutshell User record for audit purposes.

Sellsy

Invoice

maps to

Nutshell

(not migrated)

1:1
Fully supported

Sellsy Invoices are financial documents with no equivalent object in Nutshell. We do not migrate Invoices, Orders, or Credit Notes. We export a written inventory of outstanding Invoice amounts, linked line items, SmartTags, and payment status for the customer's accounting team to handle manually or in a dedicated accounting tool. SmartTags on invoices are listed in the inventory so the team can recreate them in the new system if needed.

Sellsy

Order

maps to

Nutshell

(not migrated)

1:1
Fully supported

Sellsy Orders are commercial transaction records distinct from invoices with no equivalent in Nutshell. We do not migrate Orders. We include the full order list with product lines, quantities, amounts, and SmartTags in the written financial inventory delivered to the customer.

Sellsy

Credit Note

maps to

Nutshell

(not migrated)

1:1
Fully supported

Sellsy Credit Notes (API object since v2.86.0) have no Nutshell equivalent. We do not migrate Credit Notes. The written inventory covers outstanding Credit Note amounts and linked invoice references so the customer's accounting team can reconcile manually.

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.

Sellsy logo

Sellsy gotchas

High

Owner name uniqueness required in CSV exports

Medium

Pricing numbers scattered across modular and bundled models

Medium

SmartTags are a tagging layer, not a structured object

Medium

Public API rate limits not documented

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

  • Sellsy Contact export bundles Individuals and Companies without a clean separation key

    Sellsy's CSV and API exports for Contacts bundle Individual and Corporation records together with only a type discriminator field marking which is which. If that discriminator is missing or incorrectly set in the customer's export, we receive records that appear as people but contain company data and vice versa. We validate the type field during pre-flight, flag any records where it is absent or inconsistent with the record's content (e.g., a Person record with a company domain email), and ask the customer to correct before migration proceeds. Failure to catch this results in Company records landing as Person records in Nutshell with incorrect contact data.

  • Nutshell API does not support custom field search

    Nutshell's JSON-RPC API exposes findAccounts, findPeople, and findOpportunities but does not support filtering by custom field values. This means we cannot query Nutshell for a record by a custom field value during migration to resolve cross-record references. We work around this by pre-loading the full set of destination record IDs (with their custom field values) into a local lookup table during the pre-flight phase, then resolving references from that table rather than by API query. This adds a pre-flight step but does not affect record counts.

  • Nutshell API uses rev-based concurrency requiring per-record fetch before edit

    Every Nutshell entity returns a rev identifier when retrieved. Every edit request must include the rev value last fetched for that entity. If the entity has been modified on the server since it was last retrieved, the API rejects the edit. During bulk migration, this means we must fetch each record's rev immediately before writing, which adds one API round-trip per record update. For large activity migrations (over 50,000 records), this doubles the API call count. We batch rev fetches in parallel to minimize the impact.

  • SmartTags have no Nutshell equivalent on Invoices, Orders, and Credit Notes

    Sellsy SmartTags are a per-transaction tagging layer on Invoices, Orders, and Credit Notes. Nutshell has no financial document object, so SmartTags on these records cannot migrate at all. We document every SmartTag value and the record it was attached to in the written inventory so the customer's accounting team can recreate the tagging system in their new accounting tool or as custom fields in Nutshell if they add a financial document through a third-party integration.

  • Duplicate owner names in Sellsy exports cause silent owner misassignment in Nutshell

    Sellsy's CSV export for Contacts does not deduplicate owner names. If multiple Staff members share the same display name, the owner reference in Nutshell resolves to the first matching User alphabetically by email, silently reassigning records from the intended owner to another. We detect duplicate owner names during the pre-flight phase and raise a reconciliation ticket for the customer to either disambiguate in Sellsy before export or confirm the intended owner mapping manually.

Migration approach

Six steps for a successful Sellsy to Nutshell data migration

  1. Discovery and scoping

    We audit the Sellsy account for Contact count, Corporation count, Opportunity count, Product catalog size, Task volume, Activity record count (calls, emails, meetings, notes), Staff count, and any active Invoices, Orders, or Credit Notes with outstanding balances. We inspect the custom field schemas on Contacts, Corporations, Invoices, and Opportunities. We confirm the Sellsy pricing tier and API version in use (v2.86.0 or later is required for Credit Notes). We also verify whether any SmartTags on Invoices and Orders carry financial or compliance significance that requires the written inventory to include them explicitly.

  2. Nutshell pre-provisioning and schema setup

    We work with the customer to provision Nutshell Users for every active Sellsy Staff member before migration begins, because ownerId references on Person, Account, and Opportunity records must resolve at insert time. We create any custom fields required for Sellsy custom field values, SmartTag migration on Opportunities, and the Sellsy role label on Nutshell User. Custom fields are created under the respective Person, Account, or Opportunity tabs in Nutshell Settings before any records are loaded.

  3. Contact-type split and data cleansing

    We extract the Sellsy Contact export and split it by the type discriminator. Records marked as Individual migrate to Nutshell Person; records marked as Corporation migrate to Nutshell Account. Records with a missing or inconsistent type discriminator are held in a manual review queue with a specific flag for the customer. We also validate email domain consistency (a Corporation record with a personal email domain is flagged) and phone number formatting before writing.

  4. Owner reconciliation and User provisioning validation

    We extract every distinct Sellsy owner_id referenced on Contacts, Corporations, Opportunities, Tasks, and Activity records. We match each owner_id to a Nutshell User record by email address. Any owner without a matching Nutshell User is held in a reconciliation queue. The customer's Nutshell admin provisions the missing Users before we proceed to record migration. We do not proceed past this step because ownerId is a required field on most Nutshell records.

  5. Production migration in dependency order

    We run production migration in this order: Nutshell Users (validated), Accounts (from Sellsy Corporations), People (from Sellsy Individuals, with AccountId resolved for linked contacts), Opportunities (with AccountId, OwnerId, and custom fields resolved), Products (so Opportunity line items can reference them), Tasks and Activity history (Tasks and Notes via Nutshell API with rev-based concurrency handling). Financial documents (Invoices, Orders, Credit Notes) are not migrated; the written inventory is delivered alongside this phase. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and rebuild handoff

    We freeze Sellsy writes during the cutover window, run a final delta migration of any records modified during the migration, and enable Nutshell as the system of record. We validate 25-50 randomly sampled records against the Sellsy source for field-level accuracy. We deliver the written inventory of Invoices, Orders, Credit Notes, and SmartTags to the customer's accounting team. We deliver the workflow, automation, and document template rebuild checklist to the customer's admin team. We support a 72-hour hypercare window for reconciliation issues and do not extend beyond that without a separate engagement.

Platform deep dives

Context on both ends of the pair

Sellsy logo

Sellsy

Source

Strengths

  • Comprehensive feature stack covering CRM, invoicing, pre-accounting, and marketing in a single subscription.
  • Native GDPR compliance and French market features including SIRENE directory enrichment.
  • Competitive pricing for very small to mid-sized French businesses compared to international alternatives.
  • Integrated electronic document signing reduces the need for third-party document workflow tools.
  • Automation of routine billing and proposal workflows reduces manual administrative overhead.

Weaknesses

  • Steep learning curve with a one-week ramp-up period reported by multiple reviewers.
  • Interface and UX design feel dated compared to modern CRM alternatives like Pipedrive.
  • Pricing structure has been in transition from modular to bundled, creating confusion across public sources.
  • Limited API documentation and undocumented public rate limits complicate programmatic integrations.
  • Owner name uniqueness requirement in CSV exports can block bulk imports with duplicate owners.
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. 3 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 Sellsy and Nutshell.

  • Object compatibility

    B

    3 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

    Sellsy: Not publicly documented.

  • Data volume sensitivity

    A

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

Estimator

Estimate your Sellsy 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 Sellsy to Nutshell data migrations

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

Can't find your answer?

Walk through your Sellsy 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 two and four weeks for accounts under 5,000 Contacts, 1,000 Accounts, and 2,000 Opportunities with no custom objects. Migrations with large engagement histories (over 100,000 activity records), multiple SmartTag categories requiring custom field creation, or accounts with duplicate owner names needing pre-migration disambiguation move to six to ten weeks. Nutshell's rev-based API concurrency model adds one round-trip per record update, which can extend activity migration phases for high-volume accounts.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sellsy.
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