CRM migration

Migrate from Fergus to Microsoft Dynamics 365 Sales

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

Fergus logo

Fergus

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

92%

11 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Fergus organizes field-service work around Jobs, Clients, Sites, and Quotes with built-in pricing tiers and Xero or QuickBooks accounting integration. Dynamics 365 Sales is a CRM that tracks Leads, Accounts, Contacts, and Opportunities — it has no native job-card entity and routes accounting through the separate Business Central module. The migration maps Fergus clients to Dynamics 365 Accounts (with new_pricingtier custom field), sites to sub-Accounts with address stacks, jobs to a custom Job__c table with name, description, status, scheduled date, and amount fields, and Fergus quotes to Opportunities in the Opp-Sub-Status pick-list so the Dynamics sales process is consistent with your pipeline stages. Job phases become Opportunity Product line items with quantity and unit price. Automations and workflow rules do not migrate automatically — FlitStack exports your Fergus workflow definitions as a structured reference document for your Dynamics admin to rebuild in Power Automate or Dataverse workflows. The migration uses Fergus's REST API (100 req/min limit, paginated) for extraction and Dynamics 365's bulk Create/Update endpoints for loading, with field-level validation and a delta-pickup window after cutover to capture last-minute changes.

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

Fergus logo

Fergus

What's pushing teams away

  • Navigational friction when editing invoices — changing margins on materials and moving between screens feels fiddly, per Capterra reviews
  • Limited reporting and analytics depth that makes it difficult to extract meaningful business insights from historical job data
  • Scaling limitations as businesses grow beyond basic job management into complex project tracking or multi-location operations
  • Integration limitations with non-standard accounting software that forces some businesses to maintain duplicate records or manual exports

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

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

Fergus

Client

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Fergus clients map directly to Dynamics 365 Accounts. We preserve the new_pricingtier custom field to hold the Fergus pricing-tier name so your Dynamics admin can rebuild the tier as a price-list setup or leave it as a reference field on the Account record.

Fergus

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Fergus Contact records map directly to Dynamics Contacts with a 1:1 relationship, attached to the parent Account record. We preserve the original Fergus contact ID in the new_ferguscontactid custom field to maintain traceability throughout the migration and support delta-run de-duplication processes on subsequent data synchronizations.

Fergus

Site

maps to

Microsoft Dynamics 365 Sales

Account (child record via Parent Account)

1:1
Fully supported

Fergus sites have no native Dynamics 365 equivalent, so we create a child Account record under the primary client Account. The site name, full address fields (street, city, state, postcode, country), and new_sitetype custom field are migrated onto this child Account. Parent-child linking between the site Account and client Account is achieved using the Dynamics ParentAccountId relationship field.

Fergus

Job

maps to

Microsoft Dynamics 365 Sales

Job__c (custom table)

1:1
Fully supported

Dynamics 365 Sales has no native job-card entity. We create a custom Job__c table in Dataverse with fields for name, description, new_jobstatus pick-list, new_scheduleddate, new_jobvalue, and a lookup to the parent Account and Site Account. This preserves the full job record without forcing it into the Opportunity object.

Fergus

Quote

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Fergus quotes map to Dynamics Opportunities. The Fergus quote status (draft, sent, accepted, declined, expired) becomes a new_quotestatus custom pick-list on the Opportunity record, mapped value-by-value to your Dynamics sales process stages. Quote total amount maps to the Opportunity EstimatedValue field, preserving financial data for pipeline reporting.

Fergus

QuoteLineItem

maps to

Microsoft Dynamics 365 Sales

OpportunityProduct (Opportunity Line Item)

1:1
Fully supported

Fergus quote line items become Opportunity Products with standard Quantity, UnitPrice, and Description fields. The line item Description captures the Fergus product or service name. Each line item links back to the parent Opportunity via OpportunityId and optionally connects to the related Job__c record via a custom lookup field if a job-to-quote association exists in Fergus.

Fergus

Invoice

maps to

Microsoft Dynamics 365 Sales

SalesOrder (or Invoice table depending on status)

1:1
Fully supported

Fergus invoices with a 'paid' status map to Dynamics SalesOrder records in an invoiced state; unpaid invoices map to open Order records. We preserve the original paid status as a new_invoicestatus custom field on the SalesOrder so your Dynamics admin can verify reconciliation against Fergus records post-migration and confirm all payments transferred correctly.

Fergus

Pricing Tier

maps to

Microsoft Dynamics 365 Sales

new_pricingtier (custom field on Account)

1:1
Fully supported

Fergus pricing tiers are a named property on clients — they do not have a direct Dynamics equivalent. We migrate the tier name as a custom pick-list field (new_pricingtier) on Account with value-by-value mapping to the exact tier names in Fergus. Rebuild as price-list logic is a separate step for your Dynamics admin.

Fergus

Job Phase

maps to

Microsoft Dynamics 365 Sales

OpportunityProduct (line item per phase)

many:1
Fully supported

Fergus job phases are a list of stages on a job. We collapse them into Opportunity Product line items on the linked Opportunity with Description storing the phase name and Quantity = 1, UnitPrice = 0 or the phase value if charged. This preserves phase history without requiring a custom phase object.

Fergus

Attachment / File

maps to

Microsoft Dynamics 365 Sales

Note (with file attachment)

1:1
Fully supported

Fergus file attachments on jobs, quotes, and clients are re-uploaded as Dynamics Notes with the file body stored in SharePoint or Dataverse file storage. File size limits per Dynamics apply; inline images in rich-text notes are downloaded and rehosted, then re-inserted into the new system with links preserved. The note rendering may differ slightly from Fergus's original formatting.

Fergus

Asset (Fergus custom)

maps to

Microsoft Dynamics 365 Sales

Asset__c (custom table)

1:1
Fully supported

Fergus asset records tracking equipment and assets at a client site have no standard Dynamics equivalent. We create a custom Asset__c table in Dataverse with fields for asset name, new_assettype custom field for asset classification, new_location field as a lookup to the Site Account, and a link to the parent client Account for asset-to-account reporting and asset lifecycle management.

Fergus

Owner / Staff

maps to

Microsoft Dynamics 365 Sales

SystemUser (OwnerId on all records)

1:1
Fully supported

Fergus owner assignments are resolved by email match against Dynamics 365 SystemUser records. Unmatched owners are flagged before migration — your team either creates the Dynamics user first or assigns to a fallback owner. No record lands without a valid OwnerId.

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.

Fergus logo

Fergus gotchas

High

100 req/min API rate limit constrains bulk exports

Medium

Customer pricing tier data requires explicit mapping

Medium

Quote and invoice warning badges are state-dependent

Medium

No documented public schema for custom fields

Low

Job photos and attachments require separate file export

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

  • Fergus Jobs have no native Dynamics 365 Sales equivalent — a custom Job__c table is required

    Dynamics 365 Sales ships without a job-card entity — the CRM paradigm is lead-account-contact-opportunity, not client-site-job. We create a custom Job__c Dataverse table with new_jobname, new_jobstatus, new_scheduleddate, new_jobvalue, new_clientaccountid (lookup to Account), and new_siteaccountid (lookup to the child site Account). Sales reps and field technicians must be trained on the Job__c custom form; page layouts, security roles, and app navigation need to include the Job tab explicitly for the custom table to appear in everyday use.

  • Fergus API enforces a 100 req/min rate limit that throttles large exports

    Fergus's API imposes 100 requests per minute per company, shared across all endpoints. With large datasets (5,000+ jobs, 10,000+ quote line items), pagination and request batching add processing time that can push a full export to several hours. We handle rate-limit headers (x-ratelimit-remaining, retry-after) automatically, pacing exports to avoid 429 responses, but you should plan for a longer extraction window than you would with a less-restricted source API to avoid unexpected delays during the migration run.

  • Fergus file attachments require re-upload to Dynamics — rich-text formatting in notes may not survive intact

    Fergus stores attachments on jobs, quotes, and clients. Dynamics 365 Sales re-uploads these as Note records with file bodies in SharePoint or Dataverse file storage. Inline images embedded in Fergus rich-text notes are downloaded, re-hosted, and re-inserted — formatting that relied on Fergus's note rendering engine may not survive the round-trip identically. We validate attachment count and file size against Dynamics attachment limits before the migration runs, flagging any files that exceed the platform thresholds.

  • Fergus pricing tiers must be rebuilt manually in Dynamics 365 Sales as price-list logic or custom fields

    Fergus pricing tiers are a named property on clients storing custom rate schedules. Dynamics 365 Sales has no native pricing-tier concept — the tier name migrates as new_pricingtier custom field on Account with value-by-value mapping to your exact Fergus tier names, but the actual rate logic (discount percentages, material markups, labor rates per tier) has no Dynamics equivalent out of the box. Your Dynamics admin must rebuild this as a price-list setup (PriceListItems per tier), as custom fields with formulas, or via Power Apps.

  • Fergus accounting integration with Xero and QuickBooks does not migrate — invoices transfer as records only

    Fergus's native Xero and QuickBooks integration handles invoicing, payment recording, and expense attribution. Dynamics 365 Sales has no built-in accounting module — Business Central is a separate product and license. We migrate Fergus invoice records (number, amount, status, date) to SalesOrder records with a new_invoicestatus field, but the live integration with Xero or QuickBooks must be rebuilt after go-live. Any payment reconciliation history in Fergus should be verified against Dynamics records before closing the Fergus account.

Migration approach

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

  1. Extract Fergus data via API with pagination and rate-limit pacing

    We connect to the Fergus REST API using scoped read access, paginating through clients, sites, contacts, jobs, quotes, quote line items, and invoices in sequence. API calls are paced to respect Fergus's 100 req/min limit using the x-ratelimit-remaining and retry-after response headers. Each object is exported to a staging dataset, de-duplicated against the Fergus internal ID, and validated for required field completeness before mapping begins.

  2. Stand up Dynamics 365 Sales schema — custom Job__c table, custom fields, and lookup relationships

    Before any data lands, we create the Job__c custom table in Dataverse with all new_ prefixed fields, establish the lookup relationships to Account (client and site), and configure the new_pricingtier, new_jobstatus, new_quotestatus, and new_invoicestatus pick-lists with exact value mappings to Fergus pick-list values. We deliver a schema setup checklist so your Dynamics admin can pre-create page layouts, security roles, and app navigation for Job__c before the migration runs.

  3. Resolve owners and users by email match against Dynamics 365 SystemUser records

    Fergus owner_id values are resolved by email against your Dynamics 365 tenant's SystemUser table. Unmatched owners are flagged and reported before migration — your team either invites the user to Dynamics first or assigns their records to a designated fallback owner. No record lands in Dynamics without a valid OwnerId, and owner resolution is verified in the sample migration before the full run.

  4. Run a sample migration with field-level diff before the full run

    A representative slice of data — typically 100–500 records spanning clients, sites, jobs, quotes, and a few line items — migrates first. We generate a field-level diff between the Fergus source and Dynamics destination so you can verify new_jobstatus mapping, pricing-tier preservation, site-to-child-account linkage, and owner resolution before the full run commits. You sign off on the diff before we proceed.

  5. Cut over with delta-pickup window and one-click rollback available

    The full migration runs against Dynamics 365 Sales. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Fergus during the cutover so Dynamics reflects Fergus's final state at go-live. The audit log records every create and update operation. If reconciliation fails — a missing owner, a failed lookup, or a record-count discrepancy — one-click rollback reverts Dynamics to the pre-migration snapshot and we re-run with the corrected mapping.

  6. Export Fergus workflow definitions as a reference document for Power Automate rebuild

    Fergus workflow rules, stage-update triggers, and notification sequences do not migrate — they must be rebuilt in Dataverse workflows or Power Automate. We export a structured reference document listing every Fergus workflow with its trigger conditions, actions, and affected record types so your Dynamics admin can map each rule to an equivalent Power Automate flow or Dataverse business rule after go-live.

Platform deep dives

Context on both ends of the pair

Fergus logo

Fergus

Source

Strengths

  • Job lifecycle management from quote through invoice in a single platform
  • Customer-specific pricing tiers for trade businesses with varied customer rate structures
  • Accounting integrations with Xero and QuickBooks Online that sync invoices and payments
  • Trade supplier integration for automated material pricing during quoting
  • Mobile-capable job scheduling with staff visibility and task assignment

Weaknesses

  • Limited reporting and analytics depth compared to enterprise FSM platforms
  • Navigation and UI friction when editing invoices or changing material margins
  • API documentation is sparse with no publicly documented bulk export endpoint
  • Smaller ecosystem of third-party integrations compared to ServiceTitan or Simpro
  • No published migration tooling or export assistant within the product
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 Fergus 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

    Fergus: 100 requests per minute per company, shared across all endpoints.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Fergus 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 Fergus-to-Dynamics 365 Sales migrations complete in 48–72 hours for under 50,000 records. Fergus API rate limiting (100 req/min) extends extraction time on large datasets. Migrations exceeding 500,000 records or requiring a custom Job__c table with complex lookup chains extend to 5–7 days. The longest planning step is setting up the Dynamics custom Job__c schema and mapping pricing tiers before data validation runs.

Adjacent paths

Related migrations to explore

Ready when you are

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