CRM migration

Migrate from FieldFX to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between FieldFX and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

FieldFX logo

FieldFX

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

10 of 10

objects map 1:1 between FieldFX and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

3–5 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

FieldFX is a field service management (FSM) platform delivered as a Salesforce managed package — it extends the Salesforce data model with custom FSM objects (Tickets, Work Orders, Work Order Line Items) and industry-specific modules for scheduling, dispatch, timecards, and invoicing. Microsoft Dynamics 365 Sales runs on the Dataverse data platform and ships without native FSM capability; teams that need field-service features must layer in the Dynamics 365 Field Service module or build custom Dataverse tables. The migration therefore involves a dual challenge: extracting FieldFX data from its Salesforce org using SOQL or Bulk API, then mapping custom FSM objects to Dataverse conventions — either Case entities, custom FSM tables, or junction tables for line-item relationships. We preserve original create dates, technician assignments, work-order actuals, and ticket-line pricing. Automations, workflows, dispatch rules, and SLA configurations built in FieldFX do not migrate and must be rebuilt in Dynamics 365's Power Automate or Field Service scheduling boards.

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

FieldFX logo

FieldFX

What's pushing teams away

  • Steep Salesforce admin and consultant requirement — organizations without dedicated Salesforce expertise struggle with custom field configuration, API limits, and package upgrades.
  • Quarterly push upgrades can introduce breaking changes to customizations, workflow rules, and field dependencies without warning.
  • API rate limits tied to Salesforce edition and per-user app limits can throttle sync-heavy operations during peak dispatch seasons.
  • Complex licensing model with per-module licenses (FX CPQ, FX EAM, FX Invoicing, etc.) adds up quickly as teams expand.
  • Mobile sync errors can cause data staleness for field crews in low-connectivity environments, with limited visibility into sync failure root causes.

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

Each row shows how a FieldFX 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.

FieldFX

Account

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

FieldFX uses standard Salesforce Account objects to store company data — Name, Industry, AnnualRevenue, and NumberOfEmployees are among the fields that map directly to D365 Account attributes. Industry pick-list values require value-by-value mapping since D365 ships with its own industry taxonomy. Parent-account hierarchies (if configured) map to the D365 Parent Account lookup.

FieldFX

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

FieldFX stores contact records on standard Salesforce Contact with name, email, phone, and address fields. These map directly to D365 Contact attributes using the same field semantics. Any FieldFX-specific contact properties — technician role, certification flags — migrate as custom fields on the D365 Contact table. Original create dates from Salesforce CreatedDate are preserved as a custom datetime field.

FieldFX

Ticket

maps to

Microsoft Dynamics 365 Sales

Custom FSM Case Table

1:1
Fully supported

D365 Sales has no native ticket equivalent. FieldFX Ticket records migrate to a custom Dataverse Case table pre-created by your admin (or by FlitStack as part of the schema setup plan). The custom table must exist before migration so foreign-key lookups can resolve. Ticket status values map as option-set integers on the custom case table — a mismatch in integer values causes incorrect status display.

FieldFX

Work Order

maps to

Microsoft Dynamics 365 Sales

Custom FSM Work Order Table

1:1
Fully supported

FieldFX Work Order is a primary custom object with a parent Ticket lookup, work-type classification, and a set of actual and estimated fields. D365 Sales ships no Work Order entity. We map this to a custom Dataverse table named to match your FSM naming convention, pre-created before migration. Work Order Line Items require a separate junction table in Dataverse because D365 has no built-in order-detail entity.

FieldFX

Work Order Line Item

maps to

Microsoft Dynamics 365 Sales

Custom FSM Work Order Detail Junction

1:1
Fully supported

FieldFX Work Order Line Items store parts, labor, and travel line types with quantity, unit price, cost, and duration. Each line has a master-detail relationship to Work Order. D365 Sales has no equivalent — we map this to a custom Dataverse junction table with lookup columns to the custom Work Order table and to the Contact or Account for service-resource assignment.

FieldFX

Ticket Line Item

maps to

Microsoft Dynamics 365 Sales

Custom Case Detail Table

1:1
Fully supported

FieldFX Ticket Line Items store the line-level detail of each service event — description, quantity, work type, pricing, and labor hours. D365 Sales has no Case Product or equivalent for ticket-level line items. We model this as a custom Dataverse table with a lookup to the custom FSM case table, preserving the parent-child hierarchy from FieldFX.

FieldFX

Task / Activity

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

FieldFX creates Salesforce Tasks for service-call log entries, follow-up actions, and dispatch communications. These map directly to D365 Task records. Original timestamps, subject, and owner fields carry over. Uncompleted tasks retain their status as open items in D365 for your team to action after cutover.

FieldFX

Attachment / File

maps to

Microsoft Dynamics 365 Sales

Note (Attachment)

1:1
Fully supported

FieldFX file attachments on tickets and work orders (such as signatures, photos, or PDF reports) re-upload to D365 Notes with an attachment lookup to the target custom FSM table. Salesforce Files are downloaded and re-uploaded to D365 SharePoint-connected or Dataverse file storage. File size limits from D365 apply — files over 32 MB require chunked upload handling.

FieldFX

FX Custom Objects (EAM / Schedule / Dispatch / Timecards)

maps to

Microsoft Dynamics 365 Sales

Custom Dataverse Tables

1:1
Fully supported

FieldFX EAM, Schedule & Dispatch, and Timecards modules introduce additional custom objects beyond core FSM tickets and work orders. Each module's custom objects map to custom Dataverse tables. Your admin decides which module objects to carry over — assets from EAM may map to D365 Field Service Customer Assets if the Field Service module is licensed. Non-FSM module objects are candidates for archival or exclusion.

FieldFX

User / Owner

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

FieldFX user records exist in Salesforce as Users with assigned profiles and permission sets. Owner resolution maps by email — each Salesforce User email is matched against a D365 SystemUser record. Unmatched owners are flagged before migration so your team either creates the D365 user first or assigns records to a fallback owner. Role hierarchies from FieldFX do not migrate and must be re-established in D365 security roles.

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.

FieldFX logo

FieldFX gotchas

High

API rate limits vary by Salesforce edition and request type

Medium

Deprecated Attachments feature requires Files API migration

Medium

Workflow Rules retirement leaves automations without a migration path

Medium

Travel time calculations require appointment rescheduling post-migration

Low

Custom field API name length causes browser errors on mobile

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

  • Option-set integer mismatch corrupts FSM pick-list display

    Dataverse enforces that option-set (pick-list) fields store integer values, not string labels. If FieldFX ticket status or work-order priority values are mapped without checking D365 option-set integer definitions, records land with the wrong display label — a ticket shows 'Closed' but the underlying integer maps to 'New' in D365. We validate option-set integer definitions on the custom Dataverse tables before migration runs and surface any mismatch as a pre-flight action item requiring manual option-set creation or re-indexing.

  • D365 Sales has no native field service object model

    FieldFX tickets and work orders are primary data objects in Salesforce — the entire FSM workflow revolves around them. Dynamics 365 Sales ships without a field service layer; the standard Case table is a support-case construct, not a service-ticket or work-order object. Teams must either license Microsoft Dynamics 365 Field Service (which adds a separate product with its own scheduling boards and resource management) or build custom Dataverse FSM tables. The migration maps FieldFX tickets and work orders to whichever approach your organization selects — we cannot guess which without your FSM strategy decision, and the table schema must be built before data can land.

  • Extraction pipeline must bridge two different API ecosystems

    FieldFX data lives in your Salesforce org — the extraction runs against Salesforce REST, Bulk, or Chatter APIs on the custom FieldFX managed package objects (Ticket__c, Work_Order__c, and related). The destination is the Microsoft Dataverse Web API (the underlying API of Dynamics 365 Sales). This is not a single-API migration; it requires a pipeline that authenticates to Salesforce, queries the managed package objects with SOQL, transforms the response to Dataverse entity format, and upserts into D365. API rate-limit budgets on both sides must be managed independently during the migration window.

  • Sales Professional table limit constrains FSM object count

    Dynamics 365 Sales Professional caps the number of custom Dataverse tables at 15. FieldFX typically introduces 8–15 custom FSM objects (Tickets, Work Orders, Work Order Line Items, Ticket Line Items, EAM assets, and module-specific objects) plus any custom fields on standard objects. Teams on Sales Professional who want to carry all FieldFX custom objects may exceed the table limit and must either drop lower-priority module objects, archive them to a data lake, or upgrade to Sales Enterprise before migration. We include a table-count audit in the pre-flight schema plan.

  • FX EAM assets require D365 Field Service Customer Asset mapping

    FieldFX EAM tracks physical assets with location, status, and maintenance history. D365 has no standard asset-management table in Sales alone — the Microsoft Dynamics 365 Field Service product includes a Customer Asset entity that stores equipment linked to installed-at accounts. If you are migrating FieldFX EAM data and intend to keep asset tracking, you must license Field Service so the Customer Asset table exists. Otherwise, EAM asset records are migrated as a custom Dataverse table or archived as a reference dataset, losing the linked-account relationship.

Migration approach

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

  1. Audit FieldFX custom objects and extract source schema

    FlitStack AI connects to your FieldFX Salesforce org using scoped read credentials and catalogs all custom FSM objects — Ticket__c, Work_Order__c, Work_Order_Line_Item__c, Ticket_Line_Item__c, and any EAM or module-specific objects. We export the Salesforce metadata for each object including field types, pick-list values, and relationship cardinality (lookup vs. master-detail). This audit produces the definitive list of what will migrate, what will be archived, and what requires custom Dataverse table creation on the D365 side.

  2. Design custom Dataverse table schema on D365 Sales

    Based on the FieldFX schema audit, FlitStack AI produces a Dataverse schema setup plan: which custom tables to create (FSM Case, FSM Work Order, Work Order Detail junction, Case Detail), what columns each table needs, what data types to use, and which option-sets to pre-create with matching integer values. This plan is reviewed with your D365 admin before any table is created so the schema is ready before extraction begins. We also confirm whether Microsoft Dynamics 365 Field Service is in scope for Customer Asset migration.

  3. Resolve owners and users across both platforms

    FieldFX technicians, dispatchers, and service managers exist as Salesforce Users. Owner resolution matches each Salesforce User email against a D365 SystemUser record by email lookup. Records with unmatched owners are flagged before migration so your team either creates the D365 user first or assigns those records to a fallback technician. Scheduling-board assignments from FX Schedule & Dispatch do not migrate — resource scheduling must be rebuilt on D365 Field Service boards after go-live.

  4. Run sample migration with field-level diff

    A representative slice migrates first — typically 200–500 records spanning accounts, contacts, tickets, work orders, and line items across at least two technicians. We generate a field-level diff between the Salesforce source values and the D365 target values for each record so you can verify that option-set integers display correctly, junction-table relationships resolve, and technician assignments map as expected. You sign off on the sample before the full run is scheduled.

  5. Execute full migration with delta-pickup and audit log

    The full migration runs against D365, loading accounts and contacts first (so foreign-key lookups resolve for tickets and work orders), then custom FSM tables with their junction detail rows. A delta-pickup window (typically 24–48 hours) captures any FieldFX records modified during the cutover. FlitStack AI maintains an audit log of every record upserted, updated, or skipped. One-click rollback is available if reconciliation identifies data-integrity issues. After final reconciliation, your team cuts over to D365 Sales.

Platform deep dives

Context on both ends of the pair

FieldFX logo

FieldFX

Source

Strengths

  • Built on Salesforce — inherits the full Salesforce object model, security, and API ecosystem.
  • Modular architecture lets organizations adopt E-Ticketing, Invoicing, Timecards, and Dispatch independently.
  • Offline-first FieldFX Mobile with Sync Engine reconciliation for field crews in low-connectivity areas.
  • DataGuide enables compliance-ready digital forms with version control, validation, and PDF output.
  • Customer Self-Service portal extends ticket visibility to end customers without additional back-office user licenses.

Weaknesses

  • Requires active Salesforce administration to manage licenses, custom fields, and quarterly package upgrades.
  • Deprecated Attachments feature in favor of Files API creates a migration compatibility issue for long-standing orgs.
  • API limits are tied to Salesforce edition — larger field operations can hit throttling during heavy sync windows.
  • Workflow Rules retirement forces organizations to rebuild automations in Flow or lose functionality silently.
  • Sync Engine v4 changes require testing against existing mobile device fleets before production deployment.
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 FieldFX 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

    FieldFX: Org-wide 24-hour rolling REST API limit varies by Salesforce edition; per-user per-app per-hour Batch API limit; 25 requests per minute for FX Reports API.

  • Data volume sensitivity

    A

    FieldFX exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

Walk through your FieldFX 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 FieldFX-to-Dynamics-365-Sales migrations complete in 3–5 days of clock time for under 10,000 records. Larger setups with 100,000+ records or heavy custom FSM / EAM objects extend to 2–4 weeks. The pre-flight schema design phase (custom Dataverse table creation and option-set setup) adds 1–2 weeks on top of the data migration window and is the longest planning step when carrying over multiple FieldFX modules.

Adjacent paths

Related migrations to explore

Ready when you are

Move from FieldFX.
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