CRM migration
Field-level mapping, validation, and rollback between Zuper and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Zuper
Source
Nutshell
Destination
Compatibility
12 of 12
objects map 1:1 between Zuper and Nutshell.
Complexity
BStandard
Timeline
48–72 hours
Overview
Zuper is a field service management platform built around Jobs, Customers, Organizations, Properties, Assets, and a configurable Workflow Builder. Nutshell is a sales CRM built around People, Companies, Leads, and Deals organized into pipeline stages with activity tracking. The core migration challenge is semantic: Zuper's work-order lifecycle (Quote → Scheduled → In Progress → Completed) has no native equivalent in Nutshell's deal-stage model, so FlitStack AI maps each Zuper job status to a corresponding Nutshell pipeline stage by value-mapping the status labels. Customers, organizations, and properties migrate as People, Companies, and custom fields respectively, with the Zuper-to-Nutshell relationship preserved as a link between the Nutshell Person record and its associated Company record. Custom fields built in Zuper's custom field editor for Customers, Organizations, Jobs, and Assets are recreated as Nutshell custom fields on the equivalent Nutshell object. We do not migrate Zuper Workflow Builder automations — those must be rebuilt in Nutshell's automation tools or documented for your admin to reconstruct. We handle the API extraction, transformation, and load using Zuper's REST API and Nutshell's JSON-RPC API, with a sample migration and field-level diff before the full run commits.
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 Zuper object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Zuper
Customer
Nutshell
Person
1:1Zuper Customers are individual contacts — service requesters, property occupants, or billing contacts. They migrate directly as Nutshell People. The Customer's name, email, phone, and address fields map to the corresponding Nutshell Person fields. Custom fields attached to the Zuper Customer record are recreated as Nutshell custom fields on the Person record.
Zuper
Organization
Nutshell
Company
1:1Zuper Organizations represent the business entity — typically the property owner, service contract holder, or company receiving field service. They map to Nutshell Companies by name and address. Zuper's Organization-level custom fields migrate as Nutshell Company custom fields. The link between a Zuper Customer and their Organization is preserved by linking the Nutshell Person record to the Nutshell Company record.
Zuper
Customer ↔ Organization relationship
Nutshell
Person ↔ Company link
1:1Zuper allows a Customer to be associated with multiple Organizations. In Nutshell, each Person can be linked to one primary Company and additional secondary company relationships. We preserve the primary Organization as the primary Company link and surface additional Organization links as secondary relationships on the Person record.
Zuper
Job
Nutshell
Deal / Task
1:1Zuper Jobs are the core work-order entity. Completed jobs that represent billable work map to Nutshell Deals with the appropriate pipeline stage and close date reflecting the job completion date. In-progress jobs map as open Nutshell Deals. Zuper jobs with status 'Completed' and a resolved outcome can alternatively be logged as Nutshell Tasks for activity-history continuity.
Zuper
Job status (Quote / Scheduled / In Progress / Completed / Cancelled)
Nutshell
Pipeline stage (with value mapping)
1:1Zuper job statuses are a pick-list that varies by Zuper configuration. We map each Zuper status label to a corresponding Nutshell pipeline stage by value: 'Quote' maps to the Nutshell stage representing unqualified or proposal stage, 'Scheduled' maps to a booked or scheduled stage, 'In Progress' maps to the active work stage, and 'Completed' maps to a closed-won or service-delivered stage. Cancelled jobs map to a closed-lost or cancelled stage in Nutshell.
Zuper
Property
Nutshell
Custom fields on Company / Person
1:1Zuper Properties store service-location information — building address, floor/unit, access notes, property type — as a named entity with its own custom fields. Nutshell has no native property object. We migrate each Zuper Property as a set of custom fields on the associated Nutshell Company record (property address, property type, access instructions) so the service location data stays attached to the customer account without creating orphaned records.
Zuper
Job Category
Nutshell
Custom field on Deal
1:1Zuper Job Categories classify work by type — HVAC repair, plumbing, electrical, inspection. Nutshell has no native job-category field. We recreate Job Category as a custom pick-list field (Job_Category__c) on the Nutshell Deal so service-line reporting is preserved in Nutshell's pipeline views and exported reports.
Zuper
Asset
Nutshell
Custom fields on Deal / Company
1:1Zuper Assets represent equipment or systems at a property — HVAC units, water heaters, appliances. Nutshell has no native asset registry. Asset name, make/model, serial number, and installation date migrate as custom fields on the Nutshell Deal associated with that service visit, keeping asset context linked to the work record.
Zuper
Product / Part / Service
Nutshell
Custom fields on Deal
1:1Zuper Products and Services define the billable line items associated with a job. Nutshell Deals have no native product line-item table. We store the Zuper product or service name as a custom text field on the Nutshell Deal, and the quantity and unit price as separate custom fields, so the service scope of each deal is visible in the record.
Zuper
Zuper User (technician / admin)
Nutshell
Nutshell User / Person
1:1Zuper Users with active CRM responsibilities (dispatchers, account managers) are resolved by email match to Nutshell Users and assigned as the OwnerId on migrated Deals. Zuper Users who only performed field work and don't need Nutshell access are migrated as Nutshell People records so their technician name is preserved in job history without creating an unused Nutshell license seat.
Zuper
Job Notes / Attachments
Nutshell
Deal Notes / Files
1:1Zuper job notes migrate as Nutshell Deal notes attached to the corresponding Deal record. Zuper file attachments (photos, signed forms, inspection reports) are re-uploaded to Nutshell Files linked to the Deal. File size limits apply — Nutshell enforces standard upload limits per file. Large image files from Zuper's mobile app are resized as needed during the migration.
Zuper
Zuper Workflow Builder automations
Nutshell
No equivalent — manual rebuild required
1:1Zuper Workflow Builder automations — trigger/action sequences for inspection steps, quoting flows, and pricing logic — do not migrate. They use a node-based event model that has no Nutshell equivalent. We export your Zuper workflow definitions as a documented reference so your Nutshell admin can rebuild the logic in Nutshell Workflows or in an external automation tool.
| Zuper | Nutshell | Compatibility | |
|---|---|---|---|
| Customer | Person1:1 | Fully supported | |
| Organization | Company1:1 | Fully supported | |
| Customer ↔ Organization relationship | Person ↔ Company link1:1 | Fully supported | |
| Job | Deal / Task1:1 | Fully supported | |
| Job status (Quote / Scheduled / In Progress / Completed / Cancelled) | Pipeline stage (with value mapping)1:1 | Fully supported | |
| Property | Custom fields on Company / Person1:1 | Fully supported | |
| Job Category | Custom field on Deal1:1 | Fully supported | |
| Asset | Custom fields on Deal / Company1:1 | Fully supported | |
| Product / Part / Service | Custom fields on Deal1:1 | Fully supported | |
| Zuper User (technician / admin) | Nutshell User / Person1:1 | Fully supported | |
| Job Notes / Attachments | Deal Notes / Files1:1 | Fully supported | |
| Zuper Workflow Builder automations | No equivalent — manual rebuild required1: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.
Zuper gotchas
No bulk API endpoint means large migrations are sequential
Quote object schema is shallower than Job schema
Workflow Builder automations have no export capability
Multi-custom-field filter on Properties API returns no records when multiple filters applied
Mobile app instability causes incomplete Job records in production data
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Extract Zuper data via API with scoping and split-file planning
FlitStack AI connects to your Zuper account via the Zuper REST API and extracts all standard modules: Customers, Organizations, Jobs, Properties, Assets, Products/Services, and Users. We query the Zuper API in paginated batches to handle accounts at or near Zuper's row-limit thresholds. If your Zuper account exceeds 25,000 records in any module, we flag the modules during discovery and coordinate with your team to produce the split Zuper CSV exports that Zuper's policy requires. The extraction run captures the current state of all records including custom field values and association links.
Map Zuper job statuses to Nutshell pipeline stages and create Nutshell custom fields
Before data loads into Nutshell, we create all required custom fields on the target Nutshell objects — Job_Category__c, Asset_Name__c, Equipment_Make_Model__c, Original_Create_Date__c, and others identified in the mapping plan. We also review your Zuper job status values and apply a value-mapping table to route each Zuper status to the correct Nutshell pipeline stage. If your Zuper account uses custom status labels, we present the mapping table for your admin to confirm before the migration run. Nutshell pipeline stages are created or identified during this step so the stage mapping is valid at load time.
Resolve Zuper Users to Nutshell Users and link Organizations to Companies
We match Zuper Users to Nutshell Users by email address. Zuper technicians and dispatchers with active CRM roles are provisioned as Nutshell Users and assigned as OwnerId on migrated Deals. Zuper field workers who do not need Nutshell access are migrated as Nutshell People records so their name is preserved in job history without consuming a Nutshell license seat. For the Zuper Customer-to-Organization relationship, we link each Nutshell Person record to their primary Nutshell Company and surface additional Organization associations as secondary company links on the Person record.
Run sample migration with field-level diff for mapping validation
A representative sample of Zuper records — typically 100–500 records spanning Customers, Organizations, Jobs, Properties, and Assets — migrates first into your live Nutshell account. We generate a field-level diff report comparing the source Zuper values against the migrated Nutshell values for every mapped field. You review the diff to verify that job status values landed in the correct Nutshell pipeline stages, that property data is readable in the custom fields on the Company record, and that technician assignments resolved to the correct Nutshell User. Any mapping errors are corrected before the full run proceeds.
Execute full migration with delta-pickup window and audit log
After sample validation, FlitStack AI runs the full migration against your Nutshell account. All Zuper modules load in dependency order: Organizations → Companies, then Customers → People with company links, then Jobs → Deals with status mapping and owner assignment, then Properties → Company custom fields and Assets → Deal custom fields. A delta-pickup window (24–48 hours) captures any records created or modified in Zuper during the cutover so Nutshell reflects Zuper's final state at go-live. Every migration operation is logged in an audit log, and one-click rollback is available if reconciliation identifies a data integrity issue.
Platform deep dives
Zuper
Source
Strengths
Weaknesses
Nutshell
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 Zuper and Nutshell.
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
Zuper: Not publicly documented in current developer documentation.
Data volume sensitivity
Zuper 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 Zuper to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Zuper to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Zuper
Other ways to arrive at Nutshell
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.