CRM migration
Field-level mapping, validation, and rollback between Sellsy and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Sellsy
Source
Nutshell
Destination
Compatibility
9 of 11
objects map 1:1 between Sellsy and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
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.
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 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)
Nutshell
Person
1:1Sellsy 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
Nutshell
Account
1:1Sellsy 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
Nutshell
Opportunity
1:1Sellsy 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)
Nutshell
Custom Field (Opportunity)
lossySellsy 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
Nutshell
Product
1:1Sellsy 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
Nutshell
Task
1:1Sellsy 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)
Nutshell
Note + Task
1:manySellsy 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
Nutshell
User
1:1Sellsy 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
Nutshell
(not migrated)
1:1Sellsy 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
Nutshell
(not migrated)
1:1Sellsy 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
Nutshell
(not migrated)
1:1Sellsy 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.
| Sellsy | Nutshell | Compatibility | |
|---|---|---|---|
| Contact (type=Individual) | Person1:1 | Fully supported | |
| Corporation / Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| SmartTags (on Opportunities) | Custom Field (Opportunity)lossy | Fully supported | |
| Product / Service | Product1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Activity (calls, emails, meetings, logged interactions) | Note + Task1:many | Fully supported | |
| Staff | User1:1 | Mapping required | |
| Invoice | (not migrated)1:1 | Fully supported | |
| Order | (not migrated)1:1 | Fully supported | |
| Credit Note | (not migrated)1: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.
Sellsy gotchas
Owner name uniqueness required in CSV exports
Pricing numbers scattered across modular and bundled models
SmartTags are a tagging layer, not a structured object
Public API rate limits not documented
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 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.
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.
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.
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.
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.
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
Sellsy
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 Sellsy 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
Sellsy: Not publicly documented.
Data volume sensitivity
Sellsy exposes a bulk API — large-volume migrations stream efficiently.
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 Sellsy to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Sellsy 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 Sellsy
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.