CRM migration

Migrate from SortScape to Microsoft Dynamics 365 Sales

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

SortScape logo

SortScape

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

SortScape is a scheduling and field-service platform built for landscaping and garden-maintenance businesses — it stores clients, properties, visits, and route-optimization data in a flat CSV-exportable schema optimized for crew dispatch, not CRM relationship tracking. Dynamics 365 Sales runs on Microsoft Dataverse with a normalized entity model: Accounts represent companies, Contacts represent people, Leads represent early-stage prospects, and Opportunities represent in-flight deals with stage, amount, and probability. FlitStack AI extracts SortScape's client records and visit history via CSV export, transforms each row into the corresponding Dynamics 365 table (Account, Contact, Opportunity), creates custom fields for SortScape-specific properties such as block number, lot number, and property-access notes, and loads data through the Dataverse bulk-import API with owner resolution by email match against existing Dynamics 365 users. SortScape's routing and scheduling data does not map to any native Dynamics 365 entity — those records are exported as reference CSVs for re-entry or Power Automate rebuild. FlitStack sequences the migration: clients → accounts, properties → account custom fields or related contacts, visits → Opportunity records with historical close dates, then runs a field-level diff against a Dynamics 365 sandbox before committing the full load with a 24–48 hour delta-pickup window.

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

SortScape logo

SortScape

What's pushing teams away

  • iOS mobile app requires frequent restarts — at least one reviewer notes the iPhone app becomes sluggish and needs regular reloading to stay functional.
  • Mapping features missing from the mobile app — route visualization and map interactions are available on desktop only, forcing field staff to switch devices.
  • Export functionality locked to desktop — only administrators on desktop screens can export data, which creates friction for teams working primarily from mobile devices.
  • Limited platform ecosystem — SortScape integrates primarily with Xero, leaving businesses that use other accounting platforms with manual workarounds.

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

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

SortScape

Client

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

SortScape Client records map 1:1 to Dynamics 365 Accounts. The client's business name becomes Account.Name; client phone and email become telephone1 and emailaddress1 on the account. If the client is an individual homeowner rather than a business, the record maps to Contact with the Account as a household or individual account type.

SortScape

Client Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

SortScape stores a primary contact name and phone on each client record. These map to Contact.FirstName, Contact.LastName, Contact.Phone, and Contact.Email. When SortScape has multiple contacts per client, each becomes a separate Dynamics 365 Contact linked to the same Account via the AccountId lookup.

SortScape

Property / Site

maps to

Microsoft Dynamics 365 Sales

Account (custom fields) + Contact

1:1
Fully supported

SortScape properties represent physical sites (addresses, block/lot numbers, access notes). Each property is stored as a separate SortScape record with a link to the client. In Dynamics 365, the property address becomes a second Account record of type 'Property Site' or is stored as a custom field block on the primary Account. Access notes and special instructions migrate as custom text fields on the Account.

SortScape

Visit / Job

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

SortScape visit records represent scheduled jobs at a property. FlitStack maps each completed visit to a Dynamics 365 Opportunity with the client Account as the parent, the visit date as CloseDate, and the service fee as Amount. Open visits become Opportunities with a status of 'Open' and a pipeline column matching the SortScape service type.

SortScape

Visit Status

maps to

Microsoft Dynamics 365 Sales

Opportunity Stage

1:1
Fully supported

SortScape visit statuses (Scheduled, In Progress, Completed, Cancelled) map to Dynamics 365 Opportunity Stage values. 'Completed' maps to 'Closed Won', 'Cancelled' maps to 'Closed Lost', and open statuses map to the appropriate stage in the configured Sales Process. The mapping is configurable per the client's current pipeline stages.

SortScape

Service Type / Job Category

maps to

Microsoft Dynamics 365 Sales

Opportunity 'Description' or custom field

1:1
Fully supported

SortScape service types (e.g., Lawn Mowing, Garden Maintenance, Tree Trimming) are mapped to a custom Opportunity field called Service_Type__c so that Dynamics 365 reports can filter pipeline by service category. If no custom field is desired, the service type is stored in the Opportunity Description field.

SortScape

Client Create Date

maps to

Microsoft Dynamics 365 Sales

Account 'Original_Create_Date__c' (custom datetime)

1:1
Fully supported

SortScape records the client creation date. Dynamics 365's CreatedDate is set at migration time, which breaks historical reporting continuity. FlitStack preserves the original SortScape create date as a custom datetime field on Account so that age-of-client reports remain accurate post-migration.

SortScape

SortScape Owner / Team Member

maps to

Microsoft Dynamics 365 Sales

Contact (Owner) or User

1:1
Fully supported

SortScape team members are the people who perform visits. These map to Dynamics 365 Users if they are CRM users, or to Contacts if they are subcontractors or external staff. FlitStack resolves each SortScape team member by email against the destination Dynamics 365 user list — unmatched team members are flagged for manual assignment before the full migration runs.

SortScape

Property Photos / Attachments

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location + Note

1:1
Fully supported

SortScape property photos and site images are downloaded from the SortScape export and re-uploaded to the corresponding Dynamics 365 Account's SharePoint document location. If SharePoint is not configured, notes with base64-encoded image references are created on the Account record. This preserves the visual record but is not a native Dynamics 365 photo field.

SortScape

Xero Invoice Reference

maps to

Microsoft Dynamics 365 Sales

Custom field on Opportunity

1:1
Fully supported

SortScape integrations with Xero mean some clients have linked invoice IDs in SortScape. FlitStack migrates these as a custom text field Xero_Invoice_Ref__c on the Opportunity for reconciliation continuity. The Xero connection itself must be rebuilt in Dynamics 365 via the Xero connector or Power Automate.

SortScape

Routing / Route Optimization Data

maps to

Microsoft Dynamics 365 Sales

Reference CSV Export

1:1
Fully supported

SortScape's route-optimization output — optimized visit order, crew assignments, and travel-time estimates — has no equivalent in Dynamics 365 Sales. FlitStack exports this data as a standalone CSV reference file. Rebuild options include Power Automate with a mapping connector or a third-party routing add-in from AppSource.

SortScape

SortScape Custom Fields

maps to

Microsoft Dynamics 365 Sales

Dataverse custom columns

1:1
Fully supported

SortScape custom fields on Client and Property records are identified during the pre-migration audit. Each custom field is created in Dynamics 365 with the appropriate Dataverse data type before data loading begins. Pick-list fields in SortScape are recreated as Option Sets in Dynamics 365 with the same value labels.

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.

SortScape logo

SortScape gotchas

High

Export is desktop-only and admin-restricted

Medium

Route optimization settings do not persist as data

Medium

Xero invoice links break on migration

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

  • SortScape has no real-time API — migration relies on CSV exports that require manual download

    SortScape's data export is a manual, UI-triggered CSV download from the Schedule and Customer Data pages. There is no documented REST or Graph API for programmatic extraction. This means the migration must be scoped around what can be exported in a single CSV — multi-year visit history may require multiple export sessions, and any custom fields not visible in the standard export view will not appear in the CSV without first enabling them in SortScape's field visibility settings. FlitStack's pre-migration audit includes a SortScape export walkthrough to identify all fields that need to be exposed before the export runs.

  • Property-to-Account normalization creates duplicate-account risk for multi-property clients

    SortScape stores a Property record for every site a client manages — a single client with five commercial properties has five Property rows. Dynamics 365 Accounts are one-per-customer-organization, not one-per-site. FlitStack maps the first property to the Account primary address and stores additional property addresses in custom Address2 fields or as related Contact records with a 'Property Site' role. If SortScape has duplicate client names across properties, a de-duplication step is required before loading to avoid creating duplicate Accounts in Dynamics 365 — a high-severity data integrity risk.

  • SortScape visit history maps to Opportunities but loses scheduling context in Dynamics 365

    SortScape visits carry scheduling metadata — visit order within a route, optimized travel time, crew assignment, and recurring schedule rules. Dynamics 365 Opportunities represent a deal at a point in time, not a recurring service schedule. A SortScape recurring weekly mowing contract becomes a single Opportunity with one CloseDate in Dynamics 365 rather than a schedule of visits. FlitStack preserves the historical visit data in the Opportunity and in a companion CSV export, but the scheduling logic must be rebuilt in Dynamics 365 using a scheduling add-in or Power Automate flows.

  • Dynamics 365 Sales Professional enforces a 15-custom-table limit that can constrain property-level data

    If your Dynamics 365 tenant is on Sales Professional licensing, Dataverse allows a maximum of 15 custom tables. FlitStack's pre-migration audit counts the required custom fields — Block_Number__c, Lot_Number__c, Property_Access_Notes__c, Service_Type__c, Xero_Contact_ID__c, and others — and flags whether the total exceeds the Professional tier ceiling. Exceeding the table limit requires either a Dynamics 365 upgrade to Sales Enterprise or consolidation of multiple property fields into a single JSON or delimited text field on the Account.

  • SortScape Xero integration reference IDs have no equivalent in Dynamics 365 without rebuilding the connector

    SortScape users who rely on the Xero integration have invoice IDs and payment statuses linked to SortScape client records. Dynamics 365 Sales has no native Xero sync — invoice and payment data would live in Dynamics 365 Finance or Business Central. FlitStack migrates the Xero reference IDs as a custom field on the Account for audit purposes, but the live two-way sync between Dynamics 365 and Xero requires a separate connector (such as Inaport, KingswaySoft, or a custom Power Automate flow) to be configured post-migration.

Migration approach

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

  1. Pre-migration SortScape export audit

    FlitStack walks through the SortScape UI with your team to identify all exportable fields across Client, Contact, Property, and Visit objects. We confirm which custom fields are visible in the SortScape export settings, document the CSV column structure, and identify any fields that require SortScape admin access to expose before export. We also capture the Xero integration reference IDs and any attached photos or documents that need to be downloaded separately from the SortScape file export.

  2. Create Dynamics 365 custom fields and validate Dataverse table limits

    Before any data is loaded, FlitStack creates the custom fields in Dynamics 365 — including Block_Number__c, Lot_Number__c, Property_Access_Notes__c, Service_Type__c, Xero_Contact_ID__c, Original_Create_Date__c, Source_System_ID__c, Source_Visit_ID__c, Actual_Duration_Hours__c, and Property_Size_SqM__c — using the Dataverse maker portal or the Power Platform admin API. We verify that the total custom-table count remains within your Sales Professional license ceiling and flag any consolidation requirements before the bulk data load begins. This step ensures all source fields have a destination target and prevents import failures caused by missing field definitions mid-load.

  3. Resolve SortScape owners and team members against Dynamics 365 users

    FlitStack extracts the SortScape team member list and matches each person against the Dynamics 365 user list by email address. Matched team members are assigned as Opportunity owners in the migration. Unmatched team members — such as seasonal contractors not yet provisioned in Dynamics 365 — are flagged with a fallback owner assignment so no Opportunity lands without an owner. This step runs before data loading to ensure no foreign-key errors occur during the bulk import.

  4. Run a sample migration with field-level diff against Dynamics 365 sandbox

    FlitStack loads a representative slice — typically 100–500 records spanning clients, properties, contacts, and visit history — into your Dynamics 365 sandbox environment. We generate a field-level diff comparing source CSV values against the loaded Dynamics 365 records, verifying that custom field values are populated, opportunity owners are assigned correctly, and visit-status-to-stage mapping produces the expected StateCode and Status values. You review the diff output and approve before the full migration is scheduled.

  5. Execute full migration with delta-pickup window

    The full CSV export is loaded into Dynamics 365 via the Dataverse bulk-import API in dependency order: Accounts first, then Contacts, then Opportunities with the AccountId and OwnerId lookups resolved. A delta-pickup window of 24–48 hours captures any records created or modified in SortScape during the migration run. FlitStack generates an audit log of every record loaded, the transformation applied, and any records that failed validation. One-click rollback reverts the full load if reconciliation fails.

Platform deep dives

Context on both ends of the pair

SortScape logo

SortScape

Source

Strengths

  • iOS-native app tailored for field service workers managing garden and lawn care jobs.
  • Direct Xero integration for real-time invoicing directly from the job schedule.
  • Route optimization feature reorders job runs to minimize travel time between sites.
  • CSV export available for both customer data and scheduled visits from the admin panel.
  • Australian-based customer support with fast response times cited in reviews.

Weaknesses

  • Mobile app (iOS) has stability issues requiring regular restarts according to user feedback.
  • Mapping and route visualization features are desktop-only, not available in the mobile app.
  • Data export restricted to administrators on desktop screens only.
  • No public API documented; integrations are limited to Xero and whatever the platform explicitly supports.
  • Limited scale for larger field service operations — most positive reviews describe solo or very small team usage.
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 SortScape 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

    SortScape: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your SortScape 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 SortScape-to-Dynamics 365 migrations complete within 48–72 hours of clock time when the CSV export is clean and contains fewer than 10,000 records. Large SortScape instances with multi-year visit history and complex property hierarchies extend to 5–10 days, primarily because each unique property requires a custom field to be created and validated in Dataverse before the bulk load runs. The pre-migration audit and custom-field creation step typically adds 1–3 days of planning time before the technical migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

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