CRM migration
Field-level mapping, validation, and rollback between Basic Online CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Basic Online CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 8
objects map 1:1 between Basic Online CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Basic Online CRM to Microsoft Microsoft Dynamics 365 Sales is a migration from a lightweight, browser-only CRM to an enterprise-grade sales platform deeply integrated with the Microsoft ecosystem. Basic Online CRM's sparse data model (Contacts, Companies, Deals, Notes) maps directly to Dynamics 365's Contact, Account, Opportunity, and Note entities, but the association resolution between Deals and Contacts relies on internal numeric IDs in Basic Online CRM that must be cross-referenced against a parallel contact export before migration. Custom fields in Basic Online CRM are stored as untyped strings, so we standardise date formats, numeric precision, and picklist values during the transform phase and confirm intended data types with the customer before schema creation in Dynamics 365. We do not migrate workflows or automations as Basic Online CRM has no native automation engine on its lower tiers, and any automation the customer built must be documented for rebuild in Microsoft Dynamics 365 Sales or Power Automate post-migration.
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
Basic Online CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Basic Online 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 Basic Online 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.
Basic Online CRM
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Basic Online CRM Contacts map directly to Dynamics 365 Contact records. We map name, email address, phone number, and postal address fields 1:1. Any non-standard fields in Basic Online CRM land as custom columns in Dataverse. Email address is used as the primary deduplication key during import. Owner assignment is set at bulk during the write-back phase using the owner mapping the customer provides during scoping, because Basic Online CRM does not surface record-level owner assignment in its exports.
Basic Online CRM
Company
Microsoft Dynamics 365 Sales
Account
1:1Basic Online CRM Companies map to Dynamics 365 Account records. The company name becomes Account Name, and the website field maps to Website. Companies in Basic Online CRM are flat without subsidiary hierarchies, so all records import as top-level Accounts. We flag duplicate company names that appear more than once in the export and present them to the customer for resolution before the import phase begins.
Basic Online CRM
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Basic Online CRM Deals map to Dynamics 365 Opportunity records. Deal name becomes Opportunity Name, deal amount maps to Estimated Revenue, and deal stage maps to Stage Name. The primary complexity in this mapping is resolving the Contact and Company associations: Basic Online CRM stores these as internal numeric IDs in the Deals CSV, while Dynamics 365 Opportunity requires a valid ContactId (via the Contact Lookup on Opportunity) and an AccountId. We cross-reference the internal IDs against the exported Contact and Company lists during the transform phase and resolve to the corresponding name-matched Account and Contact records.
Basic Online CRM
Note
Microsoft Dynamics 365 Sales
Note
1:1Basic Online CRM Notes are free-text entries with no timestamp enforcement or type categorisation. We migrate them as Dynamics 365 Note records linked via the Annotation object to the parent Contact, Account, or Opportunity. Any timestamps that were not explicitly set in Basic Online CRM are not reconstructable; we set the Created On date to the import timestamp and flag the absence of original timestamps in the pre-migration data quality report. Basic Online CRM does not store file attachments, so any document references in notes must be sourced externally by the customer and re-uploaded post-migration.
Basic Online CRM
Custom Field
Microsoft Dynamics 365 Sales
Custom Column (Dataverse)
lossyBasic Online CRM custom fields exist but store all values as untyped strings regardless of intended data type. Date fields may export as Jan 15 2024 in one record and 15/01/2024 in another. We standardise date formats to ISO 8601 (YYYY-MM-DD), numeric fields to decimal or integer depending on content, and picklist-like fields to Option Set values in Dataverse. The customer reviews the custom field inventory during scoping and confirms intended data types before we create the corresponding Dataverse columns. This step prevents mis-typed fields that would require a schema change post-import.
Basic Online CRM
Activity/Task
Microsoft Dynamics 365 Sales
Task
1:1If the Basic Online CRM instance contains task records, they are simple title-and-status items with no due-date enforcement or assignee fields. We migrate them as Dynamics 365 Task records with the task subject set to the Basic Online CRM task title and Status mapped to the closest Dynamics 365 Task Status value. Assignee resolution is not possible from the source data because Basic Online CRM does not surface record-level owner assignment; we assign migrated tasks to the bulk owner the customer designates during scoping. Due dates are preserved only if they were explicitly set in Basic Online CRM.
Basic Online CRM
User/Owner
Microsoft Dynamics 365 Sales
User
1:1Basic Online CRM has a basic user concept but no explicit owner assignment on exported records. We ask the customer during scoping which team member should own migrated records in Dynamics 365 and apply bulk OwnerId assignment during write-back. If the customer has an Enterprise-tier Basic Online CRM subscription with documented API access, we attempt to match owners by email against the source platform's user list and resolve to the corresponding Dynamics 365 User record by email lookup. Owners without a matching Dynamics 365 User go to a reconciliation queue for admin provisioning before record import resumes.
Basic Online CRM
Attachment/Reference
Microsoft Dynamics 365 Sales
Not migrated
1:1Basic Online CRM does not host or store file attachments natively. Any documents referenced in Notes or Deal descriptions must be identified by the customer during the pre-migration checklist phase, sourced from their original storage location, and re-uploaded to Dynamics 365 SharePoint or OneDrive post-migration. We include a file inventory checklist item in the scoping pack asking the customer to enumerate any referenced files and their storage locations.
| Basic Online CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Custom Field | Custom Column (Dataverse)lossy | Fully supported | |
| Activity/Task | Task1:1 | Fully supported | |
| User/Owner | User1:1 | Fully supported | |
| Attachment/Reference | Not migrated1: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.
Basic Online CRM gotchas
CSV export silently truncates large contact lists
Deal-Contact associations are stored by internal ID only
Custom field data types are not preserved on export
No native attachment storage means files are not migrated
User/owner structure is not explicit in exported data
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 scoping
We audit the source Basic Online CRM instance across tier (Free/Starter/Professional/Enterprise), record counts per object (Contacts, Companies, Deals, Notes, Tasks), custom field inventory, and any detected data quality issues. We extract a sample of the CSV exports to validate field headers, date formats, and picklist consistency before committing to a full extraction plan. We ask the customer to confirm their Microsoft Dynamics 365 Sales edition, their target Dataverse environment (Production or Sandbox), and which team member should own migrated records. The discovery output is a written migration scope with record counts, custom field mapping, and a CSV truncation split plan if the instance exceeds 5,000 contacts.
Dual extraction and ID cross-reference
We request simultaneous CSV exports of Contacts and Deals from Basic Online CRM. The Deals export contains internal numeric Contact IDs that must be resolved against the Contact export before migration. We cross-reference all Deal Contact IDs against the contact list and build a resolution table mapping each internal ID to the corresponding contact email and name. Any Deal with a Contact ID that has no matching contact record is flagged as an orphaned Deal and presented to the customer for resolution before the import phase. We also extract any task records and note text simultaneously so that all data sources are aligned in a single staging environment before transform begins.
Transform and custom field standardisation
We transform the extracted data into Dynamics 365 Dataverse-compatible format. This includes standardising all date fields to ISO 8601, normalising numeric fields to remove non-numeric characters, mapping Basic Online CRM picklist-like strings to Dataverse Option Set integer values, and applying the Contact-to-Account name resolution for the Deal-to-Opportunity association. We present the customer with a custom field mapping sheet that shows each Basic Online CRM custom field, our proposed Dataverse column name, and the target data type, asking for confirmation before schema creation. We also ask the customer to confirm the Microsoft Dynamics 365 Sales pipeline stage values they want to map from Basic Online CRM deal stages.
Schema creation in Dynamics 365
We create the target Dataverse schema in the customer's Dynamics 365 environment before any data import begins. This includes provisioning any custom columns confirmed in the mapping sheet, configuring the Opportunity pipeline stages and sales process, and setting up the necessary security roles for the migration service account. We perform this step in a Sandbox environment first when requested, and in Production when the customer prefers a direct cutover. The Dynamics 365 admin grants the migration service account the Dataverse customiser role and the relevant business unit access before we proceed to import.
Import in dependency order
We run production migration in record-dependency order: Accounts (from Basic Online CRM Companies), Contacts (with name-based AccountId resolution), Opportunities (with resolved ContactId and AccountId from the cross-reference table), Tasks (bulk assigned to the designated owner), and Notes (linked to parent Contact, Account, or Opportunity by record ID). Each phase emits a row-count reconciliation report showing records attempted, records succeeded, and records rejected, with error details for any rejected records. We correct rejected records in the staging environment and retry before moving to the next phase.
Cutover and post-migration handoff
We freeze Basic Online CRM writes during the cutover window, run a final delta migration of any records modified during the migration run, then mark Microsoft Dynamics 365 Sales as the system of record. We deliver a written inventory of any manual steps required post-migration: re-uploading files referenced in notes, provisioning any missing Dynamics 365 User accounts for owners who were not pre-provisioned, and rebuilding any Basic Online CRM automation logic as Power Automate flows or Dynamics 365 business rules. We support a three-day hypercare window where we resolve any reconciliation issues raised by the customer's team.
Platform deep dives
Basic Online CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Basic Online CRM and Microsoft Dynamics 365 Sales .
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
Basic Online CRM: Not publicly documented.
Data volume sensitivity
Basic Online CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Basic Online CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Basic Online 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 Basic Online 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.