CRM migration
Field-level mapping, validation, and rollback between Access CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Access CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 8
objects map 1:1 between Access CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from Access CRM to Microsoft Microsoft Dynamics 365 Sales is a migration between platforms with very different data models and ecosystem positions. Access CRM is part of The Access Group's UK mid-market suite and often carries references to Access Pay & Bill workers, Access Elite client records, and Servelec care data that cannot import into a standalone CRM. We audit every cross-module reference during scoping, create stub records where relationships must survive, and strip dangling references that have no destination counterpart. Access CRM's Worst/Likely/Best deal-probability model maps to a single Amount field and stage-based probability in Dynamics 365; we preserve all three values in custom fields and compute a weighted average for forecast visibility. Pipeline stage names are free-text in Access CRM and require a customer-approved mapping matrix before any Opportunity records are created in Dynamics. We do not migrate Access CRM workflows, web-enquiry forms, or knowledge-base articles; these are documented in a written handoff package for the customer's admin to rebuild in Dynamics 365 or a dedicated helpdesk platform.
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
Access CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Access 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 Access 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.
Access CRM
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split required)
1:manyAccess CRM Contact records are person-level with name, email, phone, address, and owner assignment. If the Contact represents a prospect with no confirmed buying organisation, we route it to Dynamics 365 Lead. If it is attached to an Access CRM Company, we route to Dynamics 365 Contact tied to an Account. We use the presence of a Company link in Access CRM as the primary split criterion, with the customer's confirmation on any edge cases during scoping.
Access CRM
Company
Microsoft Dynamics 365 Sales
Account
1:1Access CRM Company records (sometimes called Accounts in certain configurations) store business-level data linked to Contacts. The parent/child hierarchy migrates as a flat organisation tree in Dynamics 365 Account. We flag any circular references during the scoping audit and flatten them to a single parent Account before import.
Access CRM
Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1Access CRM Opportunities carry Worst/Likely/Best monetary values and stage-based probability. Dynamics 365 Opportunity uses a single Amount field and stage-based Probability. We preserve all three Access CRM monetary values in custom fields (ac_worst_value__c, ac_likely_value__c, ac_best_value__c) and set Amount to the Likely value by default, with the customer choosing a weighted average during scoping.
Access CRM
Pipeline Stage
Microsoft Dynamics 365 Sales
Sales Process + StageName
lossyAccess CRM pipeline stage names are free-text tenant-defined values (e.g., 'Proposal', 'Negotiation', 'WON', 'Closed – Lost – Ghost'). We capture the full stage list during scoping, produce a stage-mapping matrix, and configure corresponding Microsoft Dynamics 365 Sales Process stage values before any Opportunity records import. Unmapped stages route to an Archive stage unless the customer provides explicit direction.
Access CRM
Case
Microsoft Dynamics 365 Sales
Case
1:1Access CRM Cases support a lifecycle from open through resolution with routing to customer-service, warehousing, or accounts teams. Cases map to Dynamics 365 Case with the Case Record Type and Status values configured to match the source lifecycle. Conversations attached to Cases migrate as EmailMessage records linked to the Case.
Access CRM
Activity (calls, emails, meetings, notes)
Microsoft Dynamics 365 Sales
Task, Event, EmailMessage
1:1Access CRM stores activity history in a threaded format for calls, emails, meetings, and notes associated with Contacts and Opportunities. We flatten this to timestamped Task records (calls with TaskSubtype=Call), Event records (meetings with StartDateTime and EndDateTime), and EmailMessage records (emails). Notes migrate as Dynamics 365 Note records linked via ContentDocumentLink to the parent Contact, Account, or Opportunity.
Access CRM
User / Owner
Microsoft Dynamics 365 Sales
User
1:1Access CRM Owner assignment on Contacts, Companies, and Opportunities is resolved by email match against the Dynamics 365 destination User table. Any Access CRM Owner without a matching User goes to a reconciliation queue for the customer's admin to provision before record import proceeds.
Access CRM
Custom Field (tenant-specific)
Microsoft Dynamics 365 Sales
Custom Field (__c)
lossyAccess CRM custom fields are tenant-specific and not self-documented in the admin UI. We extract the full field manifest via the admin knowledge base and cross-reference against the scoping audit. Custom fields are created in Dynamics 365 as custom fields (API name with __c suffix) before any data import begins. We verify field type compatibility (text, number, picklist, date, currency) during schema design.
| Access CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Sales Process + StageNamelossy | Fully supported | |
| Case | Case1:1 | Fully supported | |
| Activity (calls, emails, meetings, notes) | Task, Event, EmailMessage1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Custom Field (tenant-specific) | Custom Field (__c)lossy | 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.
Access CRM gotchas
Cross-module references require pre-migration audit
Pipeline stage names are tenant-defined free text
Knowledge-base articles have no standard CRM export path
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 audit
We audit the Access CRM tenant across record counts (Contacts, Companies, Opportunities, Cases, Activities), custom field manifest, pipeline count, active workflow configurations, and any cross-module references to Access Pay & Bill, Access Elite, or Servelec systems. We also document the full Access CRM stage list and the worst/likely/best deal probability model in use. The discovery output is a written migration scope document including a stage-mapping matrix, a cross-module reference list requiring customer decision, and a worst/likely/best handling recommendation.
Schema design in Dynamics 365
We design the destination schema in Dynamics 365. This includes creating custom fields (API name with __c suffix matching Access CRM field names where feasible), configuring Sales Processes with stage values mapped from the Access CRM stage list, setting up Opportunity Record Types per pipeline, and creating Account records for any Access CRM Company cross-references that need stub records. Schema is deployed into a Dynamics 365 Sandbox or dev environment first for validation before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 test environment using production-like data volume. The customer's RevOps or CRM admin reconciles record counts (Contacts in, Leads in, Accounts in, Opportunities in, Cases in, Activities in), spot-checks 25-50 random records against the Access CRM source, and validates the stage-mapping matrix and probability transform. Any mapping corrections happen here. The customer signs off the test migration before production migration begins.
Owner reconciliation and User provisioning
We extract every distinct Access CRM Owner referenced on Contact, Company, Opportunity, and Activity records and match by email against the Dynamics 365 destination User table. Owners without a matching User go to a reconciliation queue for the customer's admin to provision. Migration cannot proceed past record import without resolved OwnerId references because Dynamics 365 requires a valid Owner on standard entities.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Access CRM Companies, including stub records for cross-module references), Leads and Contacts (with the Company link resolved to AccountId), Opportunities (with Amount set to Likely value by default, ac_worst_value__c and ac_best_value__c preserved, OwnerId and RecordTypeId resolved), Cases, Activities (Tasks, Events, EmailMessages via Bulk API with chunking), then Custom Fields on all entities. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and handoff
We freeze Access CRM writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver a written inventory of Access CRM workflows, web-enquiry form configurations, and knowledge-base articles for the customer's admin to rebuild in Dynamics 365 or a dedicated helpdesk platform. We do not rebuild Access CRM automations as Dynamics 365 Power Automate flows inside the migration scope; that is a separate engagement. We support a one-week hypercare window for reconciliation issues raised by the sales team.
Platform deep dives
Access CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Access CRM and Microsoft Dynamics 365 Sales .
Object compatibility
2 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
Access CRM: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
Access 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 Access CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Access 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 Access 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.