CRM migration

Migrate from Access CRM to Microsoft Dynamics 365 Sales

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 logo

Access CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

63%

5 of 8

objects map 1:1 between Access CRM and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Access CRM logo

Access CRM

What's pushing teams away

  • Performance issues emerge at scale — G2 reviewers note that the platform has limited features and slows noticeably as record counts grow, particularly on the CRM-for-customer-service module.
  • Organisations seeking to exit the Access ecosystem report that tight coupling to Access Pay & Bill and Access Elite creates data-lock-in that makes migration complex and costly.
  • Limited third-party integration ecosystem compared to HubSpot or Salesforce means teams needing best-of-breed tooling eventually consolidate onto platforms with richer marketplace apps.
  • The platform lacks the AI and automation depth that modern sales teams expect from a 2025-era CRM, prompting churn to competitors with built-in AI deal coaching and generative workflows.

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

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

maps to

Microsoft Dynamics 365 Sales

Lead or Contact (split required)

1:many
Fully supported

Access 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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Access 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Access 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

maps to

Microsoft Dynamics 365 Sales

Sales Process + StageName

lossy
Fully supported

Access 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

maps to

Microsoft Dynamics 365 Sales

Case

1:1
Fully supported

Access 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)

maps to

Microsoft Dynamics 365 Sales

Task, Event, EmailMessage

1:1
Fully supported

Access 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

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Access 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)

maps to

Microsoft Dynamics 365 Sales

Custom Field (__c)

lossy
Fully supported

Access 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.

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.

Access CRM logo

Access CRM gotchas

High

Cross-module references require pre-migration audit

Medium

Pipeline stage names are tenant-defined free text

Medium

Knowledge-base articles have no standard CRM export path

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

  • Worst/Likely/Best probability has no native Dynamics 365 equivalent

    Access CRM Opportunities store three monetary values (Worst, Likely, Best) representing pessimistic, expected, and optimistic deal amounts. Dynamics 365 Opportunity uses a single Amount field and derives probability from StageName. We preserve all three values in custom fields (ac_worst_value__c, ac_best_value__c) and map Likely to Amount, but the customer must decide whether to keep a weighted average formula or accept the single-value model for pipeline forecasting. This decision must be made during scoping because it affects every Opportunity record and any existing forecast reports.

  • Cross-module Access references require pre-migration audit and resolution

    Access CRM is typically deployed alongside Access Pay & Bill, Access Elite, and Servelec care-management modules. Records in Access CRM may carry references to workers, clients, or care episodes that live in those sister systems. We cannot import these cross-module IDs into Microsoft Dynamics 365 Sales . We flag every reference to external Access modules during the scoping audit and either strip the reference, create a stub Account or Contact in Dynamics 365 as a placeholder, or preserve the external ID in a custom text field for the customer to resolve manually after migration.

  • Pipeline stage names are tenant-defined free text

    Unlike Dynamics 365, which uses configurable but structured stage values per Sales Process, Access CRM does not enforce a standard stage vocabulary. Stage names like 'Proposal', 'Negotiation', 'WON', or 'Closed – Lost – Ghost' vary between tenants. We capture the full stage list during scoping and produce a stage-mapping matrix before any records are touched. Unmapped stages default to an Archive stage in Dynamics 365 unless the customer provides explicit direction. Skipping this step results in Opportunities landing in the wrong stage with incorrect probability, corrupting pipeline forecasts.

  • Dynamics 365 service protection API limits constrain import throughput

    Dynamics 365 Dataverse enforces service protection limits on the Web API (currently approximately 6,000 requests per 300 seconds per user for standard authenticated requests). High-volume migrations (over 50,000 records) must use the Bulk API with chunking and exponential backoff on 429 responses. We implement batch chunking and rate-limit handling in our migration pipeline, but customers should be aware that very large migration batches may take longer than a naive estimate based on record count alone.

  • Access CRM custom fields have no documented export path

    Access CRM's admin UI does not expose a self-documenting field manifest for custom fields. We extract the full field list from the admin knowledge base and cross-reference it against the scoping audit. If custom fields were added ad-hoc without knowledge-base documentation, some may be discovered only during data extraction. We treat any discovered undocumented fields as part of the migration scope and create corresponding Dynamics 365 custom fields before the production import phase.

Migration approach

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Access CRM logo

Access CRM

Source

Strengths

  • Part of a unified business-software suite spanning ERP, payroll, and sector-specific verticals.
  • Configurable Kanban pipelines with native deal-probability modelling.
  • Built-in customer self-service portal and knowledge-base for support teams.
  • Web-enquiry form capture routes leads directly into the CRM Opportunity flow.
  • Multi-sector reach — hospitality, care, recruitment, and medical verticals.

Weaknesses

  • Sparse public API documentation and limited documented bulk-export tooling makes migration preparation manual.
  • Performance degrades with larger record volumes, per G2 user reports of performance issues.
  • Limited third-party integration marketplace compared to leading standalone CRMs.
  • Knowledge-base and social-monitoring tools are basic compared to dedicated helpdesk and social-listening platforms.
  • Pricing and tier documentation is not publicly available, complicating budget planning.
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. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Access CRM: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.

  • Data volume sensitivity

    B

    Access CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between six and ten weeks for accounts under 10,000 Contacts and 2,000 Opportunities with no cross-module Access references to resolve. Migrations with large cross-module reference audits (Access Pay & Bill, Access Elite, Servelec), multi-pipeline structures, worst/likely/best probability preservation decisions, or large activity histories move to ten to sixteen weeks because of the scoping complexity and Bulk API time.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Access 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