CRM migration
Field-level mapping, validation, and rollback between Field Force Tracker and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Field Force Tracker
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
14 of 14
objects map 1:1 between Field Force Tracker and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3–5 business days
Overview
Field Force Tracker organizes field service data around Jobs, Customers, Locations, and Technicians with status-driven lifecycle management. Microsoft Dynamics 365 Sales uses the Dataverse model — Accounts, Contacts, Leads, Opportunities, and Activities — with relationship wiring via parentcustomerid lookups and opportunity_product rollups. We map Field Force Tracker Customers to Accounts (for companies) or Contacts (for individuals), Jobs to Opportunities, and Field Force Tracker line items to Opportunity Product records. Scheduling and dispatch logic — the core of Field Force Tracker — has no direct Dynamics 365 Sales equivalent; we migrate the data as a custom WorkOrder table in Dataverse and surface a Power Apps rebuild guide for your dispatch workflow. Technician assignments become User lookups resolved by email match, and GPS/visit data migrates as custom location fields on the WorkOrder table. We use Field Force Tracker's REST API for extraction with field-level pagination, then load via the Dynamics 365 Web API (Dataverse endpoints) with batch upsert for performance. A 24–48 hour delta pickup window captures any Jobs created or modified during cutover before we close the migration.
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
Field Force Tracker platform overview
Scorecard, SWOT, gotchas, and pricing for Field Force Tracker.
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 Field Force Tracker 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.
Field Force Tracker
Customer
Microsoft Dynamics 365 Sales
Account
1:1Field Force Tracker organizations (business customers) map 1:1 to Dynamics 365 Accounts. The Account record becomes the parent of all related Contact, Opportunity, and Activity records via parentcustomerid. We resolve the customer name to Account.Name and preserve the original customer ID as new_fft_customer_id for traceability.
Field Force Tracker
Customer (individual)
Microsoft Dynamics 365 Sales
Contact
1:1Field Force Tracker individual consumers (no company name, residential addresses) map to Dynamics 365 Contacts. We set the parentcustomerid_type to 'contact' and link residential service addresses to the Contact's address fields. Each Contact requires an AccountId — we create a placeholder Account 'Individual Customers' when individuals have no linked organization.
Field Force Tracker
Job / Work Order
Microsoft Dynamics 365 Sales
Opportunity
1:1Field Force Tracker Jobs map to Dynamics 365 Opportunities but require transformation: Job.name becomes Opportunity.name, Job.amount becomes EstimatedValue (not the standard Amount field, which is derived from Opportunity Product rollup unless your process uses line items). We preserve Job.status as a custom field new_fft_job_status since Dynamics Opportunity stage semantics differ from Field Force Tracker's job lifecycle.
Field Force Tracker
Job Line Item / Service Line
Microsoft Dynamics 365 Sales
Opportunity Product
1:1Each line item on a Field Force Tracker Job (parts, labor, travel) maps to an Opportunity Product record. We link via opportunityproduct opportunity_id and product_id lookups. If Field Force Tracker uses flat pricing not tied to a product catalog, we create a manual 'Service' product in Dynamics and set quantity and unit price from the line amount.
Field Force Tracker
Technician / Field Staff
Microsoft Dynamics 365 Sales
SystemUser
1:1Field Force Tracker technicians map to Dynamics 365 SystemUser records for owner assignment. We resolve by email match: each technician's email in Field Force Tracker is matched against a Dynamics 365 user. Unmatched technicians are flagged and assigned to a fallback user. Role assignment (technician vs. admin) maps from Field Force Tracker's user type field.
Field Force Tracker
Location / Site Address
Microsoft Dynamics 365 Sales
CustomerAddress
1:1Field Force Tracker location addresses map to Dynamics 365 CustomerAddress records (1:N from Account or Contact). We map the primary service address to addressnumber = 1 and preserve original Field Force Tracker location ID as new_fft_location_id on each address record. Multi-site customers generate multiple CustomerAddress records.
Field Force Tracker
Job Status History
Microsoft Dynamics 365 Sales
Custom Audit Fields on Opportunity
1:1Field Force Tracker records status transitions with timestamps (Scheduled → In Progress → Completed). Dynamics 365 Opportunity has no native status-history audit trail. We create custom datetime fields (new_fft_scheduled_date, new_fft_started_date, new_fft_completed_date) to preserve the lifecycle timeline for reporting continuity. These custom fields capture the actual timing of each status change as recorded in Field Force Tracker, enabling analysis of technician response times and job completion patterns within Dynamics 365.
Field Force Tracker
Visit / Check-In Log
Microsoft Dynamics 365 Sales
Custom WorkOrder Table (Dataverse)
1:1Field Force Tracker visit logs (GPS check-in, arrival/departure timestamps) have no direct Dynamics 365 Sales equivalent. We create a custom WorkOrder table in Dataverse with fields for technician (User lookup), job (Opportunity lookup), check_in_time, check_out_time, and GPS coordinates. This preserves dispatch history while keeping the CRM clean for sales-specific records.
Field Force Tracker
Job Note / Technician Note
Microsoft Dynamics 365 Sales
Annotation
1:1Field Force Tracker notes attached to Jobs map to Dynamics 365 Annotations (the Note/Post model). We preserve the original note text, created-by user, and created-on timestamp. Rich-text formatting in Field Force Tracker notes converts to plain text in Annotation.notetext — HTML preservation is not guaranteed.
Field Force Tracker
Attachment / Photo
Microsoft Dynamics 365 Sales
Annotation (RegardingFileName)
1:1Field Force Tracker file attachments (photos, signed forms) migrate as Dynamics 365 Annotations with file attachments. Files are downloaded from Field Force Tracker and re-uploaded as Annotation attachments. Dynamics 365 has a 32MB file size limit per attachment — we chunk larger files and flag oversized uploads before migration.
Field Force Tracker
Inventory / Parts Used
Microsoft Dynamics 365 Sales
Product
1:1Field Force Tracker inventory items used on Jobs map to Dynamics 365 Product records. We create Products with Field Force Tracker's part name, SKU, and unit cost. For ad-hoc parts without a catalog entry, we create 'Miscellaneous' products. Inventory quantities do not sync — Dynamics 365 Sales does not include inventory management; that's Field Service or Business Central territory.
Field Force Tracker
Invoice
Microsoft Dynamics 365 Sales
Invoice
1:1Field Force Tracker invoices map to Dynamics 365 Invoice records when the Job is completed and invoiced. We link Invoice to the originating Opportunity via opportunityid. Invoice status (Paid, Overdue, Voided) maps to invoice status values. Historical paid invoices migrate as closed Invoice records — they do not trigger Dynamics finance modules.
Field Force Tracker
User-defined Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields (new_ prefix)
1:1Any custom properties on Field Force Tracker Customers, Jobs, or Locations migrate as custom fields on the corresponding Dynamics 365 table. Classic: new_customfieldname; Unified Interface: display name set at creation. Field data types map: text→String, number→Whole Number or Decimal, date→DateTime, dropdown→Picklist. We create a solution in your Dynamics 365 environment and add all custom fields before data loads.
Field Force Tracker
Scheduling Rules / Dispatch Logic
Microsoft Dynamics 365 Sales
No Equivalent (Power Apps rebuild)
1:1Field Force Tracker scheduling rules (territory-based routing, technician skills matching, availability windows) have no Dynamics 365 Sales equivalent. We export scheduling configuration as a structured reference document and provide a Power Apps canvas app blueprint that implements the same logic against the custom WorkOrder table. This is a manual rebuild item — it is not included in the data migration scope.
| Field Force Tracker | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Customer | Account1:1 | Fully supported | |
| Customer (individual) | Contact1:1 | Fully supported | |
| Job / Work Order | Opportunity1:1 | Fully supported | |
| Job Line Item / Service Line | Opportunity Product1:1 | Fully supported | |
| Technician / Field Staff | SystemUser1:1 | Fully supported | |
| Location / Site Address | CustomerAddress1:1 | Fully supported | |
| Job Status History | Custom Audit Fields on Opportunity1:1 | Fully supported | |
| Visit / Check-In Log | Custom WorkOrder Table (Dataverse)1:1 | Fully supported | |
| Job Note / Technician Note | Annotation1:1 | Fully supported | |
| Attachment / Photo | Annotation (RegardingFileName)1:1 | Fully supported | |
| Inventory / Parts Used | Product1:1 | Fully supported | |
| Invoice | Invoice1:1 | Fully supported | |
| User-defined Custom Fields | Custom Fields (new_ prefix)1:1 | Fully supported | |
| Scheduling Rules / Dispatch Logic | No Equivalent (Power Apps rebuild)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.
Field Force Tracker gotchas
API endpoints and authentication are not publicly documented
Data migration is quoted separately and ranges $500–$3,000
Industry-specific custom fields may not map directly to generic FSM objects
Invoice and attachment formats vary between FSM platforms
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
Audit Field Force Tracker data model and export a schema map
We connect to Field Force Tracker's API using scoped read credentials and export the full object inventory: all Customer fields (standard + custom), Job fields, Line Item fields, Technician fields, Location fields, and Job Note schemas. We cross-reference against your current Dynamics 365 environment to identify existing Accounts that will match by name or domain. This audit produces the field-level mapping spreadsheet that becomes the migration blueprint — you review and approve before any data moves.
Create custom WorkOrder table and resolve technician email matches
We create the custom WorkOrder Dataverse table with all scheduling-related fields (check-in, check-out, GPS, technician lookup). We run an email-match query against your Dynamics 365 users for every Field Force Tracker technician — matched users get their Full Names linked; unmatched technicians appear in a resolution report. We also publish the Dynamics solution containing all custom fields from Field Force Tracker Job properties so the schema is ready before data loads.
Migrate parent entities first: Accounts, then Contacts, then Opportunities
Dynamics 365 requires a referential integrity sequence: Account records must exist before Opportunities can link via parentaccountid, and Opportunity Products require Opportunities to exist first. We migrate in strict order: (1) Accounts from Field Force Tracker Customers, (2) Contacts for individual customers without a company, (3) WorkOrder records for scheduling data, (4) Opportunities from Jobs with new_fft_job_status preserved, (5) Opportunity Products from Job line items. Each stage runs a count validation before the next begins.
Run sample migration and generate field-level diff
A representative sample — typically 200–500 records spanning Customers, Jobs, Line Items, and Notes — migrates first. We generate a field-level diff showing every mapped value in Field Force Tracker alongside the corresponding Dynamics 365 field. You verify that job statuses, amounts, and technician assignments rendered correctly. Approval of the sample unlocks the full migration run. Any mapping corrections from the sample apply to all records.
Execute full migration with delta-pickup window
The full dataset loads via Dynamics 365 Web API batch upsert (up to 1,000 records per request). A delta-pickup window — typically 24–48 hours from the start of the full run — captures any Jobs created or status changes made in Field Force Tracker during cutover. After delta pickup closes, we run a final reconciliation count against Field Force Tracker totals. An audit log records every create and update operation; one-click rollback reverts all Dynamics records if reconciliation fails.
Deliver dispatch rebuild reference and post-migration validation
We deliver the Power Apps canvas app specification for your dispatch workflow — wiring the WorkOrder table to technician scheduling views. We also export a scheduling-rules reference document from Field Force Tracker so your Power Platform team has the full logic map. Post-migration, we run a record-count validation, spot-check field mappings on 50 random records, and provide a discrepancy report within 4 hours of go-live. FlitStack AI support remains available for 5 business days post-migration for reconciliation questions.
Platform deep dives
Field Force Tracker
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 Field Force Tracker 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
Field Force Tracker: Not publicly documented.
Data volume sensitivity
Field Force Tracker 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 Field Force Tracker to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Field Force Tracker 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 Field Force Tracker
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.