Migrating from Dynamics 365 to Bitrix24
Switching from Microsoft Dynamics 365 to Bitrix24 is a decision companies make to reduce licensing costs (up to 60% savings) and comply with Russian legislation. Bitrix24 offers comparable features at a fraction of the cost—making it 5x more affordable than Dynamics 365 for teams up to 50 users. Data transfer from Dynamics 365 to Bitrix24 requires careful planning to avoid data loss. However, transferring accumulated data is a non-trivial task. Dynamics has one of the most complex object models among CRM systems: hierarchical business units, custom entities, dozens of field types (Lookup, OptionSet, Customer, PartyList), deep integration with Microsoft 365 (Outlook, Teams, SharePoint). Errors during extraction or mapping can lead to lost relationships, duplicate records, and halted business processes. Our team performs turnkey migration: from auditing the source schema to setting up integrations and training users. We guarantee data integrity and a transparent work plan. Contact us for an assessment of your project—we will prepare a clear timeline and budget.
How to Avoid Data Loss During Migration?
The key stage is a detailed audit of the source schema. The source Dynamics CRM stores data in SQL Server (on-premise) or Azure SQL (cloud). Main entities: Account, Contact, Lead, Opportunity, ActivityPointer (base activity type), PhoneCall, Email, Appointment, Task (specific activities), Quote, Order, Invoice (commercial documents). Custom entities are created via Power Apps and stored in tables with the publisher prefix. Without analyzing these tables, there is a high risk of missing related records or incorrectly converting types. Special attention is given to polymorphic types Customer (linked to Contact or Account) and PartyList (multiple participants). We write selective verification scripts after loading—comparing record counts and relationships.
How to Extract Data from Dynamics 365?
OData API (Web API) is the preferred method for cloud and on-premise versions. It supports pagination, filtering, and field selection. Example request:
$response = $dynamics->get('/api/data/v9.2/accounts', [
'$select' => 'accountid,name,telephone1,emailaddress1,websiteurl',
'$filter' => 'statecode eq 0',
'$top' => 5000,
]);
// Pagination via @odata.nextLink
Direct SQL works only for on-premise and is faster for large volumes. The table AccountBase corresponds to the Account entity, ContactBase to Contact, and so on. The schema can be obtained via Metadata API: GET /api/data/v9.2/EntityDefinitions(LogicalName='opportunity')/Attributes. More details on the OData API.
Entity Mapping: Dynamics 365 -> Bitrix24
| Dynamics 365 | Bitrix24 |
|---|---|
| Account | Company |
| Contact | Contact |
| Lead | Lead |
| Opportunity | Deal |
| Task | Task |
| PhoneCall | Activity (Call) |
| Appointment | Activity (Meeting) |
| Activity (Email) | |
| Quote | Invoice (CRM) |
| BusinessUnit | Department |
| SystemUser | User |
What to Do with Custom Fields?
Dynamics supports dozens of field types: Lookup, OptionSet, MultiSelectOptionSet, Money, Customer, PartyList. The most challenging are Customer and PartyList. The first is a polymorphic link to a contact or company, the second is a list of participants (e.g., for activities). In Bitrix24, these concepts are implemented through multiple links or custom development. We create custom fields, and for complex cases—additional entities. For example, the Customer field is transformed into two separate fields: "Contact" and "Company" with filling rules. For PartyList, we create an "Participants" entity linked to the deal. For instance, a custom 'Market Segment' option set in Dynamics becomes a list field in Bitrix24 after mapping.
How Are Business Processes Recreated?
Workflows in the source system (now Power Automate) are not migrated directly. They must be recreated using Bitrix24 robots, triggers, and business processes. Analyzing each process logic is a separate task that often takes as much time as the data migration itself. We document each process and transfer it step by step. For example, the process of creating a meeting from an email in Dynamics is replaced by a Bitrix24 trigger on the Email event.
Migration Stages
- Audit of the current system — analysis of the Dynamics schema, identification of custom entities, fields, and business processes.
- Mapping design — matching entities and fields (see table above).
- Data extraction — via OData API or direct SQL.
- Transformation and loading into Bitrix24 — conversion of types (Customer, PartyList), creation of custom fields (e.g., converting customer type to separate contact and company fields).
- Recreation of business processes — replacing Power Automate with Bitrix24 robots.
- Integration with Microsoft 365 — setting up Outlook, calendar, disk.
- Testing and validation — selective record checks, relationship verification.
- Launch and support — user training, support during the first weeks.
Integration with Microsoft 365
One advantage of the Microsoft CRM is native integration with Outlook, Teams, SharePoint. When transitioning to Bitrix24, you need to provide similar scenarios:
- Outlook → Bitrix24 Mail or Exchange connector.
- Teams → Bitrix24 Video Calls (or keep Teams for meetings).
- SharePoint → Bitrix24 Drive.
We help set up the Bitrix24 REST API for integration with remaining Microsoft services.
What's Included in Our Work
- Documentation of field and entity mapping.
- Extraction and transformation scripts.
- File with the schema of transferred data.
- Report on record counts and errors.
- User manual.
- Two weeks of support after launch.
Our team has over 10 years of experience and has completed 40+ complex migrations, including cases with over 200,000 records and intricate customizations.
Typical Timelines
| Data volume and complexity | Timeline |
|---|---|
| up to 50,000 records, standard entities, minimal customization | 4–6 weeks |
| 50,000–200,000 records, custom entities, moderate complexity | 2–4 months |
| over 200,000 records, complex business processes, integrations | 4–8 months |
Order turnkey migration and get an engineer's consultation at every stage. Contact us for a detailed audit of your project and an accurate work plan.







