CRM migration
Field-level mapping, validation, and rollback between SortScape and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
SortScape
Source
Freshsales
Destination
Compatibility
12 of 12
objects map 1:1 between SortScape and Freshsales.
Complexity
BStandard
Timeline
24–72 hours
Overview
SortScape stores customers (clients), job runs, field visits, workers, and service-address data in a field-service-optimized schema. Freshsales uses the standard CRM object model: Leads, Contacts, Accounts, Deals, Tasks, Events, and Products. The migration must translate SortScape's scheduling-centric data into a sales-centric object graph. We map SortScape clients directly to Freshsales Contacts (for sole traders) or Accounts (for commercial clients), job runs to Deals with deal-stage mapping, and service history to Freshsales Tasks and Events with original timestamps and owner links preserved. SortScape workers resolve to Freshsales users by email match; unresolved workers are flagged before migration commits. SortScape custom fields (service type, job duration, equipment used, client preferences) migrate as Freshsales custom fields on Contact, Account, and Deal objects. Routing rules, schedule templates, route-optimization preferences, and Xero/QuickBooks sync configurations have no Freshsales equivalent and must be rebuilt manually post-migration. The migration uses SortScape's CSV export capability and Freshsales's native import API (rate-limited per plan: 1,000–5,000 calls/hour depending on tier), sequencing imports so foreign keys resolve correctly. A 24–48 hour delta-pickup window captures any new jobs created in SortScape during the cutover window.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a SortScape object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
SortScape
Client (Customer)
Freshsales
Contact
1:1SortScape clients who are sole traders or residential customers map directly to Freshsales Contacts. We preserve the primary contact name, phone, email, and all custom client fields as Freshsales Contact custom fields. The SortScape client ID is stored as Source_System_ID__c for delta-run deduplication.
SortScape
Client (Commercial)
Freshsales
Account + Contact
1:1SortScape commercial clients with multiple contacts require both a Freshsales Account record (the business) and one or more Contact records (the people). The primary SortScape contact becomes the primary Freshsales Contact linked via AccountId; additional contacts on the same client become related Contact records with their own AccountId links.
SortScape
Service Address
Freshsales
Account Address Fields
1:1SortScape stores service addresses on clients. For residential clients, the address migrates to the Freshsales Contact address fields (Street, City, State, Postal Code, Country). For commercial clients, the service address becomes the primary address on the Freshsales Account record, with any site-specific variations stored as custom fields on the linked Contact.
SortScape
Job Run
Freshsales
Deal
1:1Each SortScape job run becomes a Freshsales Deal. The job name maps to Deal name, the billed amount maps to Deal amount, the job status (Completed, In Progress, Scheduled) maps to Freshsales Deal stage via value mapping. Close date is set to the job completion date for closed jobs; open jobs retain their scheduled date. The linked SortScape client resolves to the Freshsales Contact or Account before the Deal is created.
SortScape
Job Status
Freshsales
Deal Stage
1:1SortScape job statuses map to Freshsales Deal stages by business rule: 'Completed' maps to 'Closed Won', 'Cancelled' maps to 'Closed Lost', 'Scheduled' maps to 'Prospecting' or your first pipeline stage, and 'In Progress' maps to 'Value Proposition'. Your existing Freshsales pipeline stages take precedence — we map SortScape statuses to the closest stage name in your current Freshsales deal pipeline.
SortScape
Field Visit
Freshsales
Task / Event
1:1Each SortScape field visit — the individual stop within a job run — migrates as a Freshsales Task (for completed actions like mowing, pruning, mulching) or Event (for scheduled appointments with a start/end time window). Original visit date, duration, and worker assignment are preserved on the task or event record. The task/event is linked to the parent Deal and the Contact representing the client.
SortScape
Worker
Freshsales
User
1:1SortScape workers resolve to Freshsales Users by email address match. Workers without an email in SortScape are flagged during planning — your team decides whether to create Freshsales user accounts for them or assign their completed jobs to a fallback owner. Workers who do not need CRM access are not migrated as users but their job history still transfers as completed Tasks linked to the client Contact.
SortScape
Custom Field: Service Type
Freshsales
Deal Custom Field (pick-list)
1:1SortScape custom fields like 'Service Type' (e.g., Lawn Mowing, Hedge Trimming, Garden Design) that are set on jobs migrate as Freshsales Deal custom fields. We create a pick-list custom field on Deal using the exact service type values from SortScape, so reporting by service type works in Freshsales out of the box.
SortScape
Custom Field: Equipment Used
Freshsales
Deal Custom Field (text/multi-select)
1:1Equipment tracking fields from SortScape (e.g., mower type, leaf blower, ride-on mower, hedge trimmer, or brush cutter) migrate to Freshsales Deal custom fields. When SortScape stores multiple equipment values per job, we configure a multi-select pick-list in Freshsales to preserve the complete equipment inventory for each job, ensuring that all asset information is captured and available for service reporting and analytics within Freshsales.
SortScape
Custom Field: Site Conditions / Notes
Freshsales
Contact or Deal Custom Field (textarea)
1:1SortScape notes fields capturing site-specific conditions, access instructions, or client preferences migrate to Freshsales Contact custom fields (for client-level notes) or Deal custom fields (for job-level notes). We store these as text-area fields so the full note text is preserved and searchable in Freshsales.
SortScape
Invoice / Billing Record
Freshsales
Product / Deal Line Item
1:1SortScape invoices pushed to Xero or QuickBooks have no direct Freshsales equivalent. We map the invoice amount to the Deal amount and preserve the invoice reference number as a custom field on the Deal. Actual invoice records remain in your accounting software — they are not duplicated inside Freshsales.
SortScape
Schedule Template
Freshsales
No Equivalent
1:1SortScape recurring schedule templates and availability rules cannot migrate to Freshsales. Freshsales has no native scheduling engine. Teams rebuilding scheduling in Freshsales should use Freshsales Tasks with due dates, or integrate a third-party scheduling tool like Calendly or a field-service add-on from the Freshworks Marketplace.
| SortScape | Freshsales | Compatibility | |
|---|---|---|---|
| Client (Customer) | Contact1:1 | Fully supported | |
| Client (Commercial) | Account + Contact1:1 | Fully supported | |
| Service Address | Account Address Fields1:1 | Fully supported | |
| Job Run | Deal1:1 | Fully supported | |
| Job Status | Deal Stage1:1 | Fully supported | |
| Field Visit | Task / Event1:1 | Fully supported | |
| Worker | User1:1 | Fully supported | |
| Custom Field: Service Type | Deal Custom Field (pick-list)1:1 | Fully supported | |
| Custom Field: Equipment Used | Deal Custom Field (text/multi-select)1:1 | Fully supported | |
| Custom Field: Site Conditions / Notes | Contact or Deal Custom Field (textarea)1:1 | Fully supported | |
| Invoice / Billing Record | Product / Deal Line Item1:1 | Fully supported | |
| Schedule Template | No Equivalent1: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.
SortScape gotchas
Export is desktop-only and admin-restricted
Route optimization settings do not persist as data
Xero invoice links break on migration
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery audit and field mapping plan
FlitStack AI connects to your SortScape account via scoped read access and exports all clients, job runs, field visits, workers, and custom field definitions. We audit the SortScape custom field count, identify multi-site commercial clients, and map every SortScape property to a Freshsales object and field. The output is a field-level mapping document reviewed by your team before any data moves — this is where multi-site client decisions and deal-stage mapping rules are confirmed.
Freshsales schema preparation and custom field creation
Before data loads, your Freshsales admin (or FlitStack on your behalf) creates the custom fields identified in the mapping plan: Service_Type__c, Equipment_Used__c, Job_Duration_Minutes__c, Site_Notes__c, Client_Preferences__c, and others on the Deal and Contact objects. If your current Freshsales plan caps custom fields below the required count, we flag this and help you upgrade to the appropriate tier. We also confirm the deal pipeline stages that will receive migrated job data.
Resolve workers to Freshsales users by email match
SortScape workers resolve to Freshsales Users by email address lookup. Workers without an email address in SortScape are listed in a pre-migration report — your team decides whether to create Freshsales user accounts for them or assign their job history to a fallback owner. No job migrates without a resolved owner; this prevents orphaned task records in Freshsales. We recommend resolving as many workers as possible to Freshsales Users to preserve the original worker assignments on job records, maintaining historical accuracy of which team members completed specific service visits.
Sequence and run the data migration
Imports run in dependency order: Accounts first (for commercial clients), then Contacts, then Deals with the resolved owner and contact links, then Tasks and Events for visit history. Freshsales API rate limits (1,000 calls/hour on Growth, 2,000 on Pro, 5,000 on Enterprise) govern throughput — we throttle the migration tool automatically to avoid hitting limits. Each object import generates a validation report showing record counts, skip reasons, and any mapping exceptions.
Sample migration with field-level diff and reconciliation
A representative sample (typically 100–300 records spanning residential clients, commercial accounts, multiple job statuses, and workers) migrates first. We generate a field-level diff between the SortScape source values and the Freshsales destination values for every mapped field. Your team reviews the diff to confirm deal-stage mapping, custom field population, and owner resolution before the full run commits. Any mapping corrections are applied before the final migration begins.
Delta-pickup, audit log, and post-migration handoff
Full migration runs against Freshsales. A 24–48 hour delta-pickup window captures any new SortScape jobs created during the cutover. An audit log records every record created, updated, or skipped. One-click rollback is available if reconciliation reveals unexpected gaps. Post-migration, we deliver a handoff document listing any SortScape data that could not migrate (routing preferences, Xero sync credentials, schedule templates) with manual-rebuild instructions.
Platform deep dives
SortScape
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 SortScape and Freshsales.
Object compatibility
2 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
SortScape: Not publicly documented.
Data volume sensitivity
SortScape 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 SortScape to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your SortScape to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave SortScape
Other ways to arrive at Freshsales
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.