CRM migration

Migrate from Zuper to Microsoft Dynamics 365 Sales

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

Zuper logo

Zuper

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Zuper operates as a field service management platform organized around Jobs, Customers, Teams, and Technicians — a model optimized for dispatch and on-site work orders rather than traditional sales pipeline management. Microsoft Dynamics 365 Sales uses a lead-to-opportunity CRM model built on the Dataverse Common Data Model, with entities for Accounts, Contacts, Leads, Opportunities, and Tasks. Migrating from Zuper to Dynamics 365 Sales requires transforming job records into opportunity or custom WorkOrder entities, splitting Zuper Customers into both Account and Contact records, mapping technician assignments to Dynamics Users, and reconstructing scheduling logic as manual processes or Power Automate flows. The migration carries all Zuper records that have CRM equivalents — customers, contacts, jobs, custom fields, attachments — into Dataverse. Workflows, automations, guided workflows, and scheduling rules do not migrate; they must be rebuilt using Dynamics 365 Sales workflows, Power Automate, or the workflow designer. We use Zuper's REST API for extraction, transform data per the mapping plan, and load via the Dynamics Web API with batch operations. A sample migration with field-level diff validates the mapping before the full run commits. Delta pickup captures any records modified during cutover.

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

Zuper logo

Zuper

What's pushing teams away

  • The estimate platform has limited functionality compared to dedicated quoting tools, and customers report it is inferior to most competing products in the FSM space.
  • Zuper is a newer product still in active development — some features customers need are not yet available, causing delays for teams with specific requirements.
  • The mobile app has stability issues including crashes mid-task, disappearing data during input, and excessive clicking to complete simple actions.
  • Leadership commitments have been missed repeatedly according to at least one mid-market reviewer, creating frustration around roadmap reliability.
  • Limited reporting depth makes it hard to extract actionable operational insights without exporting to a third-party BI tool.

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

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

Zuper

Customer

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Zuper Customer records representing organizations map directly to Dynamics 365 Sales Account records. The Account Name, Website, Industry, Phone, and Address fields carry over with direct field-level mapping. Zuper Customers that represent individual persons must be split into both Account (for the company, if any) and Contact records.

Zuper

Customer (individual)

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Zuper Customers without an associated organization, or where the individual is the primary record, map to Dynamics Contact. The Contact inherits the customer's name, email, phone, and address fields directly. The Contact links to the primary Account via the Parent Customer ID lookup field in Dynamics.

Zuper

Job

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Zuper Jobs transform into Dynamics Opportunities when the job has revenue or sale potential. The job name becomes the Opportunity name, the job amount or estimate maps to the Estimated Revenue field, job status maps to Opportunity Stage via value mapping, and the expected completion date becomes the Estimated Close Date. Jobs that represent service-only work with no revenue map to Task records instead.

Zuper

Job

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

Zuper Jobs without revenue potential — maintenance visits, inspections, or non-billable service calls — map to Dynamics Task records. The Task subject carries the job title, description maps to the Task's description field, and the assigned technician resolves to the Task's OwnerId. Tasks preserve the original job's create date for audit continuity.

Zuper

Job Line Item

maps to

Microsoft Dynamics 365 Sales

Opportunity Product

1:1
Fully supported

Zuper job line items representing products or services on a billable job map to Dynamics Opportunity Product records. Each line item creates an Opportunity Product entry linked to the parent Opportunity. The product name, quantity, unit price, and discount carry over. Products that do not exist in Dynamics are created as basic Product records during migration.

Zuper

Team

maps to

Microsoft Dynamics 365 Sales

Team (Dynamics)

1:1
Fully supported

Zuper Teams map to Dynamics 365 Sales Teams. Teams in Zuper represent groupings of technicians for scheduling and dispatch purposes. In Dynamics, Teams serve a similar grouping function for user access and record ownership. Each Zuper Team becomes a Dynamics Team record, with team members (Users) assigned to the team post-migration.

Zuper

User (Technician)

maps to

Microsoft Dynamics 365 Sales

User (SystemUser)

1:1
Fully supported

Zuper Users who are technicians map to Dynamics System User records. Owner resolution happens by email match — if the technician's email matches an existing Dynamics user, the UserId links directly. Unmatched users are flagged before migration for your admin to create Dynamics accounts or assign records to a fallback owner.

Zuper

Custom Field (Customer)

maps to

Microsoft Dynamics 365 Sales

Custom Column (Account/Contact)

1:1
Fully supported

Zuper custom fields on Customer records require corresponding custom columns in Dynamics on the Account and/or Contact table. We analyze each custom field's data type — text, number, date, pick-list — and create matching column types in Dynamics. Pick-list fields require value-by-value mapping if the option set differs between platforms.

Zuper

Custom Field (Job)

maps to

Microsoft Dynamics 365 Sales

Custom Column (Opportunity/Task)

1:1
Fully supported

Zuper custom fields on Job records map to custom columns on the Opportunity or Task record in Dynamics, depending on how the job transforms. Job-specific custom properties (e.g., site location, job type classification, priority flags) carry as custom columns on the target entity. The original Zuper custom field values populate these columns during migration.

Zuper

Attachment

maps to

Microsoft Dynamics 365 Sales

Note / Attachment

1:1
Fully supported

Zuper file attachments on Jobs or Customers re-upload to Dynamics as Notes with file attachments or SharePoint document locations. File size limits apply — Dynamics default is 32MB per file. Inline images in job descriptions download and rehost as Note attachments. Attachments preserve the original file name and any associated description.

Zuper

Job Status

maps to

Microsoft Dynamics 365 Sales

Custom Column on Opportunity

1:1
Fully supported

Zuper job status values (Scheduled, In Progress, Completed, Cancelled) map to a custom pick-list column on the Opportunity or Task. We create a Zuper_Job_Status__c custom column and map each source status value to the nearest Dynamics-equivalent option. Completed jobs map to Closed Won or Closed Lost based on the job outcome.

Zuper

Timesheet / Timeoff

maps to

Microsoft Dynamics 365 Sales

Custom Table (Timesheet)

1:1
Fully supported

Zuper timesheets and time-off records have no native equivalent in Dynamics 365 Sales CRM. We preserve timesheet data as a custom Dataverse table with columns for User, Date, Hours, Time-Off Type, and Status. This custom table provides reference data post-migration but does not connect to Dynamics payroll or resource management features.

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.

Zuper logo

Zuper gotchas

High

No bulk API endpoint means large migrations are sequential

Medium

Quote object schema is shallower than Job schema

High

Workflow Builder automations have no export capability

Medium

Multi-custom-field filter on Properties API returns no records when multiple filters applied

Medium

Mobile app instability causes incomplete Job records in production data

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

  • Job-to-Opportunity transformation requires CRM-relevance judgment

    Zuper Jobs represent all types of field work — some are billable service sales, others are maintenance visits with no revenue. Dynamics 365 Opportunities are designed for revenue-tracking, not all job types fit. FlitStack AI analyzes each job for an amount or estimate value: jobs with revenue become Opportunities, jobs without revenue become Tasks. This judgment call affects your pipeline reporting depth — tasks do not appear in Opportunity pipeline views. We document the transformation criteria before migration so you can adjust the thresholds if your job mix differs from the norm.

  • Zuper Teams do not map to Dynamics Security Roles

    Zuper Teams are dispatch groupings for scheduling purposes with no access-control function. Dynamics Teams can group users but do not control field-level security. Access in Dynamics 365 Sales is managed through Security Roles assigned per user. FlitStack AI migrates Zuper Teams as Dynamics Teams for reference, but your admin must assign Security Roles (Salesperson, Sales Manager, Admin) to each technician after migration. Scheduling logic built into Zuper Teams must be rebuilt as Power Automate flows or manual assignment processes in Dynamics.

  • Custom fields on Zuper Jobs require pre-creation of Dynamics columns

    Zuper's custom field capability allows fields on any entity, but Dynamics 365 Sales requires custom columns to be created in the maker experience before data loads. We deliver a custom-field creation plan listing each Zuper custom field name, data type, and target Dynamics column name. Your Dynamics admin creates the columns before the migration run; otherwise, those field values cannot be loaded. Zuper pick-list fields require matching option sets in Dynamics — if the pick-list options differ, we provide a value-mapping table for the options.

  • Scheduling and dispatch automations do not transfer

    Zuper's Smart Scheduling engine automatically assigns technicians to jobs based on availability, location, and skills. This automation logic is proprietary to Zuper and has no equivalent in Dynamics 365 Sales. We extract the current technician-to-job assignments as data (preserved in the OwnerId and custom team fields), but the scheduling rules themselves — triggered automatically when new jobs are created — must be rebuilt in Dynamics using Power Automate or a third-party scheduling solution. We provide an export of your Zuper workflow definitions as a reference for rebuilding.

  • Zuper Guided Workflows require manual reconfiguration

    Zuper's Guided Workflows tie inspection, quoting, and pricing into a single process so reps follow a defined path. Dynamics 365 Sales has no native Guided Workflow equivalent — this pattern must be rebuilt using a combination of Dynamics workflows, required fields, and Power Automate approval flows. We export your Zuper workflow configurations as JSON documentation for your Dynamics admin to reference during the reconfiguration phase. The guided inspection and quoting logic specifically (not the automation triggers) is the component that requires the most redesign in Dynamics.

Migration approach

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

  1. Inventory Zuper records and map to Dynamics entities

    FlitStack AI connects to your Zuper instance via API and inventories all Customers, Jobs, Teams, Users, and custom field definitions. We produce a data inventory report showing record counts by type, custom field counts, and attachment volumes. Simultaneously, we analyze your Dynamics 365 Sales environment to identify existing Accounts, Contacts, and custom tables. The inventory output is the foundation for the mapping plan — it identifies which Zuper jobs should become Opportunities versus Tasks, which customers need Account-Contact splitting, and which custom fields require new Dynamics columns.

  2. Build and validate the mapping plan

    We draft the full object and field mapping plan covering every Zuper entity. The plan specifies transformation rules for each field — direct mappings, value mappings for pick-lists, and custom field creation requirements. A sample of 50–100 records (covering Customers, Jobs, and line items) migrates first. We generate a field-level diff report comparing source values to destination values, surfacing any data mismatches before the full run. Your team reviews the diff and approves the mapping plan; we adjust transformation rules based on feedback.

  3. Create Dynamics custom columns and prepare schema

    For every Zuper custom field that has no direct Dynamics equivalent, we deliver a schema preparation checklist. This lists each custom column to create in Dynamics — column name, data type, pick-list option values, and target table (Account, Contact, Opportunity, or custom table). Your Dynamics admin creates these columns using the Dynamics maker experience or advanced settings before the migration window. We also provide the security role assignment plan so each Zuper technician receives the appropriate Dynamics access level during the migration.

  4. Migrate accounts and contacts before jobs

    Dynamics 365 Sales requires referential integrity — Opportunities must reference an Account, and Contacts must link to an Account via the Parent Customer field. We sequence the migration so Customer records (mapped to Account) load first, followed by Contact records linked to those Accounts. Only after all Accounts and Contacts exist do we load Jobs mapped as Opportunities or Tasks with their respective owner assignments. This ordering prevents foreign-key errors and ensures every Opportunity has a valid CustomerId lookup.

  5. Execute full migration with delta-pickup window

    The full migration runs against Dynamics 365 Sales using the Dataverse Web API with batch operations for efficiency. A delta-pickup window of 24–48 hours runs alongside the cutover to capture any records modified or created in Zuper during the migration window. All operations are logged in an audit trail. After the delta window closes, we perform reconciliation — comparing migrated record counts and a spot-check of field values against the Zuper source. One-click rollback is available if reconciliation reveals critical data gaps.

Platform deep dives

Context on both ends of the pair

Zuper logo

Zuper

Source

Strengths

  • Offline-first mobile app allows technicians to work without connectivity and sync when back online.
  • Intelligent dispatching and smart scheduling reduce manual job assignment overhead.
  • Embedded digital payment processing shortens invoice-to-payment cycles.
  • Configurable workflow builder lets admins adapt the platform to trade-specific processes.
  • Custom fields on Customers and Jobs provide trade-specific data capture without developer involvement.

Weaknesses

  • The estimate and quoting module is widely reported as underdeveloped with limited functionality.
  • The mobile app suffers from instability including crashes and data loss during input tasks.
  • Zuper is still actively developing features, which can cause delays for teams needing specific capabilities.
  • API lacks a bulk import endpoint, making large-volume data migrations slower and more rate-limit sensitive.
  • Workflow definitions cannot be exported — every automation must be manually rebuilt at the destination.
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. All 8 core objects map 1:1 between Zuper and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Zuper and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Zuper and Microsoft Dynamics 365 Sales .

  • 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

    Zuper: Not publicly documented in current developer documentation.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Zuper 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 Zuper-to-Dynamics 365 Sales migrations complete in 48–72 hours of clock time for under 50,000 records. Larger setups with 200,000+ records or extensive job history require 5–10 days. The longest planning step is the job-to-Opportunity transformation judgment — deciding which jobs become Opportunities versus Tasks — and the Dynamics custom column pre-creation phase. Data migration execution itself is typically faster than the upfront mapping and schema preparation.

Adjacent paths

Related migrations to explore

Ready when you are

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