CRM migration
Field-level mapping, validation, and rollback between OrangeCRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
OrangeCRM
Source
Nutshell
Destination
Compatibility
8 of 10
objects map 1:1 between OrangeCRM and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from OrangeCRM to Nutshell means leaving a twelve-module proprietary ecosystem for a streamlined, SMB-focused CRM with a public API and a built-in Import2 migration path. OrangeCRM has no publicly documented bulk export API, so we extract via their admin-panel export capabilities and restructure the data before loading into Nutshell. The primary object mapping is straightforward: OrangeCRM Customers map to Nutshell Companies, and OrangeCRM Contacts map to Nutshell People. The complexity lives in OrangeCRM's proprietary modules—Fulfillment, Banking, Event Management, and Storefront Transactions—which have no direct Nutshell equivalent. We map these to the closest standard object (Deals, Activities, or custom fields) and flag any business logic embedded in module-specific records for customer review. Workflows, automations, and email marketing configurations do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Nutshell.
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 OrangeCRM 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.
OrangeCRM
Customer
Nutshell
Company
1:1OrangeCRM Customer records are the primary account-level object and map directly to Nutshell Companies. We use the Customer name as the Company name, preserve the website and address fields, and carry any custom fields as Nutshell custom fields. The Company record is created first so that the People import can reference it via a lookup.
OrangeCRM
Contact
Nutshell
People
1:1OrangeCRM Contacts map 1:1 to Nutshell People. Standard fields (name, email, phone, address) transfer directly. Multi-value phone and email fields are split into Nutshell's single-value phone and additional email fields. We resolve the parent Company reference using the Customer-CustomerID linkage from the OrangeCRM export.
OrangeCRM
Fulfillment
Nutshell
Deal + Activity
1:manyFulfillment records are a proprietary OrangeCRM concept tracking subscription or order fulfillment status tied to a Customer. Nutshell has no Fulfillment object, so we create a Deal record to represent the subscription or order, and attach Activity records to represent fulfillment milestones (status changes, shipment events, renewal dates). The original fulfillment status is preserved in a custom field on the Deal.
OrangeCRM
Help Desk Ticket
Nutshell
Case or Activity
lossyOrangeCRM Help Desk tickets with status, priority, assignee, and conversation history map to Nutshell Cases if the customer uses Nutshell's native case management, or to Activity records linked to the People or Company if cases are not enabled. Conversation threads convert to Activity notes. The customer decides the case vs. activity strategy during scoping.
OrangeCRM
Email Marketing Record
Nutshell
Campaign + People custom fields
1:1OrangeCRM email campaign records and subscriber lists map to Nutshell Campaigns and People custom fields. Subscriber opt-in dates and campaign engagement metrics (opens, clicks) preserve as custom fields on the People record. Nutshell's Campaign object tracks campaign membership; email content does not migrate.
OrangeCRM
Storefront Transaction
Nutshell
Deal + Product
1:1OrangeCRM Storefront orders and product records map to Nutshell Deals (representing the order) and Products (if the customer uses Nutshell's product catalog). Order totals, line items, and fulfillment status transfer to Deal fields and Activity notes. Any proprietary OrangeCRM product IDs are preserved in a custom field for audit.
OrangeCRM
Banking Module Record
Nutshell
Deal or Activity
1:1OrangeCRM Banking module records (payment or ledger tracking) have no direct Nutshell equivalent. We map these to Deals representing invoices or payments, with the transaction amount, currency, and date preserved in Deal fields. Multi-currency handling is flagged during scoping, and the customer decides whether to store the original currency or convert.
OrangeCRM
Event Management Record
Nutshell
Campaign + People custom fields
1:1Event registrations and attendee records map to Nutshell Campaigns (representing the event) and People custom fields (representing registration status, session selections, and attendance). We preserve attendee status, session selections, and any custom event fields as custom People fields. Event-specific data (session schedules, venue) stores as Campaign notes.
OrangeCRM
User and Owner
Nutshell
User
1:1OrangeCRM user accounts and record owners map to Nutshell Users. We resolve owners by email match against the Nutshell destination. Any OrangeCRM Owner without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before the record import continues.
OrangeCRM
Attachment
Nutshell
File attachment via URL
1:1File attachments on OrangeCRM records export as URL references or binary blobs depending on OrangeCRM's export method. We preserve the attachment URL or download and re-upload to Nutshell, maintaining the relationship to the parent People, Company, or Deal record. If OrangeCRM exports attachments as blobs, we coordinate with the customer on storage transfer.
| OrangeCRM | Nutshell | Compatibility | |
|---|---|---|---|
| Customer | Company1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Fulfillment | Deal + Activity1:many | Fully supported | |
| Help Desk Ticket | Case or Activitylossy | Fully supported | |
| Email Marketing Record | Campaign + People custom fields1:1 | Fully supported | |
| Storefront Transaction | Deal + Product1:1 | Fully supported | |
| Banking Module Record | Deal or Activity1:1 | Fully supported | |
| Event Management Record | Campaign + People custom fields1:1 | Fully supported | |
| User and Owner | User1:1 | Fully supported | |
| Attachment | File attachment via URL1: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.
OrangeCRM gotchas
No publicly documented bulk export API
Proprietary module schema without standard object mapping
Workflows and automations do not export
Scarce third-party integration ecosystem
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 export capability assessment
We audit the OrangeCRM instance across all active modules (Customers, Fulfillments, Contacts, Help Desk, Email Marketing, Storefront, Banking, Event Management), custom field schemas per module, user count, and record volume. We assess the export capabilities available in OrangeCRM's admin panel since no public bulk API exists. The discovery output is a written migration scope with module-by-module record counts, an extraction plan, and a custom field schema export.
Extraction coordination and file validation
We coordinate with the customer to extract data from OrangeCRM's admin-panel export capabilities in structured CSV or JSON format. We validate the export completeness (record counts, date ranges, attachment URL accessibility) before any transformation begins. Any orphaned records (Contacts without a parent Customer, Attachments without a parent record) are flagged in a pre-migration report for the customer's review.
Schema design and custom field creation in Nutshell
We design the Nutshell destination schema based on the object mapping plan. This includes creating custom fields on People, Companies, Deals, and Cases to accommodate OrangeCRM custom fields and proprietary module data that has no direct Nutshell equivalent. Custom fields are created in Nutshell before any import file is staged. We define the Fulfillment-to-Deal, Banking-to-Deal, and Event-to-Campaign mapping decisions in the schema design document for customer sign-off.
Sample import via Nutshell Import2
We stage a sample import file of up to 100 records across the primary objects (Companies, People, Deals) and run it through Nutshell's Import2 integration. This validates field mapping correctness, confirms that custom field types match the import data, and identifies any data quality issues (duplicate detection, required field gaps, malformed values) before the full migration. Corrections to the import file and Nutshell schema happen in this phase.
Production migration in dependency order
We run the production migration in record-dependency order: Companies (from OrangeCRM Customers), People (with CompanyId resolved), Deals (from Fulfillments, Storefront Transactions, or Banking records based on the customer's module usage), Cases or Activities (from Help Desk tickets), and Campaigns (from Email Marketing or Event Management records). Each phase emits a row-count reconciliation report before the next phase begins. Attachments and custom field values load after their parent records.
Cutover, validation, and automation inventory handoff
We freeze OrangeCRM writes during cutover, run a final delta migration of any records modified during the migration window, then mark Nutshell as the system of record. We deliver a written inventory of every OrangeCRM workflow, automation rule, and email marketing configuration to the customer's admin team for rebuild in Nutshell. We support a brief hypercare window to resolve reconciliation issues. Workflow rebuild and automation rebuild are outside standard migration scope and are quoted as a separate engagement.
Platform deep dives
OrangeCRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 OrangeCRM and Nutshell.
Object compatibility
2 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
OrangeCRM: Not publicly documented.
Data volume sensitivity
OrangeCRM 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 OrangeCRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your OrangeCRM 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 OrangeCRM
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.