CRM migration
Field-level mapping, validation, and rollback between ASPEC and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
ASPEC
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 8
objects map 1:1 between ASPEC and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from ASPEC to Microsoft Microsoft Dynamics 365 Sales is a migration from a compact, single-tenant CRM with limited API access to a cloud-first enterprise CRM with a full REST and Bulk API, tiered licensing, and deep Microsoft 365 integration. ASPEC does not publish a public API for automated data extraction, so we work with customer-exported data from the ASPEC UI or direct database access, enumerating all active custom fields during a mandatory schema discovery step before any records are written to Dynamics 365. We map ASPEC Contacts to Contacts, Companies to Accounts, Opportunities to Opportunities, and Activities to the Dynamics 365 activity timeline, preserving timestamps and owner assignments throughout. We do not migrate Reports or Attachments as these are not accessible via ASPEC's documented export path, and we do not migrate workflows or automations as code. We deliver a written inventory of any ASPEC automations for your Dynamics 365 admin to rebuild in Flow.
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
ASPEC platform overview
Scorecard, SWOT, gotchas, and pricing for ASPEC.
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 ASPEC 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.
ASPEC
Contact
Microsoft Dynamics 365 Sales
Contact
1:1ASPEC Contact records with name, email, phone, address, and owner assignment map directly to Microsoft Dynamics 365 Sales Contact. We extract all standard fields and write them to Contact using the Dataverse REST API. Owner resolution happens via email match against the destination Dynamics 365 User table. Any ASPEC Contact without a matching Dynamics 365 User is held in a reconciliation queue until the customer's admin provisions the corresponding User record.
ASPEC
Company
Microsoft Dynamics 365 Sales
Account
1:1ASPEC Company records map to Microsoft Dynamics 365 Sales Account. ASPEC Company IDs are preserved in a custom field aspec_company_id__c for cross-reference. Account is created before Contact import so that the CustomerId or ParentAccountId lookup is satisfied at the moment of Contact insert. Company name becomes Account Name, domain becomes Website, and any phone or address fields map to the corresponding Account address fields.
ASPEC
Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1ASPEC Opportunities with deal name, value, stage, and expected close date map to Microsoft Dynamics 365 Sales Opportunity. Stage names from ASPEC are captured during schema discovery and mapped to Dynamics 365 StageName values under a pre-created Sales Process. Deal value maps to Amount, close date maps to CloseDate, and owner assignment maps to OwnerId via the User resolution step. Custom stage labels that do not match Dynamics 365 defaults are created as custom stage values before import.
ASPEC
Pipeline Stage
Microsoft Dynamics 365 Sales
Sales Process + Stage
lossyASPEC pipeline configurations (stage names and ordering) are captured during the schema discovery step. We pre-create a Microsoft Dynamics 365 Sales Process in the destination org that matches the ASPEC pipeline structure exactly, including custom stage labels and probability percentages. This configuration is deployed to Sandbox first, validated by the customer's admin, then moved to production before Opportunity import begins.
ASPEC
Activity
Microsoft Dynamics 365 Sales
Activity (Task, Email, Appointment)
1:1ASPEC Activity records (calls, emails, tasks, meetings) are timestamped and linked to Contact or Company records. We map them to Dynamics 365 Task and Appointment entities via the Dataverse API. Activity links are resolved by matching the ASPEC contact_id or company_id to the migrated Dynamics 365 Contact or Account ID. The original activity timestamp is preserved as ActivityDateTime on the Dynamics 365 record. Large activity histories (over 100,000 records) use the Bulk API 2.0 with batch chunking to avoid timeout.
ASPEC
Custom Field
Microsoft Dynamics 365 Sales
Custom Field
lossyASPEC stores custom field definitions separately from record data in a metadata layer. We run a mandatory schema discovery step before any data is written, enumerating every active custom field, its data type, and its assignment (Contact, Company, or Opportunity). Custom fields are pre-created in Dynamics 365 as custom fields on the corresponding entity using the appropriate Dataverse field type (string, integer, decimal, picklist, boolean, datetime) before record import begins. Skipping this step means custom field values are silently dropped during import.
ASPEC
User / Owner
Microsoft Dynamics 365 Sales
User
1:1ASPEC Owner assignments on Contact, Company, and Opportunity map to Dynamics 365 User records. Resolution is by email match. Any ASPEC Owner with no matching Dynamics 365 User is flagged in the reconciliation report with the Owner name, email, and record count. The customer's admin provisions the missing Users in Dynamics 365 and signals ready before the final migration phase begins. Inactive or archived ASPEC users require the admin to decide whether to provision an inactive Dynamics 365 User or reassign those records to an active User.
ASPEC
Tag
Microsoft Dynamics 365 Sales
Multi-Select Picklist or Topic
lossyASPEC tags on Contact and Company records are preserved as label arrays. We map them to a Dynamics 365 multi-select picklist custom field (aspec_tags__c) on the Contact or Account entity. During scoping, the customer chooses whether to use multi-select picklist or to map tags to Dynamics 365 Topics with TopicAssignment records, which provides a different UX in the Dynamics 365 timeline. Tag strategy is confirmed before import.
| ASPEC | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Sales Process + Stagelossy | Fully supported | |
| Activity | Activity (Task, Email, Appointment)1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Tag | Multi-Select Picklist or Topiclossy | 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.
ASPEC gotchas
No documented public API for automated data export
Custom field schema not stored with record data
Currency and pricing listed in CAD
Single-review sample limits migration confidence
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
Export method confirmation and scoping
We run a scoping call with the customer to confirm the ASPEC export method (UI-based CSV per object type, direct database access, or a hybrid approach). We enumerate the record types in scope: Contacts, Companies, Opportunities, Activities, Tags, and any known custom fields. We also confirm the Dynamics 365 destination org (edition, environment type, and admin contact) and identify the User provisioning timeline for owner reconciliation. The output is a written migration scope document with estimated timeline and fixed-price quote.
Schema discovery and custom field enumeration
We execute the schema discovery step against ASPEC to enumerate every active custom field, its data type, and its parent entity. This step is mandatory because ASPEC stores custom field definitions separately from record data. We produce a custom field inventory table listing each field's ASPEC name, data type, and recommended Dynamics 365 field type. We share this table with the customer's admin for validation and confirm the tag strategy (multi-select picklist vs. Topics). The inventory drives the pre-creation of custom fields in Dynamics 365 before any data is written.
Dynamics 365 Sandbox configuration and pipeline design
We configure a Dynamics 365 Sandbox environment with the custom fields from the schema discovery, Sales Process matching the ASPEC pipeline stages, and any required option set values. We deploy via the Dataverse REST API or a Sandbox deployment tool. The customer's Dynamics 365 admin reviews the configuration, validates field mapping, and signs off before production deployment. Any schema corrections happen in Sandbox, not in production. Owner reconciliation also completes during this step, with missing Users flagged for admin provisioning.
Data extraction, transform, and reconciliation
We extract data from ASPEC using the confirmed export method, performing row-count reconciliation against in-app record counts for each object. We transform records to match the Dynamics 365 schema: mapping ASPEC field values to Dynamics 365 field types, resolving ASPEC Owner IDs to Dynamics 365 User IDs via the email lookup, splitting multi-value custom fields to Dynamics 365 multi-select picklist format, and formatting dates to the Dynamics 365 ISO 8601 requirement. Any data quality issues (missing required fields, invalid formats, duplicate records) are flagged in a transform report for the customer's admin to review and resolve before load.
Production migration in dependency order
We run production migration into the Dynamics 365 production org in record-dependency order: Accounts (from ASPEC Companies) first, then Contacts with CustomerId lookup resolved, then Opportunities with OwnerId and the pre-created Sales Process resolved, then Activity history via Bulk API 2.0 for large datasets with batch chunking and parent-record resolution (WhoId, WhatId). Each phase emits a row-count reconciliation report showing records written, skipped, and failed. Failed records are remediated in a targeted retry pass before the next phase begins.
Cutover, validation, and automation handoff
We freeze ASPEC writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dynamics 365 as the system of record. We deliver a written Report and Automation inventory to the customer's Dynamics 365 admin: an enumerated list of every ASPEC layout, view, and automation requiring rebuild in Dynamics 365, with a recommended Flow equivalent for each automation trigger. We do not rebuild automations as code inside the migration scope. We support a five-business-day hypercare window for reconciliation issues raised during the first week of live use.
Platform deep dives
ASPEC
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 ASPEC and Microsoft Dynamics 365 Sales .
Object compatibility
1 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
ASPEC: Not publicly documented.
Data volume sensitivity
ASPEC 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 ASPEC to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your ASPEC 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 ASPEC
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.