CRM migration
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
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
9 of 12
objects map 1:1 between Axelor CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
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.
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.
Source platform
Axelor CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Axelor CRM.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Microsoft Dynamics 365 Sales
Lead
1:1Axelor 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
Microsoft Dynamics 365 Sales
Account and Contact
1:manyAxelor 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
Microsoft Dynamics 365 Sales
Contact
1:1Axelor 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
Microsoft Dynamics 365 Sales
Opportunity
1:1Axelor 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
Microsoft Dynamics 365 Sales
Tag
lossyAxelor'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
Microsoft Dynamics 365 Sales
SharePoint Document Location or Note
1:1Axelor 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)
Microsoft Dynamics 365 Sales
Product2
1:1Axelor 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)
Microsoft Dynamics 365 Sales
Custom Table (Dataverse)
lossyAxelor 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
Microsoft Dynamics 365 Sales
User
1:1Axelor 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)
Microsoft Dynamics 365 Sales
SharePoint or Note
1:1Axelor 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
Microsoft Dynamics 365 Sales
Task
1:1Axelor 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
Microsoft Dynamics 365 Sales
Annotation
1:1Axelor 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.
| Axelor CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Lead | Lead1:1 | Fully supported | |
| Third Party | Account and Contact1:many | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Lead Agency Assignment | Taglossy | Fully supported | |
| Catalogue | SharePoint Document Location or Note1:1 | Fully supported | |
| Product (Axelor Studio custom object) | Product21:1 | Fully supported | |
| Custom Object (Studio) | Custom Table (Dataverse)lossy | Fully supported | |
| User | User1:1 | Fully supported | |
| Document/Attachment (DMS) | SharePoint or Note1:1 | Fully supported | |
| Activity: Task | Task1:1 | Fully supported | |
| Activity: Note | Annotation1: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.
Axelor CRM gotchas
Version-to-version migration breaks schema and workflows
BPM workflows and business rules do not export as data
No publicly documented API rate limits or developer portal
Custom Studio objects have no standard export format
Recurrent revenue fields are configuration-dependent
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Axelor CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Axelor CRM and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Axelor CRM and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Axelor CRM and Microsoft Dynamics 365 Sales .
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
Axelor CRM: Not publicly documented.
Data volume sensitivity
Axelor CRM 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 Axelor CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Axelor CRM
Other ways to arrive at Microsoft Dynamics 365 Sales
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.