CRM migration
Field-level mapping, validation, and rollback between Curve Dental and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Curve Dental
Source
Nutshell
Destination
Compatibility
13 of 13
objects map 1:1 between Curve Dental and Nutshell.
Complexity
BStandard
Timeline
3–5 business days
Overview
Curve Dental is a cloud-native dental practice management system — it owns the clinical layer (patient records, treatment plans, tooth charts, insurance, billing, and imaging) plus scheduling and daily ops. Nutshell is a general SMB CRM with People, Companies, Deals, and Activities — it has no native dental object equivalents. FlitStack AI migrates the data that fits: patient demographics, addresses, contact methods, company records, deal pipelines, appointments, and activities. The dental-specific layer (treatment plans, clinical notes, tooth charts, x-rays, insurance eligibility, billing ledgers) gets mapped to Nutshell People custom fields and file attachments, or surfaced as a manual-rebuild checklist since Nutshell's schema does not support clinical workflow primitives. We use Curve's export tools and API for extraction, then bulk-load into Nutshell via their JSON-RPC API respecting rate limits. A scoped-read delta window (24–48 hours) captures records created or modified during cutover, and an audit log plus one-click rollback covers reconciliation failures.
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 Curve Dental 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.
Curve Dental
Patient / Person Record
Nutshell
People
1:1Patient demographics (name, DOB, address, phone, email) map directly to Nutshell People fields with the same names. Clinical sub-records including treatment plans, tooth charts, and clinical notes are stored as custom text fields on the People record since Nutshell has no native clinical object model. Imaging files and x-rays attach as Nutshell Files to the associated People record for complete patient document retention.
Curve Dental
Appointment Record
Nutshell
Task
1:1Curve appointments containing date, time, provider, operatory, and procedure type become Nutshell Tasks with a custom Procedure_Type__c field capturing the appointment category. OwnerId assignment uses email matching to resolve each provider against existing Nutshell Users. Recurring recall appointments map as repeating Tasks or as a custom recall schedule field on the associated People record for ongoing patient follow-up.
Curve Dental
Company / Referring Practice
Nutshell
Company
1:1Referral source companies and group dental practices map directly to Nutshell Companies using direct field mapping for address, domain, and industry. Multi-location assignments requiring assignment to specific practice sites are stored as a custom Locations__c field or a separate Locations custom object to maintain accurate location records for multi-office dental groups.
Curve Dental
Treatment Plan
Nutshell
People custom_field_required
1:1Curve stores treatment plans as clinical sub-records with procedure codes, tooth numbers, and fee estimates. Nutshell has no treatment plan object — all fields including procedure code, tooth number, fee, status, and provider assignment map to custom fields on the associated People record. The treatment plan data serializes as structured text for provider reference.
Curve Dental
Clinical Note / Progress Note
Nutshell
People custom_field_required
1:1Clinical notes containing provider narrative, procedure codes, and SOAP format notes become a custom Clinical_Notes__c long-text area on the People record. Original timestamps from the Curve system and provider names are preserved as separate custom datetime and user fields to maintain full audit trail and provider attribution for clinical documentation.
Curve Dental
Insurance / Payer Record
Nutshell
People custom_field_required
1:1Insurance payer name, group number, subscriber ID, and eligibility dates all become custom fields on the People record using the Insurance_Payer__c, Group_Number__c, Subscriber_ID__c, Eligibility_Start__c, and Eligibility_End__c field names. Curve's eligibility status logic maps to a custom Eligibility_Status__c pick-list capturing active, inactive, or pending states for each patient's coverage.
Curve Dental
Billing / Payment Ledger
Nutshell
People custom_field_required
1:1Outstanding balance, total charges, and last payment amount become custom currency fields on the People record (Outstanding_Balance__c, Total_Charges__c, Last_Payment_Amount__c, Last_Payment_Date__c). Nutshell has no native billing ledger — the complete ledger history is preserved as a long-text area or exported as a PDF and attached to the People record for financial record retention.
Curve Dental
Imaging / X-Ray File
Nutshell
People File Attachment
1:1X-rays and intraoral photos are exported from Curve and re-uploaded as Nutshell Files attached to the corresponding People record for direct patient access. Files exceeding Nutshell's 25MB per-file limit are flagged during pre-migration audit for external storage in Google Drive, Dropbox, or a PACS system, with a URL reference stored in a custom Imaging_URL__c field on the People record.
Curve Dental
Deal / Opportunity
Nutshell
Deal
1:1Dental service deals such as comprehensive treatment plans sold as bundled packages map directly to Nutshell Deals using standard Name, Amount, Stage, and Close Date fields. Custom fields capture treatment type and provider assignment for deal-specific tracking. This allows dental groups to track treatment plan conversions and revenue opportunities within Nutshell's native pipeline management.
Curve Dental
Activity (Call, Email, Note)
Nutshell
Task
1:1Phone calls, emails, and notes from the Curve activity log migrate as Nutshell Tasks attached to the corresponding People or Company record. Original timestamps and owner emails are preserved during migration. Nutshell does not support clinical activity types natively — these use standard Task Type values to maintain activity history within the CRM.
Curve Dental
Tooth Chart / Clinical Diagram
Nutshell
People custom_field_required
1:1Curve tooth chart records containing per-tooth conditions, missing teeth, restored teeth, and treatment codes cannot map to any native Nutshell field or visualization. We map them as a custom Tooth_Chart__c text field storing per-tooth notation as a structured string (e.g., UR1:R, UR2:M, UR3:ML), or alternatively attach the chart image as a Nutshell File on the People record.
Curve Dental
Recall / Maintenance Appointment
Nutshell
People custom_field_required
1:1Recall intervals such as 6-month hygiene recalls and annual periodontal maintenance become a custom Recall_Due_Date__c date field and Recall_Type__c pick-list on the People record. Once stored, Nutshell's Workflow Rules can trigger automated email sequences for recall follow-up based on the recall due date, helping maintain patient retention without manual tracking.
Curve Dental
Provider / Staff Record
Nutshell
Nutshell User
1:1Curve providers and staff members are resolved by email matching against existing Nutshell Users during migration. Unmatched staff records are flagged and assigned to a fallback Nutshell user before migration completes so all associated tasks and appointments have an assigned owner. Provider specialties store as a custom Provider_Specialty__c field on the User record for reference.
| Curve Dental | Nutshell | Compatibility | |
|---|---|---|---|
| Patient / Person Record | People1:1 | Fully supported | |
| Appointment Record | Task1:1 | Fully supported | |
| Company / Referring Practice | Company1:1 | Fully supported | |
| Treatment Plan | People custom_field_required1:1 | Fully supported | |
| Clinical Note / Progress Note | People custom_field_required1:1 | Fully supported | |
| Insurance / Payer Record | People custom_field_required1:1 | Fully supported | |
| Billing / Payment Ledger | People custom_field_required1:1 | Fully supported | |
| Imaging / X-Ray File | People File Attachment1:1 | Fully supported | |
| Deal / Opportunity | Deal1:1 | Fully supported | |
| Activity (Call, Email, Note) | Task1:1 | Fully supported | |
| Tooth Chart / Clinical Diagram | People custom_field_required1:1 | Fully supported | |
| Recall / Maintenance Appointment | People custom_field_required1:1 | Fully supported | |
| Provider / Staff Record | Nutshell User1: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.
Curve Dental gotchas
Reporting timeout on large databases
Image and x-ray migration requires chunked transfer and post-migration validation
Accounts receivable balances drift after payment ledger migration
Custom form structure and Smart Forms do not export
Curve Pay dispute fee of $25 per chargeback
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 and scope the Curve Dental export
FlitStack requests a full data export from Curve Dental covering patient records, appointment history, company/referral records, insurance entries, treatment plans, clinical notes, tooth chart data, billing ledgers, and file attachments. We inventory record counts per object type, flag imaging files exceeding 25MB, and identify multi-location configurations. This produces a migration scope document that defines the field-level mapping plan before any transformation code is written.
Create Nutshell custom fields and schema objects
Before data moves, we create all required Nutshell custom fields on the People and Company objects via Settings > Data > Custom Fields: Treatment_Plan__c, Clinical_Notes__c, Tooth_Chart__c, Insurance_Payer__c, Group_Number__c, Subscriber_ID__c, Eligibility_Start__c, Eligibility_End__c, Eligibility_Status__c, Outstanding_Balance__c, Total_Charges__c, Recall_Due_Date__c, Recall_Type__c, and Imaging_URL__c. For multi-location practices, we also create a Locations custom object with a lookup to People. The custom field creation plan is delivered to your Nutshell admin for pre-approval before the migration run.
Build transformation scripts and run a sample migration
FlitStack extracts data from Curve via your exported files and transforms each record according to the field mapping plan. Appointments become Tasks with owner assignment by email match to Nutshell users. Treatment plans, clinical notes, and tooth charts serialize into the People custom text fields. Insurance and billing data map to their respective custom fields. A representative sample (typically 100–300 patient records plus a cross-section of appointments and companies) migrates first, and we generate a field-level diff report so you can verify mapping accuracy before the full run commits.
Execute full migration with delta-cutover window
The full record set loads into Nutshell via the JSON-RPC API. Nutshell enforces per-key rate limits — FlitStack batches and throttles requests to avoid 429 errors. A delta-cutover window (24–48 hours) keeps Curve Dental accessible to your team for any final record modifications during the cutover; FlitStack captures these changes and applies them to Nutshell after the initial load. An audit log records every operation. If reconciliation fails, one-click rollback reverts all migrated records to their pre-migration state.
Validate, reconcile, and deliver manual-rebuild checklist
Post-migration, FlitStack runs a reconciliation check: record counts per object, spot-checks on custom field values for Treatment_Plan__c and Insurance_Payer__c, and file attachment verification. Imaging files exceeding 25MB are reported with their external storage URL. We deliver a manual-rebuild checklist covering dental workflows that cannot migrate — automated appointment reminders, recall campaigns, treatment-plan-triggered sequences, and any integration with dental imaging PACS — so your team has a complete rebuild roadmap from the start.
Platform deep dives
Curve Dental
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 Curve Dental 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
Curve Dental: Not publicly documented.
Data volume sensitivity
Curve Dental 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 Curve Dental to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Curve Dental 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 Curve Dental
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.