CRM migration
Field-level mapping, validation, and rollback between Perfect Portal and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Perfect Portal
Source
Nutshell
Destination
Compatibility
11 of 11
objects map 1:1 between Perfect Portal and Nutshell.
Complexity
BStandard
Timeline
48–72 hours
Overview
Perfect Portal is a legal practice management and client-portal platform where the primary record is the Matter, with Party records (contacts), Document references, Stage milestones, and Time/Billing entries attached. Nutshell is a standard small-business CRM organized around People, Companies, Leads, and Deals with a visual pipeline. The two platforms share a party-record model but diverge sharply on the deal concept: Perfect Portal's Matters become Nutshell's Deals, and Perfect Portal's Stage milestones map to Nutshell's pipeline stage transitions. We extract Perfect Portal data via API (parties, matters, events, custom fields) and import into Nutshell's People, Companies, Leads, Deals, and Activities. Document files are re-uploaded to Nutshell's attachments. Automation rules, billing configurations, and client-portal settings have no Nutshell equivalent and must be rebuilt post-migration — we export your Perfect Portal rule definitions as a rebuild reference. The migration runs as a sequenced import (companies first, then people, then matters as deals) with a 24–48 hour delta pickup window to capture 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 Perfect Portal 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.
Perfect Portal
Party
Nutshell
Person
1:1Perfect Portal Party records map directly to Nutshell People. The party name, email address, phone number, role on matter, and mailing address all have direct equivalents in Nutshell's Person fields. Party type (e.g., client, opponent, referrer) is preserved as a custom field on the Nutshell Person record.
Perfect Portal
Matter
Nutshell
Deal
1:1Perfect Portal Matter records map to Nutshell Deals. The matter name becomes the Deal name, the matter description becomes the Deal description, the matter value (if present) maps to the Deal amount, and the primary party on the matter links to the Deal's associated Person record. Each matter-type in Perfect Portal can optionally map to a separate Nutshell pipeline.
Perfect Portal
Matter Stage
Nutshell
Deal Stage
1:1Perfect Portal Stage milestones track matter progress with a name and timestamp. These are mapped to Nutshell Deal stage values: each Perfect Portal stage name maps to a corresponding Nutshell pipeline stage. Stage-entered timestamps are preserved as custom datetime fields on the Nutshell Deal so historical stage history is visible in reporting.
Perfect Portal
Company (linked to Party)
Nutshell
Company
1:1Perfect Portal Parties can be associated with a Company record. If a company is present, it migrates to Nutshell's Company object (Name, Website, Industry, Phone). The Party-to-Company link is preserved as a Person-to-Company relationship in Nutshell. If no company is present on the Perfect Portal party, the person migrates without a Company association.
Perfect Portal
Event (matter-level)
Nutshell
Activity
1:1Perfect Portal events attached to a matter (e.g., court dates, deadlines, client meetings) migrate to Nutshell Activities linked to the corresponding Deal. Event type, start datetime, end datetime, description, and assigned user all map to Nutshell Activity fields. Completed vs. pending status is reflected in the Nutshell Activity's completed flag.
Perfect Portal
Document Reference
Nutshell
Attachment
1:1Perfect Portal document references are file URLs or stored files attached to a matter. We download each file and re-attach it to the corresponding Nutshell Deal or Person record. File name, file type, and upload datetime are preserved. Large documents are uploaded within Nutshell's per-file size limits (currently 100 MB per attachment).
Perfect Portal
Custom Matter Field
Nutshell
Custom Field (Deal)
1:1Perfect Portal matter-type fields that are not native Nutshell Deal fields are created as custom fields on the Nutshell Deal object. Field type is mapped: text to string, number to number, currency to currency, date to date, and dropdown to choice. The custom field is created before the migration run so data can populate during import.
Perfect Portal
Custom Party Field
Nutshell
Custom Field (Person)
1:1Perfect Portal party-type custom fields (e.g., bar number, licensing jurisdiction, referral source) are created as custom fields on the Nutshell Person object prior to migration. Each field's data type determines the Nutshell field type. Custom field metadata is exported from Perfect Portal and used to pre-create fields in Nutshell via the API.
Perfect Portal
User / Owner
Nutshell
User
1:1Perfect Portal users assigned as matter owners or responsible parties are resolved by email match against Nutshell users. Unmatched owners are flagged before migration so your team can either invite them to Nutshell or assign their matters to a fallback user. No deal lands without a Nutshell owner assigned.
Perfect Portal
Billing / Invoice Record
Nutshell
Custom Field (Deal) + Note
1:1Perfect Portal's per-matter billing entries (invoice amounts, payment status, outstanding balance) have no direct Nutshell equivalent — Nutshell does not have native billing or invoice objects. We preserve billing data as custom currency fields on the Nutshell Deal and attach a structured note summarizing the billing history. For full billing reconstruction, your team should use a dedicated accounting tool post-migration.
Perfect Portal
Client Portal Settings
Nutshell
No Equivalent
1:1Perfect Portal's client-facing portal configuration (portal access rules, notification templates, client-facing stage visibility) has no Nutshell equivalent. We export the portal settings as a structured JSON reference document so your team can evaluate Nutshell's sharing settings and built-in email notifications as a replacement configuration.
| Perfect Portal | Nutshell | Compatibility | |
|---|---|---|---|
| Party | Person1:1 | Fully supported | |
| Matter | Deal1:1 | Fully supported | |
| Matter Stage | Deal Stage1:1 | Fully supported | |
| Company (linked to Party) | Company1:1 | Fully supported | |
| Event (matter-level) | Activity1:1 | Fully supported | |
| Document Reference | Attachment1:1 | Fully supported | |
| Custom Matter Field | Custom Field (Deal)1:1 | Fully supported | |
| Custom Party Field | Custom Field (Person)1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Billing / Invoice Record | Custom Field (Deal) + Note1:1 | Fully supported | |
| Client Portal Settings | 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.
Perfect Portal gotchas
No public API or documented export endpoint
Third-party access complicates data residency and privilege
Matter stages are defined per-firm and non-standardised
SMS notification logs are not independent records
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 Perfect Portal data and map matter types to Nutshell pipelines
FlitStack extracts a full data inventory from Perfect Portal via API — parties, matters, events, document references, and all custom fields. We cross-reference each matter type with Nutshell's pipeline model and flag which matter types should map to which Nutshell pipelines. We deliver a stage-mapping worksheet for your team to confirm Perfect Portal stage names to Nutshell stage values before any mapping is committed.
Pre-create Nutshell custom fields and resolve user assignments
Before importing data, FlitStack creates all required custom fields on Nutshell People, Companies, and Deals via the Nutshell API. We also run an owner-resolution pass: Perfect Portal user emails are matched against Nutshell user accounts. Unmatched users are flagged in a pre-migration report so your team can invite them to Nutshell or assign their records to a fallback owner before the migration run.
Migrate Companies and People first, then Matters as Deals
The migration is sequenced to respect foreign-key dependencies: Nutshell requires Companies to exist before People (for the Person-to-Company link) and People before Deals (for the deal association). FlitStack migrates in the correct order — Companies, then People with party-type and role fields, then Matters as Deals with stage mapping, then Events as Activities, then Document files as attachments. Each batch is validated before the next begins.
Run sample migration with field-level diff and team review
A representative sample — typically 100–500 records spanning multiple matter types and party roles — migrates first to validate the entire process. FlitStack generates a comprehensive field-level diff comparing the source Perfect Portal values against the resulting Nutshell records. Your team can verify stage mapping accuracy, custom field population, owner resolution, and document attachment completeness during this pilot phase. Any mapping adjustments, field corrections, or stage-configuration changes identified during review are implemented before the full migration run proceeds.
Execute full migration with delta pickup and rollback readiness
The full migration runs against Nutshell. A delta-pickup window of 24–48 hours after the primary run captures any Perfect Portal records modified during the cutover. FlitStack maintains an audit log of every record created and updated. If reconciliation identifies missing or mismatched data, one-click rollback reverts the Nutshell instance to its pre-migration state. Post-migration, we deliver a reconciliation report comparing record counts and field completeness between Perfect Portal and Nutshell.
Platform deep dives
Perfect Portal
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 Perfect Portal 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
Perfect Portal: Not publicly documented.
Data volume sensitivity
Perfect Portal 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 Perfect Portal to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Perfect Portal 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 Perfect Portal
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.