CRM migration

Migrate from Sellsy to Microsoft Dynamics 365 Sales

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

Sellsy logo

Sellsy

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

60%

6 of 10

objects map 1:1 between Sellsy and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Sellsy to Microsoft Microsoft Dynamics 365 Sales is a cross-model migration, not a field-by-field copy. Sellsy conflates Individuals and Companies into a single Contact model with a type discriminator, while Microsoft Dynamics 365 Sales uses separate Lead and Contact objects attached to Account hierarchies. We split Sellsy Contacts into Leads and Accounts using the type attribute during pre-flight, and resolve the Account lookup on Contact before insert. Sellsy's financial documents (Invoices, Orders, Credit Notes) have no direct equivalent in standard Microsoft Dynamics 365 Sales ; we map them to custom Dataverse tables or flag the gap with a written recommendation before migration begins. Owner name deduplication in Sellsy's CSV export is the highest-severity pair gotcha: duplicate owner names silently collapse to one person in downstream imports. We detect and resolve this in pre-flight. Sellsy Workflows and Sequences do not migrate; we deliver a written inventory for rebuild in Power Automate and Dynamics Sales Cadence post-migration.

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

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Sellsy objects map to Microsoft Dynamics 365 Sales

Each row shows how a Sellsy object lands in Microsoft Dynamics 365 Sales , 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)

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

Sellsy Contacts with type discriminator set to 'individual' map to Microsoft Microsoft Dynamics 365 Sales Lead. The Sellsy contact firstname, lastname, email, phone, and address fields map to the corresponding Lead fields. Any lead score or custom scoring property from Sellsy maps to a custom Lead field for audit. We use the type discriminator in the Sellsy export to separate Individuals from Corporations before creating any destination records.

Sellsy

Contact (Individual)

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Sellsy Contacts marked as 'individual' who have an associated Corporation in Sellsy map to Microsoft Dynamics 365 Sales Contact tied to the target Account. The Corporation reference in Sellsy resolves to the AccountId on the Contact record at insert time. Contacts without a Corporation reference in Sellsy create standalone Contacts in Dynamics 365, though we flag this for the customer's admin to attach to an Account post-migration if hierarchical account structure is desired.

Sellsy

Corporation / Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Sellsy Corporation records map directly to Microsoft Microsoft Dynamics 365 Sales Account. The corporation name, SIRENE/SIRET number (if populated), address, website, and industry fields map to Account fields. Account is created before any Contact import so that the AccountId lookup is satisfied at Contact insert. We preserve any Sellsy custom fields on Corporation as custom fields on Account.

Sellsy

Opportunity

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Sellsy Opportunities map directly to Microsoft Dynamics 365 Sales Opportunity. The opportunity amount, probability, expected close date, and pipeline stage map to estimatedvalue, closeprobability, estimatedclosedate, and stagecode respectively. Sellsy's pipeline and stage names map to a Microsoft Dynamics 365 Sales Process and stage category. OwnerId is resolved via email match against the User table after owner deduplication. The parent AccountId is resolved via the linked Corporation reference in Sellsy.

Sellsy

Invoice

maps to

Microsoft Dynamics 365 Sales

Custom Dataverse Table: SellsyInvoice

1:many
Fully supported

Sellsy Invoices have no native equivalent in standard Microsoft Dynamics 365 Sales Professional or Enterprise. We create a custom SellsyInvoice table in Dataverse with fields matching the Sellsy invoice schema (invoice number, issue date, due date, line items, taxes, total, status, SmartTags). Each line item becomes a related SellsyInvoiceLine record. The linked Sellsy Contact (as ContactId) and Corporation (as AccountId) are preserved. The customer decides whether to keep this as a read-only archive or extend it with Microsoft Dynamics 365 Sales views and Power BI reporting.

Sellsy

Order

maps to

Microsoft Dynamics 365 Sales

Sales Order (Custom Dataverse Table)

1:many
Fully supported

Sellsy Orders map to a custom SellsyOrder table in Dataverse, mirroring the structure of the SellsyInvoice custom table. Order status (draft, confirmed, shipped, cancelled) is preserved as a status field. SmartTags on Sellsy Orders map to the custom SmartTags field on the SellsyOrder record. Microsoft Dynamics 365 Sales does not have a native Sales Order object in the standard Sales module without the Order Management addon, so the custom table approach provides the cleanest data preservation without requiring additional licensing.

Sellsy

Credit Note

maps to

Microsoft Dynamics 365 Sales

Custom Dataverse Table: SellsyCreditNote

1:many
Fully supported

Sellsy Credit Notes are the least portable object in this migration because they are accounting documents with a specific credit-to-invoice relationship. We create a custom SellsyCreditNote table in Dataverse with fields for credit note number, issue date, linked invoice reference, credit amount, and status. The SmartTags field carries the original Sellsy SmartTags. Microsoft Dynamics 365 Sales does not have a native credit note object; the custom table approach is the standard recommendation for companies that need to retain full accounting history from Sellsy.

Sellsy

SmartTags

maps to

Microsoft Dynamics 365 Sales

Custom field: SellsyTags

lossy
Mapping required

Sellsy SmartTags applied to Invoices, Orders, and Credit Notes have no native equivalent in Microsoft Dynamics 365 Sales . We create a single custom string field SellsyTags__c on each of the three custom Dataverse tables to carry the comma-separated SmartTag values from Sellsy. Tags are not parsed into a multi-select picklist because the set of possible tags is unbounded and may vary by document type. The customer can request Power Automate to parse and re-apply tags to native Dynamics fields post-migration if needed.

Sellsy

Product

maps to

Microsoft Dynamics 365 Sales

Product

1:1
Fully supported

Sellsy Products and Services map directly to Microsoft Microsoft Dynamics 365 Sales Product2 records. The product name, SKU (sellsy_sku field), description, unit, and pricing information map to the corresponding Product2 fields. Standard Price Book entries are created during import. Any pricing rules from Sellsy's product catalog are noted in the field map for the customer to reconfigure in Microsoft Dynamics 365 Sales Price Lists.

Sellsy

Staff

maps to

Microsoft Dynamics 365 Sales

User

1:1
Mapping required

Sellsy Staff records map to Microsoft Microsoft Dynamics 365 Sales User records, resolved by email match. Owner deduplication is the critical pre-flight step: Sellsy's CSV export does not deduplicate owner names, so multiple staff members sharing a first-last name combination collapse to one user in the destination. We detect duplicates during pre-flight, ask the customer to either disambiguate in Sellsy or provide a unique identifier field, and proceed only when every Staff record has a unique email address for User lookup. Inactive or archived Sellsy staff map to inactive Users in Dynamics with the original role preserved in a custom field.

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

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Owner name deduplication required before any bulk import

    Sellsy's CSV export for Contacts does not deduplicate owner names. If two Staff members share the same first and last name, any record they own in the exported CSV appears twice with the identical owner string. When this CSV is imported into Microsoft Dynamics 365 Sales via the Dataverse API, the first match is used and the second record silently inherits the same owner. We detect duplicate owner names during the pre-flight audit and ask the customer to either rename the staff members in Sellsy to produce unique name strings or supply a unique identifier field (such as staff ID or email) for owner resolution. No migration proceeds past the pre-flight phase until owner deduplication is resolved.

  • No native invoice, order, or credit note object in standard Microsoft Dynamics 365 Sales

    Sellsy's all-in-one model includes first-class Invoice, Order, and Credit Note objects with API endpoints, SmartTags, and status tracking. Microsoft Microsoft Dynamics 365 Sales in its standard Professional and Enterprise tiers does not include these accounting documents. We map them to custom Dataverse tables (SellsyInvoice, SellsyOrder, SellsyCreditNote) before migration begins, but the customer must understand this is a structural gap in the Microsoft Dynamics 365 Sales data model. If accounting-level invoice tracking is required, a separate engagement to configure the Microsoft Dynamics 365 Sales Order Management module or a third-party invoice integration is recommended.

  • Contact type discriminator missing in CSV export requires API extraction

    Sellsy's Contact export bundles Individuals and Companies together without a cleanly exported type-separation field in the default CSV format. We extract the Contact type from the Sellsy API's type discriminator before export, split Individuals from Corporations in pre-flight, and route each group to the correct Dynamics 365 object (Lead/Contact vs Account). Failure to perform this split results in Contact records being created with no Account relationship and Individuals landing as Account records in Dynamics, breaking pipeline reporting.

  • Adaptive throttling required: Sellsy rate limits undocumented

    The Sellsy public API at docs.sellsy.com does not publish rate limit thresholds. During bulk exports of large Contact, Opportunity, or Invoice volumes, we cannot configure a safe baseline request cadence without runtime feedback. We implement adaptive throttling starting at one request per 500ms, monitoring for 429 responses, and backing off exponentially on receipt. We log all throttling events to flag whether the customer's Sellsy account appears to have a lower effective limit than the standard tier. This delays migration timelines for accounts above approximately 20,000 records.

  • SmartTags are per-document labels, not a relational object

    Sellsy SmartTags are labels applied to Invoices, Orders, and Credit Notes at the document level. They are not a relational object and cannot be queried independently via a SmartTags endpoint. We capture SmartTags at document export time by reading the tags field on each Invoice, Order, and Credit Note record. If the customer requests that SmartTags drive tagging in Microsoft Dynamics 365 Sales , we can parse them into Power Automate flows post-migration to apply native Dynamics tags or topics to the target records, but this requires a custom scope beyond the standard migration.

Migration approach

Six steps for a successful Sellsy to Microsoft Dynamics 365 Sales data migration

  1. Discovery and scoping

    We audit the source Sellsy account across tier (Standard/Professional/Scale), data volumes for Contacts, Corporations, Opportunities, Invoices, Orders, Credit Notes, Products, and Staff. We run the owner name deduplication check against the Staff and Contact export, flagging any duplicate owner names for customer resolution before export. We confirm the customer's Microsoft Dynamics 365 Sales environment, target edition (Professional or Enterprise), and whether custom Dataverse tables for financial documents are in scope. The discovery output is a written migration scope, a field-level map for each object, and a confirmed cutover date.

  2. Schema design and custom Dataverse table creation

    We design the destination schema in the customer's Microsoft Dynamics 365 Sales environment. This includes provisioning the SellsyInvoice, SellsyOrder, and SellsyCreditNote custom Dataverse tables (if financial document migration is in scope) with all relevant fields and relationships. We configure Account hierarchy structures, Opportunity Record Types and Sales Processes mapped from Sellsy pipeline stages, and any custom fields on Contact and Account for remapped Sellsy custom fields. Schema is deployed to a Sandbox environment first for validation with the customer's admin before production migration begins.

  3. Sandbox migration and customer reconciliation

    We run a full migration into the Dynamics 365 Sandbox using a representative data sample. The customer's RevOps or admin lead spot-checks 25-50 records across each object type against the Sellsy source, verifies the Account-Contact relationship integrity, confirms that Opportunity stage mapping reflects the intended pipeline, and reviews the custom Dataverse tables for financial documents. We correct any mapping errors in this phase before touching production data. The customer signs off the sandbox results in writing before we proceed to production.

  4. Owner reconciliation and User provisioning

    We extract every distinct Sellsy Staff member referenced on Contact, Corporation, Opportunity, Invoice, Order, and Credit Note records and match by email against the Microsoft Dynamics 365 Sales User table. Duplicate owner names identified in discovery are resolved with the customer's input. Any Sellsy Staff without a matching Dynamics 365 User goes to a reconciliation queue for the customer's admin to provision before record migration resumes. Migration cannot proceed past this step because Opportunity and other records require an OwnerId reference.

  5. Production migration in dependency order

    We run the production migration in strict record-dependency order: Accounts (from Sellsy Corporations), Opportunities (with AccountId resolved), Contacts (with type split applied and AccountId resolved), Invoices and Orders (to custom Dataverse tables with SmartTags preserved), Credit Notes (to custom Dataverse table), Products (with Price Book entries), then Staff (User lookup). Each phase emits a row-count reconciliation report and we pause for a 24-hour customer validation window between the Accounts/Opportunities phase and the remaining phases. Financial documents are sequenced last because they carry the highest risk of lookup mismatches if parent records are not yet established.

  6. Cutover, delta migration, and automation handoff

    We freeze Sellsy writes during the cutover window, run a final delta migration for any records created or modified during the migration period, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Workflow and automation inventory document to the customer's admin team, noting that Sellsy Workflows and Sequences do not migrate to Power Automate or Dynamics Sales Cadence as code and require manual rebuild. We support a one-week hypercare window for critical reconciliation issues raised by the sales team. Power Automate flows and automation rebuilds are outside standard migration scope and are quoted as a separate engagement if needed.

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.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    2 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 Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Sellsy to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Sellsy to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Sellsy migrations complete in two to four weeks for accounts under 15,000 Contacts, 3,000 Opportunities, and no financial document migration. Migrations that include Invoice, Order, and Credit Note mapping to custom Dataverse tables, staff-to-User owner reconciliation with duplicate name resolution, or volumes above 30,000 records extend to four to eight weeks because of custom table schema work, Sandbox validation cycles, and the delta migration window. We build in a 24-hour customer validation pause between major phases to catch mapping errors before they compound.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sellsy.
Land in Microsoft Dynamics 365 Sales , 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