CRM migration
Field-level mapping, validation, and rollback between Contractor+ and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Contractor+
Source
Nutshell
Destination
Compatibility
10 of 10
objects map 1:1 between Contractor+ and Nutshell.
Complexity
BStandard
Timeline
24–72 hours of migration clock time
Overview
Contractor+ organizes contractor-service data around clients, jobs, and estimates — treating each job as a project record with timeline, cost, and billing type. Nutshell is an SMB-focused CRM built on People, Companies, Deals, and Leads, with a JSON-RPC API for data export and custom fields on People, Companies, and Leads. The migration challenge is translating Contractor+ job records (with job type, status, cost, and estimate line items) into Nutshell Deals with custom fields and attached line items. We map clients to Nutshell People, companies to Companies, jobs to Deals using custom fields for contractor-specific attributes, and estimates as deal line items. Activities (notes, tasks, calls) migrate as Nutshell Activities linked to the parent record. Automations, payment reminders, and client-portal configurations are disclosed as non-transferable — we export definitions as documentation for manual rebuild in Nutshell. FlitStack sequences the migration via the Nutshell JSON-RPC API with batched reads, email-based owner lookup, and a 24–48-hour delta pickup window for in-flight changes during cutover.
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 Contractor+ 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.
Contractor+
Client
Nutshell
Person
1:1Contractor+ clients are person-level records with name, email, phone, address, company name, and tags. Nutshell People store the same attributes, with phones as an array and address as a nested object. The primary mapping is by contact email — unmatched contacts are flagged before migration. We preserve the original client ID in a custom field (e.g., Source_ContractorPlus_ID__c) and the original created date in a custom datetime field for reporting continuity.
Contractor+
Company
Nutshell
Company
1:1Nutshell Companies store business‑level data: name, domain, industry, employee count, revenue. Contractor+ companies map directly if the source tracks business entities separately from clients. Multi‑contact companies in Contractor+ collapse to one Company record per business. We also map the company phone and address fields, store the original company ID in a custom field (e.g., Source_ContractorPlus_ID__c) for reconciliation, and flag duplicate companies by domain matching before creating the Nutshell Company record.
Contractor+
Lead
Nutshell
Lead
1:1Contractor+ leads that are not yet converted to clients migrate as Nutshell Leads. Lead status, source, and notes map to the corresponding Nutshell Lead fields. Nutshell Lead outcomes map from Contractor+ lead disposition values. We also preserve the original lead ID in a custom field (e.g., Source_ContractorPlus_ID__c), map the lead owner by email lookup to a Nutshell user, and flag duplicate leads by email before insertion.
Contractor+
Job
Nutshell
Deal
1:1Contractor+ jobs are project records with job type, status, cost, billing type, description, start/end dates, and line items. Nutshell has no native job object. We map jobs to Deals: the Deal name carries the job title, and we create custom fields on each Deal for job_type, job_status, cost, and billing_type. Estimate line items attach to the Deal as deal line items. Job timelines map to the Deal close date with custom date fields for start and target end.
Contractor+
Estimate
Nutshell
Deal line items
1:1Contractor+ estimates contain line items with description, quantity, unit cost, and total. Nutshell Deals support line items with product name, quantity, and price. We transform each Contractor+ estimate into Deal line items attached to the corresponding Deal, preserving description, quantity, and unit cost. Standalone estimates without a linked job become Deals with line items and no pipeline stage.
Contractor+
Activity
Nutshell
Activity
1:1Contractor+ stores notes, tasks, call logs, and email records linked to clients or jobs. Nutshell Activities include notes and tasks linked to People or Deals. We migrate notes and tasks directly with original timestamps and owner assignments preserved. Call logs migrate as Activity records with call-type metadata.
Contractor+
Custom fields
Nutshell
Custom fields (People / Company / Lead / Deal)
1:1Contractor+ custom fields on clients, companies, and jobs migrate to Nutshell custom fields on the equivalent entity. Nutshell supports custom fields on People, Companies, and Leads. Deal custom fields are created for contractor‑specific attributes like job_type__c and billing_type__c. We map pick‑list values to Nutshell pick‑lists; multi‑select values are stored as comma‑separated strings. Required fields are flagged in the mapping document for the Nutshell admin to set as mandatory after migration.
Contractor+
User / Owner
Nutshell
User (via email lookup)
1:1Contractor+ owner IDs on jobs and clients are resolved by matching the owner email to Nutshell users. Unmatched owners are flagged before migration — teams either invite them to Nutshell first or assign records to a fallback owner. Impersonation mode in the Nutshell API ensures changes log as the correct user.
Contractor+
Source system reference
Nutshell
Custom field for traceability
1:1We store the original Contractor+ record ID as a custom field on each migrated record (e.g., Source_ContractorPlus_ID__c on Nutshell Person). This enables delta‑run de‑duplication, rollback targeting, and cross‑reference for ongoing data governance. The custom field is applied to People, Companies, Leads, and Deals, allowing any record to be traced back to its source and supporting reconciliation reports that compare record counts and field values between Contractor+ and Nutshell after migration.
Contractor+
Automations and workflows
Nutshell
Not migratable
1:1Contractor+ automations (payment reminders, client notifications, job‑scheduling triggers, follow‑up sequences) are disclosed as non‑transferable. We export the automation definitions as a structured document so the Nutshell admin can rebuild triggers using Nutshell's sequence automation and lead‑stage action features. The export includes the rule name, trigger event, condition logic, and the sequence of actions, along with screenshots of the original configuration to guide the rebuild in Nutshell.
| Contractor+ | Nutshell | Compatibility | |
|---|---|---|---|
| Client | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Job | Deal1:1 | Fully supported | |
| Estimate | Deal line items1:1 | Fully supported | |
| Activity | Activity1:1 | Fully supported | |
| Custom fields | Custom fields (People / Company / Lead / Deal)1:1 | Fully supported | |
| User / Owner | User (via email lookup)1:1 | Fully supported | |
| Source system reference | Custom field for traceability1:1 | Fully supported | |
| Automations and workflows | Not migratable1: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.
Contractor+ gotchas
Freedom plan monthly limits silently block new estimates and invoices
Client Portal shares all linked Jobs with clients by default
Contractor+ has no documented public API for bulk export
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
Audit Contractor+ data model and plan field mappings
FlitStack AI begins every migration with a structured data audit. We connect to the Contractor+ API under scoped read access and enumerate every client, lead, job, estimate, activity, and custom field definition. We generate a data map that identifies non-transferable records (automations, payment reminders, integrations) and flags them clearly in the migration plan. The audit output is reviewed with the team before any data moves, so there are no surprises on cutover day.
Create Nutshell custom fields and configure Deal schema
Before data is written, we deliver a custom field specification for Nutshell: every field name, type, and pick-list value required to receive Contractor+ job attributes. The Nutshell admin creates the fields (Job_Type__c, Job_Status__c, Billing_Type__c, Job_Cost__c, Job_Start_Date__c, Job_End_Date__c, Source_ContractorPlus_ID__c) on the Deal object before the migration runs. This step is the most common source of delay — we recommend completing it at least 3 business days before the migration window.
Sequence and run the migration via Nutshell JSON-RPC API
FlitStack migrates entities in dependency order: Companies first (since People require a companyId), then People, then Leads, then Deals with custom fields populated from Contractor+ job attributes. Estimate line items attach to the corresponding Deal. Activities link to the migrated Person or Deal parent. Owner IDs resolve via email lookup against Nutshell users with impersonation mode ensuring audit logs reflect the correct user. Nutshell API rate limits are respected via exponential backoff; large migrations run over multiple days to stay within throughput constraints.
Run sample migration with field-level diff
A representative sample — typically 100 to 500 records spanning clients, jobs, estimates, and activities — migrates first. We generate a field-level comparison between the Contractor+ source record and the resulting Nutshell record, verifying that job type, billing type, job cost, estimate line items, and owner assignments rendered correctly. The diff is reviewed by the team before the full run commits. This is the checkpoint where misconfigured custom fields or failed owner lookups are caught and corrected.
Execute full migration with delta-pickup cutover
The full dataset migrates after sample approval. A 24–48-hour delta pickup window runs concurrently, capturing any new or modified records in Contractor+ that changed during the migration. FlitStack AI produces a complete audit log of every record written, including source ID, destination ID, timestamp, and operation type. One-click rollback is available if the reconciliation check fails. The migration is considered complete once delta records are applied and record counts match the pre-migration audit.
Deliver migration handoff summary and rebuild reference
FlitStack delivers a structured handoff document covering what migrated, what was stored as custom fields for reference, what requires manual rebuild in Nutshell (automations, payment reminders, estimate templates), and the full automation export for the Nutshell admin to use as a rebuild guide. The FlitStack audit log and rollback documentation are provided for the IT team. Post-migration support is available to resolve any reconciliation issues within the agreed support window.
Platform deep dives
Contractor+
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 Contractor+ 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
Contractor+: Not publicly documented in the developer reference.
Data volume sensitivity
Contractor+ 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 Contractor+ to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Contractor+ 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 Contractor+
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.