CRM migration

Migrate from The Customer Factor to Microsoft Dynamics 365 Sales

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 logo

The Customer Factor

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

90%

9 of 10

objects map 1:1 between The Customer Factor and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

1–3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

The Customer Factor logo

The Customer Factor

What's pushing teams away

  • The single-user-per-account model becomes a hard ceiling for growing teams; multi-technician operations report being forced to a platform that supports multiple concurrent users.
  • The inability to cancel or export account data through standard self-service channels creates friction and prompts churn, with at least one customer reporting an unresponsive cancellation request via email.
  • Customization depth lags behind competitors like Housecall Pro; businesses that need custom forms, flexible workflows, or deeper field service routing features migrate away.
  • The 50-client cap on all tiers including paid plans means businesses with more than 50 active customers must upgrade or leave, with no clear upgrade path visible in the pricing structure.
  • Texting functionality depends on a third-party integration rather than being built into the platform, which frustrates users expecting an all-in-one communication hub.

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 The Customer Factor objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

The 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

maps to

Microsoft Dynamics 365 Sales

Lead / Contact

1:many
Fully supported

The 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

maps to

Microsoft Dynamics 365 Sales

Opportunity (product line items)

1:1
Fully supported

The 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Jobs 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

maps to

Microsoft Dynamics 365 Sales

Opportunity (reference)

1:1
Fully supported

The 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

maps to

Microsoft Dynamics 365 Sales

SystemUser / OwnerId

1:1
Fully supported

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

maps to

Microsoft Dynamics 365 Sales

Custom Column (Dataverse)

1:1
Fully supported

Every 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

maps to

Microsoft Dynamics 365 Sales

Note (with Azure Blob fallback)

1:1
Fully supported

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

maps to

Microsoft Dynamics 365 Sales

Product (Dynamics 365 Product Catalog)

1:1
Fully supported

The 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

maps to

Microsoft Dynamics 365 Sales

Activity (Appointment / PhoneCall)

1:1
Fully supported

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

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.

The Customer Factor logo

The Customer Factor gotchas

High

Client cap applies to all tiers including paid plans

High

No public API — export is manual CSV only

Medium

Automated follow-up sequences do not migrate

Medium

Cancellation requires email to support with no self-service option

Low

Texting requires third-party integration

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

  • The Customer Factor API rate limits require batched export strategy

    The Customer Factor's export API enforces rate limits around 100 requests per minute on data operations. Large migrations with tens of thousands of records — customers, jobs, estimates, invoices, and activities — need a chunked export strategy with smaller batch sizes to avoid HTTP 429 responses that halt the migration run. We monitor response headers throughout extraction and throttle export loops accordingly. Without this batching approach, the migration can stall mid-run and require a full restart, extending timeline and cost.

  • Prospect-to-Lead split without lifecycle data risks pipeline visibility

    The Customer Factor has no lifecycle stage concept — every prospect is a contact record. In Dynamics 365 Sales, Leads and Contacts are separate objects with distinct pipeline visibility. Migrating all prospects as Contacts without qualifying them as Leads means deal records miss the sales pipeline and won't appear in Dynamics 365 reporting until manually reclassified. We flag this gap in the migration plan and route converted prospects (those with a linked job or estimate) directly to Contacts, leaving unconverted prospects as Leads.

  • Custom field data types may not map to Dataverse field types

    The Customer Factor custom fields are stored under a generic name with an inferred type. Dataverse enforces strict field types at creation time — a pick-list requires pre-defined options, a currency field requires a precision setting, and a date field cannot accept free text. Mismatches between The Customer Factor's inferred type and Dataverse's enforced type cause validation errors during load. We audit every custom field's data in The Customer Factor before creating the corresponding Dataverse column.

  • Dynamics 365 API request allocations can throttle large migrations

    Microsoft Power Platform enforces per-user daily API request allocations that apply to Dataverse API operations, including bulk data loads during migration. A migration loading 20,000+ records can hit these limits and receive HTTP 429 responses mid-run. We track Dataverse API consumption during the migration run, implement exponential back-off on throttled requests, and schedule bulk operations during lower-traffic windows to avoid exceeding daily quotas. This prevents data loss and ensures the migration completes without manual intervention.

  • Access control models are incompatible — manual security redesign required

    The Customer Factor uses per-account access control where users see their assigned accounts and related records. Dynamics 365 Dataverse uses role-based security with Business Units, Teams, and field-level security profiles. Permissions set in The Customer Factor cannot be translated mechanically — the migration plan surfaces this gap and we recommend a Dataverse security redesign session with your admin before go-live so the right roles and sharing rules are in place before users access the system.

Migration approach

Six steps for a successful The Customer Factor to Microsoft Dynamics 365 Sales data migration

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

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

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

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

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

Context on both ends of the pair

The Customer Factor logo

The Customer Factor

Source

Strengths

  • Free tier available for up to 50 clients with no credit card required to start.
  • All-in-one dashboard shows due contacts, pending estimates, and follow-up tasks in one view.
  • Estimate-to-job conversion with one click reduces administrative steps for field service workflows.
  • Five invoice format templates with logo, font, and custom field customization included.
  • Mobile access available across all pricing tiers.

Weaknesses

  • Hard 50-client limit applies to all tiers, including paid plans, with no published client count tiers above that level.
  • Single-user architecture prevents multi-technician access to the same account simultaneously.
  • No public API documented; data export is limited to manual CSV download from the UI.
  • Automated follow-up sequences and callback schedules do not export and must be rebuilt at the destination.
  • Account cancellation requires direct email contact with support rather than self-service control.
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. 1 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 The Customer Factor and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 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

    The Customer Factor: Not publicly documented.

  • Data volume sensitivity

    B

    The Customer Factor doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your The Customer Factor 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 The Customer Factor to Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

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 consultation

Most The Customer Factor to Dynamics 365 migrations complete in 1–3 weeks for setups with under 10,000 records. Larger migrations with 50,000+ records, multiple custom fields, and complex job-to-opportunity transformation logic extend to 3–6 weeks. The discovery and schema design phase takes the longest planning time; the actual data movement itself runs in hours to a few days depending on API rate limits and record volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Customer Factor.
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