CRM migration
Field-level mapping, validation, and rollback between Perfectview and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Perfectview
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between Perfectview and Nutshell.
Complexity
BStandard
Timeline
3-5 weeks
Overview
The core challenge when moving from Perfectview to Nutshell is the data model difference: Perfectview uses a single Relation object that combines company and contact data, while Nutshell maintains distinct Company and Contact objects as separate entities. We split every Relation into one Company and one or more Contact records using role and address fields to determine correct placement, then resolve parent-record lookups before inserting Contacts. Activities (calls, emails, meetings, tasks) migrate as Nutshell's native activity timeline, and Cases map directly to Nutshell's Case object. Perfectview's built-in invoicing and billing records are flagged for review because invoice numbering standards differ between EU and US systems. Workflows, automations, and any exact-online or mailchimp integration logic do not migrate; we deliver a written inventory of every active rule for the customer's admin to rebuild in Nutshell's workflow builder. Nutshell's tiered pricing (Foundation at $13/user/month through Enterprise at $79/user/month) replaces Perfectview's flat €30/user/month model, and we surface the cost impact during scoping so the team can plan the license transition alongside the data move.
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 Perfectview 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.
Perfectview
Relation
Nutshell
Company + Contact (split required)
1:manyPerfectview Relations are the primary source object and conflate company and individual contact data. We split each Relation into one Company record (using the Relation's company name and address fields) and one or more Contact records (extracting role, direct phone, and email from the contact-specific subfields within the Relation). Multi-contact Relations require deduplication by email before inserting into Nutshell. The split logic must be validated against a live sample of at least 50 Relations before bulk migration to confirm that address and role fields are consistently populated.
Perfectview
Activity
Nutshell
Activity (Calls, Emails, Meetings, Tasks)
1:1Perfectview Activities (calls, emails, meetings, tasks) are well-structured with timestamps and owner references. We map these to Nutshell's activity types preserving the activity type, date, and owner link. The parent Relation is resolved to the split Company and Contact records so that activities attach to the correct Nutshell timeline. Activity ordering is preserved by setting the timestamp fields to the original Perfectview values.
Perfectview
Case
Nutshell
Case
1:1Perfectview support Cases migrate to Nutshell's Case object if the destination Nutshell account includes Service Cloud features. Case status, priority, assignee, and conversation history migrate intact. The linked Relation reference is resolved through the Company-Contact split so Cases attach to the correct Nutshell Company record. If Nutshell Service Cloud is not enabled, we flag this during scoping and recommend enabling it before migration or scoping Cases as a separate phase.
Perfectview
Quote
Nutshell
Quote
1:1Perfectview Quotes from the Sales module migrate to Nutshell Quotes with line items, pricing, and status preserved. Quote-to-Relation links are resolved through the Company mapping. Quote PDFs and attachments migrate as files linked to the Quote record. Nutshell Quotes require the Quote object to be enabled in the account settings before import.
Perfectview
Lead
Nutshell
Lead
1:1Lead records in Perfectview (whether implemented as a distinct object or as a Relation lifecycle stage) migrate to Nutshell Lead with source, status, and score preserved. If Perfectview uses lifecycle stages within Relations rather than a distinct Lead object, we extract all Relations with a non-customer status as Leads and tag the original stage in a custom field for reconciliation.
Perfectview
Invoice
Nutshell
Invoice (flagged for review)
lossyPerfectview's built-in invoicing and billing records migrate with line items and payment status. Invoice numbers may conflict with Nutshell's numbering conventions or EU-specific format expectations. We flag all invoice records for customer review before insertion and recommend renumbering or archiving rather than inserting live invoices into Nutshell, which is not a native invoicing platform. The customer decides whether to migrate invoice history as archived records or exclude it from the migration scope.
Perfectview
Document
Nutshell
File
1:1Perfectview Documents migrate as files attached to the parent Company or Contact record in Nutshell. Document metadata (name, upload date, file type) transfers. We retrieve documents via API where enabled, falling back to the UI export for bulk downloads. Files exceeding Nutshell's attachment size limits are flagged for alternative handling.
Perfectview
User
Nutshell
User
1:1Perfectview User records migrate as Nutshell Users. Owner-to-record links are preserved in the mapping file and reassigned to matching Nutshell users by email match. Any Perfectview user without a matching Nutshell account is held in a reconciliation queue for the admin to provision before record import resumes.
Perfectview
Custom Fields
Nutshell
Custom Fields
lossyPerfectview custom fields on Relations and other objects are discovered during the discovery phase and mapped to equivalent Nutshell custom fields. Nutshell supports custom fields on Companies, Contacts, Leads, Deals, and Cases from its Growth tier upward. We pre-create all custom field definitions in Nutshell before any data migration begins, handling data type translation (date, number, text, picklist) from Perfectview's custom field schema.
Perfectview
Workflow (Automations)
Nutshell
Workflow
1:1Perfectview does not expose workflow rules, trigger conditions, or automated sequences through any export mechanism. All workflow logic must be documented manually during the discovery phase and rebuilt from scratch in Nutshell's native workflow builder. We deliver a written inventory of every active Perfectview workflow with its trigger, conditions, and actions, annotated with the equivalent Nutshell workflow configuration. Workflow rebuild is outside the data migration scope and is handled separately by the customer's admin or a Nutshell implementation partner.
| Perfectview | Nutshell | Compatibility | |
|---|---|---|---|
| Relation | Company + Contact (split required)1:many | Fully supported | |
| Activity | Activity (Calls, Emails, Meetings, Tasks)1:1 | Fully supported | |
| Case | Case1:1 | Fully supported | |
| Quote | Quote1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Invoice | Invoice (flagged for review)lossy | Fully supported | |
| Document | File1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Workflow (Automations) | Workflow1: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.
Perfectview gotchas
Relations object conflates Companies and Contacts
Bulk export function caps at 1000 records per operation
Workflows and automations cannot be exported
API rate limits are not publicly documented
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
Discovery and data audit
We audit the source Perfectview account across Relations (total count, field inventory, role subfield consistency), Activities (call, email, meeting, task volumes), Cases, Quotes, Invoices, Leads, Documents, custom fields, and active workflow definitions. We extract a sample of at least 50 Relations to validate the split logic for Company and Contact extraction. We also assess the Nutshell destination account settings: which plans are active, whether Service Cloud is enabled for Cases, and whether custom fields are available on the current tier. The discovery output is a written migration scope document covering record counts, split logic, custom field inventory, and a Nutshell tier recommendation.
Relation split design and custom field provisioning
We design the split logic for Relations before any data extraction. For each Relation, the company-level fields (company name, billing address, phone) become a Nutshell Company record, and the contact-specific fields (name, email, role, direct phone) become one or more Nutshell Contact records linked to that Company. We pre-create all Nutshell custom fields in the destination account before migration, mapping data types from Perfectview to their Nutshell equivalents. If Nutshell Service Cloud is not active, we recommend enabling it before migration or excluding Cases from the initial migration scope.
Sample migration and split validation
We run a sample migration of the first 100-200 Relations (with associated Activities, Cases, and Quotes) into a Nutshell staging environment. The customer reviews the output and confirms that the split logic correctly assigned company data to Company records and contact data to Contact records. Any split errors (Contacts without a parent Company, duplicate Addresses) are corrected in the mapping logic before the full migration begins. This step prevents bulk-record rejection and ensures the split is validated rather than assumed correct.
Full data extraction in chunks
We extract all Relations from Perfectview using the bulk export function, chunked in batches of up to 1,000 records per pass. Each chunk is processed through the split transform (Relation to Company plus one or more Contacts), deduplicated by email, and written to a staging CSV. Activities, Cases, Quotes, Leads, and Documents are extracted in parallel, with parent-record IDs preserved for cross-object linking. Any Perfectview API calls are throttled based on the pre-migration load test results.
Production migration in dependency order
We run production migration into the live Nutshell account in record-dependency order: Companies first (as the parent for all Contact lookups), then Contacts (with parent CompanyId resolved), then Leads, Activities (via Nutshell's activity API with timestamp preservation), Cases (if Service Cloud is active), Quotes (with file attachments), Documents (as files), and Invoices (flagged as archive candidates). Each phase emits a row-count reconciliation report. Owner references are resolved by email match against Nutshell users, with mismatches held in a queue for the admin to provision before resuming.
Cutover, validation, and workflow handoff
We freeze Perfectview writes during cutover and run a final delta migration of any records modified during the migration window. We validate record counts against the discovery audit and spot-check 25-50 records in Nutshell against the source. We deliver the workflow inventory document to the customer's admin team covering every active Perfectview workflow with its trigger, conditions, and a recommended Nutshell workflow configuration. We support a one-week hypercare window for reconciliation issues. We do not rebuild Perfectview workflows as Nutshell workflows inside the migration scope; that is a separate engagement.
Platform deep dives
Perfectview
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 4 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 Perfectview and Nutshell.
Object compatibility
4 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
Perfectview: Not publicly documented in summary form..
Data volume sensitivity
Perfectview exposes a bulk API — large-volume migrations stream efficiently.
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 Perfectview to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Perfectview 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 Perfectview
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.