CRM migration
Field-level mapping, validation, and rollback between Sellsy and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Sellsy
Source
Freshsales
Destination
Compatibility
8 of 12
objects map 1:1 between Sellsy and Freshsales.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Sellsy uses a flat Contact model that bundles Individuals and Companies without a clean separation key, while Freshsales enforces a Lead-Contact-Account-Opportunity hierarchy. We split Sellsy's combined Contact export by its type discriminator before any record enters Freshsales, resolving the structural mismatch that silently orphans records in most automated migrations. We also map Sellsy's Opportunities to Freshsales Deals, remap SmartTags to Freshsales Labels, and sequence the financial documents (Invoices, Orders, Credit Notes) before activity records so that account balances and linked items resolve correctly in Freshsales. Workflows, automations, and document templates do not migrate; we deliver a written inventory for the customer's admin to rebuild in Freshsales.
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 Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Sellsy
Contact (Individual)
Freshsales
Contact
1:1Sellsy Contacts of type Individual map to Freshsales Contact. We split the combined Sellsy Contact export by the type discriminator before migration, ensuring Individual records route to Contact and Corporation records route to Account. Email serves as the dedupe key. Custom fields on Sellsy Contacts migrate to Freshsales Contact custom fields. Any Sellsy Contact without an email address is held for manual review because Freshsales requires email for Contact creation.
Sellsy
Corporation
Freshsales
Account
1:1Sellsy Corporation records map to Freshsales Account. The Corporation name becomes Account Name; the SIRENE-derived fields (if populated) can be mapped to custom Account fields for French regulatory teams that need to preserve that data. Account is created before any Contact import so that the Account Lookup on Contact is satisfied at insert time.
Sellsy
Opportunity
Freshsales
Deal
1:1Sellsy Opportunities map to Freshsales Deals. The Opportunity stage maps to Freshsales Deal Stage, and the pipeline assignment maps to a Freshsales Sales Process or Record Type. OwnerId resolves via Staff email matching to Freshsales User. Closed-Lost and Closed-Won reasons from Sellsy custom fields become Deal custom fields in Freshsales.
Sellsy
Invoice
Freshsales
Deal + Product Line Items
lossySellsy Invoices do not have a direct Freshsales equivalent. We map Invoice records to Freshsales Deals with the invoice number stored in a custom field, line items mapped as Deal Product line items, and the invoice status (draft, sent, paid) stored as a custom status field on the Deal. For customers with high-volume invoicing needs, we recommend a separate accounting tool post-migration and treat Invoices as historical records only.
Sellsy
Order
Freshsales
Deal
1:1Sellsy Orders map to Freshsales Deals with Order status stored in a custom field and order line items as Product line items on the Deal. SmartTags on Sellsy Orders migrate to Freshsales Labels on the corresponding Deal. Orders with a linked Invoice reference that has already been migrated inherit the Deal created from that Invoice to avoid duplicate Deal creation.
Sellsy
Credit Note
Freshsales
Deal (custom type)
lossySellsy Credit Notes map to Freshsales Deals with a Credit Note custom type field and the original linked Invoice reference preserved as a custom field. Amount fields migrate directly. Credit Notes are flagged as a financial document type for the customer's accounting team to reconcile post-migration.
Sellsy
Staff
Freshsales
User
1:1Sellsy Staff records map to Freshsales User. We match by email address. Any Staff record without a matching Freshsales User goes to a reconciliation queue for the customer's admin to provision the User before record import resumes. Role and privilege information does not migrate because Freshsales role-permission models differ structurally from Sellsy's privilege model.
Sellsy
Task
Freshsales
Task
1:1Sellsy Tasks map to Freshsales Tasks with Status, Priority, Activity Date, and Owner preserved. Task assignment migrates by resolving Sellsy Staff owner_id to Freshsales User via email matching. Tasks linked to Contacts, Corporations, or Opportunities carry the corresponding Freshsales lookup IDs after parent-record resolution.
Sellsy
Activity (calls, meetings, appointments)
Freshsales
Task (Call subtype) or Event
1:1Sellsy Activity records for calls map to Freshsales Tasks with TaskSubtype = Call and call duration preserved. Meeting and appointment activities map to Freshsales Events. The linked Contact and Opportunity references resolve via email dedupe on Contact and Deal name matching on Opportunity before the activity insert.
Sellsy
Product
Freshsales
Product
1:1Sellsy Products map to Freshsales Products with pricing rules preserved. ProductCode from Sellsy maps to Freshsales Product SKU. Price list entries map to Freshsales Price Books. Products are imported before Deals so that line item Product references resolve correctly at Deal import time.
Sellsy
SmartTags
Freshsales
Labels
lossySellsy SmartTags on Invoices, Orders, and Credit Notes map to Freshsales Labels on the corresponding Deal. SmartTags on other objects map to Label fields on the respective entity. Where Freshsales does not have a label field for the target object, SmartTags are stored in a custom multi-select text field. The customer chooses the strategy during scoping.
Sellsy
Custom Fields
Freshsales
Custom Fields
lossySellsy custom fields on Contacts, Corporations, Invoices, and Orders map to Freshsales custom fields on the corresponding entity. We inspect the Sellsy custom field schema via the /custom-fields API before migration and pre-create matching Freshsales custom fields with appropriate field types (text, number, date, picklist, checkbox). Field-level validation rules in Freshsales may require adjustment if they conflict with data patterns from Sellsy.
| Sellsy | Freshsales | Compatibility | |
|---|---|---|---|
| Contact (Individual) | Contact1:1 | Fully supported | |
| Corporation | Account1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Invoice | Deal + Product Line Itemslossy | Fully supported | |
| Order | Deal1:1 | Fully supported | |
| Credit Note | Deal (custom type)lossy | Fully supported | |
| Staff | User1:1 | Mapping required | |
| Task | Task1:1 | Fully supported | |
| Activity (calls, meetings, appointments) | Task (Call subtype) or Event1:1 | Fully supported | |
| Product | Product1:1 | Fully supported | |
| SmartTags | Labelslossy | Mapping required | |
| Custom Fields | Custom Fieldslossy | Mapping required |
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
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source Sellsy account for Contact volume, Corporation volume, Opportunity count, Invoice and Order counts, Staff count, and SmartTag usage. We also identify custom field schemas on each object via the /custom-fields API. We confirm the customer's active Sellsy pricing tier during scoping and review any Staff records with duplicate names. The discovery output is a written migration scope with object counts, a preliminary mapping table, and a Freshsales tier recommendation based on the customer's team size and required features.
Contact-Corporation split and Owner reconciliation
We export Sellsy Contacts and Corporations separately using API endpoints with type discrimination rather than relying on the combined CSV export. This ensures clean separation before any record enters Freshsales. We reconcile Sellsy Staff records to Freshsales Users by email. Staff without matching Freshsales Users go to a reconciliation queue for the customer's admin to provision before the next phase.
Freshsales schema preparation
We pre-create Freshsales custom fields for any Sellsy custom fields that do not have a native Freshsales equivalent. We configure Freshsales Deal stages to match Sellsy pipeline stages, map SmartTags to Freshsales Labels, and create any custom Deal types needed for Invoice and Order records. Schema is validated in a Freshsales trial or sandbox environment before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Freshsales sandbox environment using production-like data volume. The customer's RevOps lead reconciles record counts (Contacts in, Accounts in, Deals in, Activities in), spot-checks 20-30 records against the Sellsy source, and validates that Owner assignments match the Staff mapping. Any mapping corrections happen in sandbox before production migration.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Sellsy Corporations), Contacts (with AccountId resolved), Deals (from Sellsy Opportunities with pipeline and stage mapped), Products and Price Books, Deal Product line items, Tasks and Activities via Freshsales API, then financial document records (Invoices, Orders, Credit Notes mapped as Deals). Each phase emits a row-count reconciliation report before the next phase begins. SmartTags migrate as Labels in the same phase as their parent record.
Cutover, validation, and handoff
We freeze Sellsy writes during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver a written inventory of all Sellsy reports and dashboards with their field dependencies, and a written inventory of Sellsy automations and document templates for the customer's admin to rebuild in Freshsales. We support a one-week hypercare window for reconciliation issues. We do not rebuild Sellsy automations, workflows, or document templates as part of the migration scope.
Platform deep dives
Sellsy
Source
Strengths
Weaknesses
Freshsales
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 Freshsales.
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 Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Sellsy to Freshsales 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 Freshsales
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.