CRM migration
Field-level mapping, validation, and rollback between The Customer Factor and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
The Customer Factor
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
9 of 10
objects map 1:1 between The Customer Factor and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
1–3 weeks
Overview
Teams move from The Customer Factor to Dynamics 365 Sales when their field-service roots need the depth of Microsoft's full CRM stack — Copilot AI, Power Automate workflows, and cross-module reporting across Sales, Service, and Finance. The migration carries every customer, prospect, estimate, job, invoice, and appointment into Dynamics 365's Dataverse schema. The hard part is the model gap: The Customer Factor stores jobs and estimates as flat records; Dynamics 365 Sales represents the same concept as Opportunities with product line items, stage pick-lists, and business process flows. We handle that transformation at migration time. We read data from The Customer Factor via API export or CSV, transform it to match Dynamics 365 field types, and load it through Dataverse APIs. Workflows, automations, QuickBooks integrations, and custom scripts do not migrate — they have to be rebuilt in Dynamics 365 or Power Automate. The migration itself is scoped read access; your team keeps working in The Customer Factor throughout.
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
The Customer Factor platform overview
Scorecard, SWOT, gotchas, and pricing for The Customer Factor.
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 The Customer Factor 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.
The Customer Factor
Customer
Microsoft Dynamics 365 Sales
Account
1:1The Customer Factor customer maps directly to a Dynamics 365 Account. Company name becomes Account.Name; address, phone, email, and website fields map to standard Account fields. Parent-company hierarchies, if used in The Customer Factor, map to Account.ParentAccountId. Any related contacts are linked via the Account.Contacts relationship, preserving the full contact history from the source system.
The Customer Factor
Prospect
Microsoft Dynamics 365 Sales
Lead / Contact
1:manyThe Customer Factor prospect has no explicit lifecycle stage — every prospect is a contact record. We split on a decision: prospects with a converted estimate or job route to Contact on an Account; unconverted prospects route to a Dynamics 365 Lead so the sales team can work the qualification process normally.
The Customer Factor
Estimate
Microsoft Dynamics 365 Sales
Opportunity (product line items)
1:1The Customer Factor estimate is a header record with line items. It maps to a Dynamics 365 Opportunity with the estimate total as the Opportunity.Amount and each line item as an OpportunityProduct record with product name, quantity, and unit price. The Estimate.ID is preserved in a custom Source_Estimate_ID__c field for traceability.
The Customer Factor
Job
Microsoft Dynamics 365 Sales
Opportunity
1:1Jobs are the core transactional record in The Customer Factor. They map to Opportunities where job status maps to a stage name (e.g., Scheduled, In Progress, Completed), the estimated amount maps to Amount, and the actual billed amount is stored in a custom Job_Actual_Amount__c field. The job's linked customer becomes the Opportunity's Account lookup.
The Customer Factor
Invoice
Microsoft Dynamics 365 Sales
Opportunity (reference)
1:1The Customer Factor invoice references a job and carries total amount and status. In Dynamics 365, the invoice is represented by the Opportunity that the job created; the invoice number and paid status are stored as custom fields on that Opportunity so reporting stays tied to the deal record.
The Customer Factor
User / Owner
Microsoft Dynamics 365 Sales
SystemUser / OwnerId
1:1The Customer Factor owner ID resolves to a Dynamics 365 SystemUser by email match. Unmatched owners are flagged before migration — your team either invites them to Dynamics 365 first or assigns their records to a fallback owner. No record lands without a valid OwnerId.
The Customer Factor
Custom Field (The Customer Factor)
Microsoft Dynamics 365 Sales
Custom Column (Dataverse)
1:1Every The Customer Factor custom field gets a new column in Dataverse. The schema name appends _cf (e.g., job_type becomes job_type_cf). The field type is assessed at migration time against Dataverse-supported types — pick-lists, decimals, and date fields are all migratable; unsupported types are flagged before the schema is built.
The Customer Factor
Document / Attachment
Microsoft Dynamics 365 Sales
Note (with Azure Blob fallback)
1:1The Customer Factor file attachments on customers, jobs, and invoices have no native Dynamics 365 equivalent at the file-storage level. We re-upload files to Dynamics 365 Notes or to an associated SharePoint document library linked to the Account or Opportunity, preserving the original filename and upload date.
The Customer Factor
Item / Service (catalog)
Microsoft Dynamics 365 Sales
Product (Dynamics 365 Product Catalog)
1:1The Customer Factor items or services used on estimates and jobs map to Dynamics 365 Products. Each product gets a name, unit price, and product type (sales item vs. service). If The Customer Factor uses a flat item list, we create corresponding Products in Dynamics 365 before linking them to migrated OpportunityProduct records.
The Customer Factor
Appointment
Microsoft Dynamics 365 Sales
Activity (Appointment / PhoneCall)
1:1The Customer Factor appointment with subject, scheduled date, duration, and linked customer or job maps to a Dynamics 365 Appointment record. The original scheduled date and duration are preserved; the appointment is linked to the Account or Contact that resulted from the customer migration.
| The Customer Factor | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Customer | Account1:1 | Fully supported | |
| Prospect | Lead / Contact1:many | Fully supported | |
| Estimate | Opportunity (product line items)1:1 | Fully supported | |
| Job | Opportunity1:1 | Fully supported | |
| Invoice | Opportunity (reference)1:1 | Fully supported | |
| User / Owner | SystemUser / OwnerId1:1 | Fully supported | |
| Custom Field (The Customer Factor) | Custom Column (Dataverse)1:1 | Fully supported | |
| Document / Attachment | Note (with Azure Blob fallback)1:1 | Fully supported | |
| Item / Service (catalog) | Product (Dynamics 365 Product Catalog)1:1 | Fully supported | |
| Appointment | Activity (Appointment / PhoneCall)1: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.
The Customer Factor gotchas
Client cap applies to all tiers including paid plans
No public API — export is manual CSV only
Automated follow-up sequences do not migrate
Cancellation requires email to support with no self-service option
Texting requires third-party integration
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 data audit
FlitStack inventories all object and field counts from The Customer Factor — customers, prospects, estimates, jobs, invoices, appointments, and any custom fields. We profile data quality: duplicate customers, missing email addresses, stale estimates, and orphaned jobs are flagged and reported. This audit feeds the Dynamics 365 schema design phase and determines the final scope before a fixed price is confirmed.
Design Dynamics 365 target schema
We design the Dynamics 365 schema to receive The Customer Factor data. This includes creating custom tables for job-related data that doesn't fit standard Opportunity fields, mapping standard Account and Contact fields, deciding on a job-to-opportunity transformation strategy with product line items, and configuring Dataverse security roles. We deliver a schema setup plan before data lands so your admin can pre-create custom fields.
Resolve owner identity by email match
The Customer Factor owner IDs are matched against Dynamics 365 user accounts by email address. Unmatched owners are flagged with the specific email addresses that failed to resolve — your team either invites those users to Dynamics 365 first or assigns their records to a designated fallback owner. No record migrates without a valid OwnerId; this prevents orphaned records in Dynamics 365.
Run a test migration with field-level diff
A representative slice of records — typically 50 to 200 spanning customers, prospects, estimates, jobs, and appointments — migrates to Dynamics 365 in a test run. We generate a field-level diff report comparing source values against the migrated destination values. You review the diff to verify job-to-opportunity mapping, custom field values, and owner resolution before we commit to the full run.
Execute full migration with delta pickup
The full migration runs against Dynamics 365 using a scoped read connection to The Customer Factor. A delta-pickup window captures any records created or modified during the cutover period. Original create dates are preserved in custom datetime fields since Dynamics 365 CreatedOn reflects migration time, not the original record date. Source system IDs are stored on every record for traceability and audit logging.
Platform deep dives
The Customer Factor
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 The Customer Factor 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
The Customer Factor: Not publicly documented.
Data volume sensitivity
The Customer Factor 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 The Customer Factor to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your The Customer Factor 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 The Customer Factor
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.