CRM migration
Field-level mapping, validation, and rollback between Jobber and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Jobber
Source
Nutshell
Destination
Compatibility
13 of 13
objects map 1:1 between Jobber and Nutshell.
Complexity
BStandard
Timeline
3–5 days
Overview
Jobber is a field service management platform built for home service businesses — scheduling, dispatching, quoting, invoicing, and client communication live in one product. Nutshell is a sales CRM that models Companies, People, Leads, and Deals with basic task management. The core challenge in this migration is a fundamental data model mismatch: Jobber's native objects (Client, Property, Job, Quote, Invoice, Team Member) have no structural equivalents in Nutshell. Nutshell cannot hold Jobs or Invoices natively — they become Deals or Notes. Custom fields in Jobber exist across all six object types, but Nutshell's custom field system only attaches to People, Companies, and Leads objects — not to Deals. FlitStack AI sequences the migration by extracting Jobber's data via its REST API, mapping Jobs to Nutshell Deals using a job-type custom field on the Person record, and re-uploading attachments to Nutshell's attachments model. A delta-pickup window captures in-flight changes during cutover. Customers must rebuild Jobber automations, service agreements, and maintenance schedules in Nutshell's workflow tools or outside the CRM entirely — FlitStack exports these definitions as a rebuild reference.
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 Jobber 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.
Jobber
Client
Nutshell
Person (or Company)
1:1Jobber Clients are individual contacts — they map directly to Nutshell People. Where a Jobber Client represents a business entity rather than an individual, the record can be split into a Nutshell Company with the primary contact as a Person linked to that Company.
Jobber
Client (business entity)
Nutshell
Company
1:1When Jobber Client records contain a business name instead of an individual contact name, FlitStack creates a corresponding Nutshell Company record. The primary individual contact from Jobber maps to a Nutshell Person record that links to the new Company via Nutshell's Person-Company relationship (1:N cardinality). This preserves the business-to-contact hierarchy from Jobber while adapting it to Nutshell's organizational model.
Jobber
Property
Nutshell
Address fields on Person / Company
1:1Jobber Properties are service-site records attached to Clients — they contain address, site name, access instructions, and property-specific notes. FlitStack maps Property address data to Nutshell's address fields on the Person or Company record. Multiple Properties for one Client generate multiple address records via Nutshell's Person-Company relationship or a custom Property reference field.
Jobber
Job
Nutshell
Deal
1:1Jobber Jobs have no native Nutshell equivalent — they are field service work orders with assigned team members, line items, scheduling, and status. FlitStack converts each Job to a Nutshell Deal, preserving job number as Source_Job_Number__c (a custom field on Deal or Person), amount from line items, and close date from scheduled completion. Job status (Scheduled, In Progress, Completed, Cancelled) maps to Nutshell Deal stage values.
Jobber
Quote
Nutshell
Deal
1:1Jobber Quotes are estimates sent to clients — they include line items, totals, and a status (Draft, Sent, Accepted, Declined). FlitStack converts each Quote to a Nutshell Deal with Deal amount from the Quote total, name from the Quote title, and stage set to a custom 'Estimate' stage value. Accepted Quotes can be marked Won and converted to a linked Job-Deal for tracking.
Jobber
Invoice
Nutshell
Deal (or Note)
1:1Jobber Invoices have no native Nutshell equivalent — Nutshell has no billing or payment processing module. FlitStack migrates Invoice records as Nutshell Deals with the invoice total as Deal amount, invoice number stored in a custom Source_Invoice_Number__c field, and payment status preserved in a custom Source_Payment_Status__c field. Full invoice line items migrate as Deal notes or a custom field for reference.
Jobber
Team Member
Nutshell
Nutshell User (Person)
1:1Jobber Team Members are the employees or contractors who perform work. FlitStack creates a Nutshell User account for each Team Member by email match. Historical assignment data (which Team Member was assigned to which Job) is preserved by mapping the Team Member as the Nutshell User on the Deal (Job record) or storing it in a custom Assigned_Team_Member__c field on the Person record.
Jobber
Attachment / File
Nutshell
Note with attachment link
1:1Jobber file attachments on Jobs, Invoices, and Quotes are downloaded and re-uploaded to Nutshell as Note attachments linked to the corresponding Deal record. Nutshell's Notes attach to People, Companies, Leads, and Deals, covering the full range of Jobber attachment targets.
Jobber
Client custom fields
Nutshell
Nutshell Person custom fields
1:1Jobber custom fields attached to Client records map directly to corresponding Nutshell custom fields on the Person object. Nutshell's custom field system supports text, number, date, picklist, and boolean field types, all of which align with Jobber's custom field type options. FlitStack inventories all Jobber Client custom fields before migration, creates matching Nutshell Person custom fields via Settings → Fields, and maps values field-by-field to preserve all original data without transformation.
Jobber
Company custom fields (Jobber Client business type)
Nutshell
Nutshell Company custom fields
1:1When Jobber Client records represent business entities rather than individual contacts, FlitStack migrates their associated custom fields to Nutshell Company custom fields. Nutshell's Company custom field system supports the same type palette as Person fields — text, number, date, picklist, and boolean. FlitStack creates equivalent Company custom fields in Nutshell before migration, mapping values directly from Jobber's source fields to preserve all business-type custom field data without transformation.
Jobber
Job custom fields
Nutshell
Nutshell Person custom fields (reference)
1:1Nutshell does not support custom fields on Deals. Jobber custom fields on Jobs cannot map to a Deal custom field in Nutshell. FlitStack creates a custom field on the linked Person record (e.g., Job_Type__c, Service_Category__c) and stores the original Job custom field values there as a reference. Customers should audit whether all Job custom field data is critical to preserve or can be stored in the Deal name or notes.
Jobber
Invoice / Quote custom fields
Nutshell
Nutshell Person custom fields (reference) or Note
1:1Invoice and Quote custom fields in Jobber face the same Nutshell limitation as Jobs — they cannot attach to Deals. FlitStack stores Invoice and Quote custom field values in a custom field on the Person record, with the original Invoice or Quote number stored alongside for traceability. Alternatively, a Note attached to the Deal captures the full custom field set in structured text.
Jobber
Service Agreement / Maintenance Agreement
Nutshell
Custom field on Person / Company
1:1Jobber's recurring service agreement and maintenance agreement features (Grow plan) have no direct Nutshell equivalent. Nutshell does not model service contracts. FlitStack migrates service agreement records as Notes on the Person record with key terms (agreement type, discount percentage, billing frequency) stored in custom fields. Customers must rebuild recurring billing logic externally or in Nutshell's email sequence model.
| Jobber | Nutshell | Compatibility | |
|---|---|---|---|
| Client | Person (or Company)1:1 | Fully supported | |
| Client (business entity) | Company1:1 | Fully supported | |
| Property | Address fields on Person / Company1:1 | Fully supported | |
| Job | Deal1:1 | Fully supported | |
| Quote | Deal1:1 | Fully supported | |
| Invoice | Deal (or Note)1:1 | Fully supported | |
| Team Member | Nutshell User (Person)1:1 | Fully supported | |
| Attachment / File | Note with attachment link1:1 | Fully supported | |
| Client custom fields | Nutshell Person custom fields1:1 | Fully supported | |
| Company custom fields (Jobber Client business type) | Nutshell Company custom fields1:1 | Fully supported | |
| Job custom fields | Nutshell Person custom fields (reference)1:1 | Fully supported | |
| Invoice / Quote custom fields | Nutshell Person custom fields (reference) or Note1:1 | Fully supported | |
| Service Agreement / Maintenance Agreement | Custom field on Person / Company1: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.
Jobber gotchas
Jobber API does not expose all objects for bulk export
Custom field definitions must be exported separately
Billing is tied to active users, not total users
Maintenance agreement records may not map cleanly to recurring billing
Automations and approval workflows do not transfer automatically
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 and inventory Jobber data via REST API
FlitStack connects to Jobber's REST API (Connect or Grow plan required for API access) and exports all six object types: Clients, Properties, Jobs, Quotes, Invoices, and Team Members. Custom fields are inventoried for each object to determine which Nutshell custom fields need pre-creation. A data quality report flags duplicate Clients (same email), orphaned Properties (Client no longer exists), and Jobs with missing assigned Team Members. This inventory determines the final scope and pricing before the migration plan is committed.
Design Nutshell custom field schema and Deal mapping rules
Because Nutshell cannot attach custom fields to Deals, FlitStack designs a custom field architecture on the Person object to hold Job-level, Invoice-level, and Quote-level custom field values. Deal records are created with a Source_ID custom field pointing back to the original Jobber record ID for traceability. Stage mapping rules are defined for Job statuses (Scheduled → 'In Progress', Completed → 'Won', Cancelled → 'Lost'), Quote statuses, and Invoice payment statuses. A custom 'Estimate' stage is created in Nutshell for Quote records that are not yet accepted.
Create Nutshell custom fields and stage configuration
FlitStack creates all required Nutshell custom fields before data migration begins: Source_System_ID__c, Original_Create_Date__c, Job_Type__c, Invoice_Payment_Status__c, Source_Invoice_Number__c, Source_Job_Number__c, Source_Quote_Number__c, and any additional custom fields from Jobber's Client and Company objects. Nutshell's built-in custom field interface (Settings → Fields) is used — text, picklist, date, and boolean types are matched to the source field data type. A custom Deal stage 'Estimate' is created for active Quotes that have not been accepted.
Run sample migration with field-level diff
A representative sample of 100–300 records (covering at least 10 Clients, 20 Jobs, 10 Invoices, 10 Quotes, and 5 Team Members) migrates first. FlitStack generates a field-level diff comparing source values against the Nutshell destination values for every mapped field. The customer reviews the sample in Nutshell — verifying that Job types appear on the correct Person records, Invoice totals are accurate in Deal values, and custom field values from Jobber are present in the corresponding Nutshell custom fields. Mapping adjustments are made before the full run commits.
Execute full migration with delta-pickup window
Full migration runs against Nutshell's JSON-RPC API, importing all Clients, Properties, Jobs, Quotes, Invoices, and Team Members in dependency order (Clients → Companies → Properties → Team Members → Jobs/Quotes/Invoices). A delta-pickup window of 24–48 hours after the initial load captures any new or modified Jobber records created during the cutover period. FlitStack's audit log records every operation — import count, error count, and record ID mapping table. One-click rollback is available if reconciliation fails.
Deliver reconciliation report and rebuild reference
FlitStack delivers a post-migration reconciliation report comparing source record counts against Nutshell record counts by object type. Any records that could not migrate (due to missing required fields, duplicate emails, or API errors) are listed with the reason for exclusion. The Jobber workflow and automation definitions are exported as a written rebuild reference document — listing every active automation trigger and action — so the customer can reconstruct critical workflows in Nutshell's email sequences or an external automation tool.
Platform deep dives
Jobber
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 Jobber 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
Jobber: Not publicly documented in Jobber's developer docs — customers report throttling after roughly 100–200 requests per minute in practice.
Data volume sensitivity
Jobber 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 Jobber to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Jobber 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 Jobber
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.