CRM migration

Migrate from Axelor CRM to Microsoft Dynamics 365 Sales

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

Axelor CRM logo

Axelor CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

75%

9 of 12

objects map 1:1 between Axelor CRM 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 Axelor CRM to Microsoft Dynamics 365 Sales is a structural migration across fundamentally different data models. Axelor uses a Lead → Third Party → Opportunity pipeline with Third Parties serving as the combined Contact-and-Company entity; Dynamics 365 Sales splits this into Account, Contact, and Lead as separate objects. We resolve the Third Party split during scoping, pre-create the destination schema including custom objects via the Dataverse API, and sequence the migration to satisfy all foreign-key dependencies before records are written. The Axelor AppLoader export produces XML data packages; we parse these, infer field types from the XML model definitions, and transform to Dynamics 365 column formats before bulk insert via Dataverse. BPM workflows and Studio business rules do not migrate; we deliver a written workflow inventory and recommended Power Automate equivalents for your admin to rebuild. Agency-based lead routing and catalogue metadata migrate as Tags and linked document records respectively.

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

Axelor CRM logo

Axelor CRM

What's pushing teams away

  • Functional coverage gaps in niche areas like event management and training module capabilities, pushing specialized teams toward purpose-built solutions.
  • Technical knowledge required for installation and ongoing configuration, making it less accessible for non-technical admin teams compared to SaaS-first alternatives.
  • Graphic style customization is intentionally limited; teams wanting full UI theming or brand-aligned interfaces report frustration with the constrained styling options.
  • Support ecosystem relies heavily on partner integrators in markets outside France, making local expertise scarce and increasing implementation costs for international teams.

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 Axelor CRM objects map to Microsoft Dynamics 365 Sales

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

Axelor CRM

Lead

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

Axelor Leads map directly to Dynamics 365 Sales Lead. We extract the Lead XML record, map standard fields (full name, email, phone, company, status, rating, source) to Lead entity columns, and preserve the original Axelor lead ID in a custom field axelor_lead_id__c for reconciliation. Lead conversion history (when the Lead was converted to a Third Party in Axelor) migrates as a text note because Dynamics 365 Lead does not natively record conversion audit trails between unrelated systems.

Axelor CRM

Third Party

maps to

Microsoft Dynamics 365 Sales

Account and Contact

1:many
Fully supported

Axelor Third Party is a combined Contact-and-Company entity with type classification (customer vs prospect), address, industry, and notes. We split each Third Party into a Dynamics 365 Account record (the company data) and a Contact record (the primary contact). Contact.FirstName is derived from the Axelor name field; Contact.ParentId links to the Account. Axelor Third Party type = 'Prospect' maps to Account.AccountType = 'Prospect Customer'; type = 'Customer' maps to Account.AccountType = 'Customer'.

Axelor CRM

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Axelor Contacts are child records linked to a parent Third Party. We resolve the parent Third Party's split target Account during import, then insert each Contact with the resolved AccountId. Axelor contact roles (buyer, influencer, approver) have no direct Dynamics 365 equivalent; we store role information in Contact.Description or a custom contact_role__c field per customer preference. If the parent Third Party was not migrated (filtered out or deleted), the Contact is linked to the Account nearest by name match.

Axelor CRM

Opportunity

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Axelor Opportunities map to Dynamics 365 Sales Opportunity with AccountId resolved from the linked Third Party. The Axelor pipeline stage (Lead → Qualified → Proposal → Won/Lost) maps to a configured Dynamics 365 Sales Process with matching stage values. ExpectedCloseDate, EstimatedRevenue, and Probability migrate directly. Recurring revenue fields (active only when 'Manage recurrent revenue on opportunities' is enabled in Axelor CRM settings) migrate to custom decimal fields recurring_amount__c and recurring_period__c in Dynamics 365.

Axelor CRM

Lead Agency Assignment

maps to

Microsoft Dynamics 365 Sales

Tag

lossy
Fully supported

Axelor's agency-based lead routing is a many-to-many relationship between Leads and Agencies. Dynamics 365 Sales has no native Agency object, so we export the Lead-to-Agency junction table, extract unique agency names, and create Dynamics 365 Tags from them. Each Lead receives Tag assignments matching its agency associations. We document the full junction mapping in a CSV delivered alongside the migration so that the customer's admin can build Power Automate flows or assignment rules from the agency associations if needed.

Axelor CRM

Catalogue

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location or Note

1:1
Fully supported

Axelor catalogue metadata (product catalogue name, linked PDF reference, description) migrates as a Note record or SharePoint Document Location linked to the parent Third Party Account. The actual PDF binary files are exported separately as a file package; we provide a file-transfer guide and folder mapping for manual SharePoint upload or blob storage transfer into Dynamics 365's connected SharePoint environment.

Axelor CRM

Product (Axelor Studio custom object)

maps to

Microsoft Dynamics 365 Sales

Product2

1:1
Fully supported

Axelor Studio custom objects that represent product catalogue entries (distinct from the standard Catalogue metadata) map to Dynamics 365 Product2 records. We inspect the XML model definition during scoping to identify the field structure, map field names to Product2 standard columns (Name, ProductNumber, Description, Price), and create any custom fields with appropriate Dataverse column types before product import.

Axelor CRM

Custom Object (Studio)

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

lossy
Fully supported

Axelor Studio allows entirely new objects beyond standard CRM entities, defined as XML and compiled to JPA models. We inspect the XML schema during scoping, infer field names and data types, and pre-create corresponding Dataverse custom tables in the Dynamics 365 environment before any data import. Lookup relationships between custom objects are resolved during import by matching foreign-key values to the target table records already inserted earlier in the sequence. Standard Axelor Studio types (string, integer, decimal, date, boolean, many-to-one, many-to-many) map to Dataverse column types with appropriate validation rules.

Axelor CRM

User

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Axelor user records contain identity data, role assignments, and organizational structure. We extract user display name and email address, match by email against the Dynamics 365 destination User table, and map the OwnerId on migrated records to the resolved User. Users without a Dynamics 365 User account enter a reconciliation queue; the customer's admin provisions the missing accounts before migration resumes. Role and permission schemas do not migrate because they are application configuration, not data.

Axelor CRM

Document/Attachment (DMS)

maps to

Microsoft Dynamics 365 Sales

SharePoint or Note

1:1
Fully supported

Axelor DMS stores binary documents linked to CRM records. Document metadata (filename, linked entity type, linked entity ID, upload date) exports from the AppLoader XML. We map document links to SharePoint Document Location records pointing at a pre-created SharePoint folder structure mirroring the Axelor entity hierarchy. The binary files are provided as a separate file package for the customer to upload into the SharePoint environment. Note records serve as a fallback for document metadata if SharePoint integration is not configured at migration time.

Axelor CRM

Activity: Task

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

Axelor tasks linked to Third Parties, Leads, or Opportunities map to Dynamics 365 Task records. The WhoId on Task resolves to the migrated Contact or Lead ID; the WhatId resolves to the migrated Account or Opportunity ID. Task.Subject, Description, Priority, and ActivityDateTime migrate directly. Task status (Open/Completed) maps from Axelor's task status field.

Axelor CRM

Activity: Note

maps to

Microsoft Dynamics 365 Sales

Annotation

1:1
Fully supported

Axelor notes attached to any CRM entity map to Dynamics 365 Annotation records with IsDocument = false. The parent ObjectId links to the migrated record ID in the target entity table (Account, Contact, Lead, or Opportunity). Note body migrates as plain text; any embedded file references are exported as separate document packages.

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.

Axelor CRM logo

Axelor CRM gotchas

High

Version-to-version migration breaks schema and workflows

High

BPM workflows and business rules do not export as data

Medium

No publicly documented API rate limits or developer portal

Medium

Custom Studio objects have no standard export format

Low

Recurrent revenue fields are configuration-dependent

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

  • Axelor Third Party must split into Account and Contact

    Axelor Third Party is a combined Contact-and-Company entity. Dynamics 365 Sales separates these into Account (company) and Contact (person) with a parent-child relationship via Contact.AccountId. We design the split rule during scoping by inspecting the Axelor Third Party records for a dominant contact person and inferring which fields belong to the Account versus the Contact. Records without a clear person-contact (e.g., anonymous B2B entries) create an Account only. Skipping this design step produces Dynamics records with no Contact, breaking the sales workflow.

  • BPM workflows and Studio business rules do not migrate

    Axelor's BPM engine stores workflow logic as application configuration in the Studio module, not as data records. AppLoader exports DMN models as XML for deployment, not migration. Dynamics 365 Sales does not have a BPM engine; automation lives in Power Automate, Dynamics 365 Sales automation rules, or custom Power Apps. We do not migrate BPM workflows. We deliver a written inventory of every identified workflow trigger, condition, action, and BPM rule with a recommended Power Automate equivalent, and the customer's admin rebuilds them post-migration.

  • Dataverse does not support MultiSelectPicklist or PartyList data types

    The Azure Data Factory connector documentation for Dynamics 365 and Dataverse explicitly states that AttributeType.MultiSelectPicklist and AttributeType.PartyList are not supported for migration. Axelor CRM has no native multi-select picklist fields, but custom Studio objects with multi-select logic and PartyList fields (used in some Axelor BPM configurations) cannot be written directly via Dataverse bulk insert. We handle these as separate custom-field migrations using the Dynamics 365 Organization Service or by instructing the customer's admin to manually populate them post-migration.

  • Custom Studio objects require XML schema inspection before migration

    Axelor Studio custom objects are defined in XML and compiled to JPA models at deployment time. The AppLoader export includes the data but not a typed schema definition visible to non-Axelor developers. We perform a schema inspection step during scoping that reads the XML model definitions, infers field names, data types, and relationships, and generates a Dataverse column schema before any data is extracted. Without this step, custom object data may be imported with incorrect field assignments or dropped entirely.

  • Axelor REST API has no documented rate limits

    Unlike Dynamics 365's Dataverse API which publishes 6,000 requests per minute per application, Axelor does not publish API rate limits or provide a developer portal. We throttle migration writes conservatively using observed response patterns, implement exponential backoff on any non-2xx response, and reduce batch sizes dynamically if 429 responses appear. Conservative throttling extends migration duration for large record sets compared to a platform with documented limits.

Migration approach

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

  1. Discovery and Axelor version scoping

    We audit the source Axelor CRM instance by identifying the installed version (6.1.x through 6.5.x carry different schema characteristics), exporting a sample AppLoader XML package, and cataloguing the object inventory including custom Studio objects, configured recurrent revenue settings, agency routing relationships, and any active BPM workflow definitions. We inspect the XML model files to extract field names, data types, and foreign-key references for custom objects. The discovery output is a written migration scope with record counts per object, a preliminary field map, and a list of identified workflows requiring documentation.

  2. Schema design and Dataverse custom table creation

    We design the Dynamics 365 Sales destination schema including standard objects (Lead, Account, Contact, Opportunity, Task, Note), custom fields on each standard object, and any Dataverse custom tables required for Axelor Studio custom objects. We configure Sales Processes and Stage values to match the Axelor pipeline stage sequence, create Tags for the agency routing model, and define any custom fields for recurring revenue data. Schema is deployed to a Dynamics 365 Sandbox environment first for validation against a sample data load before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into the Dynamics 365 Sandbox using a representative subset of the production data volume. The customer's RevOps lead reconciles record counts per object, spot-checks 20-30 records against the Axelor source for field-level accuracy, and validates that the Third Party split produced correct Account and Contact pairs. Any field mapping corrections, missed custom object fields, or data type mismatches are resolved in this phase. The customer signs off the sandbox results before the production migration window is scheduled.

  4. Owner reconciliation and user provisioning

    We extract every distinct Axelor user referenced as a record owner on Third Parties, Contacts, Opportunities, and tasks and match by email against the Dynamics 365 destination User table. Any Axelor owner without a matching Dynamics 365 User is flagged in a reconciliation report, and the customer's admin provisions the missing User accounts. OwnerId references on migrated records cannot resolve until this step is complete.

  5. Production migration in dependency order

    We run production migration in the sequence required by foreign-key constraints: Accounts (from Axelor Third Party company data), Contacts (with AccountId resolved from the Third Party split), Leads (with agency tags applied), Opportunities (with AccountId, OwnerId, and configured Sales Process resolved), custom object records (with lookups to Account and Contact resolved), activity history (Tasks and Notes via Dataverse bulk insert), and document metadata (as SharePoint Document Location records or Notes). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and BPM rebuild handoff

    We freeze writes to the Axelor instance during cutover, run a final delta migration for any records modified during the migration window, and enable Dynamics 365 Sales as the system of record. We deliver the BPM workflow inventory document, the agency routing mapping CSV, and the document file package to the customer's admin team. We support a three-day hypercare window where we resolve any reconciliation issues raised by the sales team. BPM rebuild work and Power Automate flow creation are outside standard migration scope and are handled by the customer's admin or a Microsoft partner.

Platform deep dives

Context on both ends of the pair

Axelor CRM logo

Axelor CRM

Source

Strengths

  • True open-source AGPL license with identical community and enterprise codebases — no feature-gating in the OSS edition.
  • Low Code Studio enables screen, form, workflow, and business-rule changes without recompiling the J2EE backend.
  • Single platform combines CRM, ERP, BPM, BI, web portals, and document management under one schema, reducing tool sprawl.
  • Modular install path lets teams start with CRM only and expand into Finance, Inventory, or HR without re-platforming.
  • Deployment flexibility — cloud-hosted, on-premise, or hybrid with mobile access included — fits data-residency and offline requirements.

Weaknesses

  • Steep technical onboarding curve for teams without J2EE or partner integrator access.
  • Limited UI/theming customization compared to modern SaaS CRM platforms.
  • Niche functional modules (event management, training) have reduced feature depth versus specialists.
  • No publicly documented API rate limits or developer portal, making integration planning harder.
  • Partner ecosystem for implementation and support is concentrated in France and French-speaking markets.
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. All 8 core objects map 1:1 between Axelor CRM and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Axelor CRM and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Axelor CRM and Microsoft Dynamics 365 Sales .

  • 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

    Axelor CRM: Not publicly documented.

  • Data volume sensitivity

    A

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

Estimator

Estimate your Axelor CRM 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 Axelor CRM to Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

Walk through your Axelor CRM 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 long-tail migrations land between two and four weeks for accounts with under 10,000 Third Parties, 5,000 Opportunities, and no custom Studio objects. Migrations with custom Studio objects, large document attachment sets, a configured recurrent revenue setup, or a complex agency routing structure move to five to eight weeks because of XML schema inspection, Dataverse custom table pre-creation, and agency junction resolution. Discovery and sandbox validation add one to two weeks before production migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Axelor CRM.
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