CRM migration

Migrate from Zilliant CPQ to Nutshell

Field-level mapping, validation, and rollback between Zilliant CPQ and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.

Zilliant CPQ logo

Zilliant CPQ

Source

Nutshell

Destination

Nutshell logo

Compatibility

70%

7 of 10

objects map 1:1 between Zilliant CPQ and Nutshell.

Complexity

BStandard

Timeline

1-2 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Zilliant CPQ to Nutshell is a platform simplification: Nutshell is a lightweight CRM with basic quoting rather than a full CPQ engine. Zilliant's complex pricing layers (catalog, matrix, agreement, override), guided selling rules, and Groovy-scripted custom logic do not map to Nutshell's record types. We migrate the operational record data (Products, Accounts, Contacts, Deals) and deliver a written inventory of every Sales Agreement, Price List, and BDA field requiring manual rebuild in Nutshell. The pricing complexity of a manufacturing CPQ cannot be compressed into Nutshell's standard fields without a scoped transformation plan written during discovery. We flag BDA list-type fields that lose C4C localization on transfer and advise customers to re-establish translated labels from source C4C records post-migration. Workflows, Groovy scripts, and guided selling rule packages are not migrated as code.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Zilliant CPQ logo

Zilliant CPQ

What's pushing teams away

  • Slow loading and performance issues during complex operations are the most cited frustrations, particularly during quote generation with many line items
  • Time lag between configuration completion and pricing calculation creates friction in fast-moving sales cycles, with users describing it as a recurring bottleneck
  • Manufacturing complexity that exceeds the platform's constraint-based configuration model forces teams to maintain workarounds outside CPQ, undermining the single-source-of-truth goal
  • Integration complexity with multiple ERP systems (SAP, Salesforce) creates data synchronization drift that requires manual correction
  • Some users report the platform's opinionated approach to pricing logic conflicts with unique discounting requirements in their specific vertical

Choosing

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How Zilliant CPQ objects map to Nutshell

Each row shows how a Zilliant CPQ 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.

Zilliant CPQ

Product

maps to

Nutshell

Product

1:1
Fully supported

Zilliant CPQ Products (the base entity, equivalent to ERP Materials) map to Nutshell Products with SKU, name, description, and unit price. Variant configurations and characteristic-based BOM rules in Zilliant cannot be migrated as configuration logic—Nutshell has no constraint engine. We export the variant structure as a structured JSON note on each Product record and deliver a variant-rule inventory document for the customer's admin to implement as product bundles or sub-products in Nutshell.

Zilliant CPQ

Account

maps to

Nutshell

Account

1:1
Fully supported

Zilliant CPQ Accounts map to Nutshell Accounts. Standard address, industry, and revenue fields migrate directly. Large account hierarchies with custom address structures require field-level mapping against Nutshell's standard address fields. ERP_ID cross-references stored in Zilliant Account records migrate to a custom text field erp_id__c in Nutshell.

Zilliant CPQ

Contact

maps to

Nutshell

Contact

1:1
Fully supported

Zilliant CPQ Contacts map to Nutshell Contacts with first name, last name, email, phone, and account linkage preserved. Partner function records attached to Zilliant Contacts require additional mapping to Nutshell's contact role or tag system. BDA custom fields on Contact use the lookup table mapping between C4C and CPQ—list-type BDA values lose C4C localization and migrate as raw code values only.

Zilliant CPQ

Quote

maps to

Nutshell

Deal

1:1
Fully supported

Zilliant CPQ Quotes map to Nutshell Deals. Quote headers (customer reference, quote date, expiration) become Deal fields. Line items (SalesItems) map to Deal line items or product-linked tasks depending on the Nutshell configuration. Quote status states (draft, submitted, accepted, rejected) map to Nutshell Deal status values. Closed quote history migrates with full line-item detail preserved.

Zilliant CPQ

Price List

maps to

Nutshell

Product pricing

lossy
Fully supported

Zilliant CPQ Price Lists (catalog, reference, global list, published, and matrix types) do not have a direct Nutshell equivalent. We migrate the primary catalog price as the Product.unit_price in Nutshell. Matrix pricing (volume-based and tiered) migrates as a structured JSON note on the Product or as a custom pricing table custom field, and we deliver a pricing-rule inventory document specifying each matrix dimension for manual reimplementation as Nutshell custom fields or spreadsheet-based lookup.

Zilliant CPQ

Sales Agreement

maps to

Nutshell

Account (custom fields)

lossy
Fully supported

Zilliant CPQ Sales Agreements (customer-specific pricing contracts with effective date ranges and discount tiers) have no Nutshell equivalent object. We migrate agreement header data (customer, effective dates, discount percentage) to custom fields on the linked Account record. Tiered discount structures migrate as structured notes. The customer rebuilds agreement enforcement as a manual review step or custom field validation in Nutshell. We deliver a full Sales Agreement inventory with field mapping as part of the migration package.

Zilliant CPQ

Guided Selling Rules

maps to

Nutshell

Not applicable

1:1
Mapping required

Zilliant CPQ Guided Selling rules (characteristic-based constraint and recommendation logic) are structured rule packages, not individual data records. Nutshell has no constraint-based configuration engine. We export the rule structure as a JSON rule package and deliver a guided-selling inventory document listing each rule's trigger conditions, constraint logic, and recommended Nutshell replacement (product bundles, pre-configured Kits, or a checkbox-matrix of option fields on the Product). Rebuilt guided selling is outside migration scope.

Zilliant CPQ

Business Data Attributes (BDAs)

maps to

Nutshell

Custom fields

lossy
Mapping required

Zilliant CPQ BDAs are custom fields mapped from SAP C4C via lookup tables. String, Boolean, and Decimal BDA types migrate to Nutshell custom fields of equivalent type. List-type BDA fields from C4C carry only the raw list code value in Zilliant CPQ—C4C's localized display labels are not synced and are lost on export. We flag every list-type BDA field during scoping and advise customers to re-establish translated labels from C4C source records post-migration.

Zilliant CPQ

User

maps to

Nutshell

User

1:1
Fully supported

Zilliant CPQ Users migrate to Nutshell Users by email match. Domain-approval restrictions in Zilliant (unapproved email domains cannot sign in) have no Nutshell equivalent—user provisioning proceeds without domain validation during migration. Role-based UI Profiles controlling field visibility (such as ERP_ID column access) do not transfer; Nutshell's field-level permissions are configured separately post-migration.

Zilliant CPQ

Attachment

maps to

Nutshell

File

1:1
Fully supported

Zilliant CPQ Quote attachments migrate to Nutshell as linked Files on the corresponding Deal record. The pre-patch bug where single attachment clicks triggered multiple downloads is a resolved source-environment issue and does not affect the migration. Attachment metadata (filename, upload date, uploader) preserves on the Nutshell File record.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Zilliant CPQ logo

Zilliant CPQ gotchas

High

Groovy scripted logic does not export as data

Medium

ERP_ID column may be hidden but still critical

Medium

SAP characteristic labels can duplicate after legacy migration

Medium

BDA list-type fields lose C4C localization

Low

Attachment downloads could fire multiple times on older builds

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Pair-specific challenges

  • Nutshell API cannot filter records by custom fields

    A documented Nutshell API limitation (confirmed on Stack Overflow by Nutshell support) prevents searching or querying records by custom field values via the API. Migration validation that relies on filtering by custom fields to verify BDA or ERP_ID migration will not work. We validate custom field migration through a two-step process: export the source Zilliant data by custom field, compare against the full Nutshell export (which includes all field values), and spot-check records manually or via bulk export comparison. Post-migration data verification by the customer admin must use Nutshell's UI filters or a full export rather than API-filtered queries.

  • Groovy scripted logic does not export as data

    Zilliant CPQ allows custom business logic via Groovy scripts that modify standard functionality. These scripts are configuration artifacts, not data records—they are not included in standard CSV exports or API bulk reads. We cannot migrate Groovy logic automatically. We catalog every active Groovy script during scoping, export its logic as text, and flag for manual reimplementation in Nutshell or replacement with native platform features. Any Zilliant formula parameter field mappings (Account, Product, Quote, Quote Line) documented in the CPQ connector configuration are included in the handoff inventory.

  • BDA list-type fields lose C4C localization

    Custom BDA fields mapped from SAP C4C store only the raw list code value in Zilliant CPQ—C4C's localized display labels are not synced. This is a Zilliant-to-any-destination issue, not a Zilliant-to-Nutshell-specific gotcha. We flag every BDA field with list-type data during migration scoping, export both the code value and the C4C source record label, and advise customers to re-establish translated labels in Nutshell custom fields post-migration from the C4C source data.

  • Pricing matrix complexity has no Nutshell equivalent

    Zilliant CPQ's multi-layer pricing (catalog, matrix, agreement, and override types) cannot be compressed into Nutshell's single-unit-price field without a transformation strategy defined during scoping. Volume-based tier pricing and customer-specific matrix pricing stored in Zilliant Price Items require decomposition into a pricing-rule inventory document. Nutshell does not support automatic price derivation based on quantity tiers or account segmentation—these must be implemented manually as custom fields or external pricing lookup post-migration.

  • ERP_ID column may be hidden but remains critical

    The ERP_ID column on Zilliant CPQ Price Item rows has a UI ID (id_col_quote_configuration_priceItems_erpId) that can be hidden system-wide or per-role via UI Profiles. Migration tooling that reads only visible columns will miss ERP cross-references that downstream order-fulfillment systems depend on. We explicitly query hidden column data during extraction and store the ERP_ID in a custom text field erp_id__c on the corresponding Nutshell Product or Account record.

Migration approach

Six steps for a successful Zilliant CPQ to Nutshell data migration

  1. Discovery and pricing structure assessment

    We audit the source Zilliant CPQ environment for object volume (Products, Accounts, Contacts, Quotes, Price Lists, Sales Agreements), BDA field count and types, active Groovy scripts, ERP_ID column visibility, and any guided selling rule packages. We assess the pricing structure complexity: number of Price List layers, matrix dimensions, and agreement tier count. The discovery output is a written migration scope, a pricing-transformation strategy document, and a list of items requiring manual rebuild (Groovy scripts, guided selling rules, Sales Agreement enforcement logic).

  2. Destination schema design in Nutshell

    We design the Nutshell destination schema: standard objects (Account, Contact, Product, Deal) with any required custom fields (erp_id__c, bda_code__c, agreement_data__c, pricing_note__c) created before any data import. We map Zilliant Price Lists to Product.unit_price (primary) plus a JSON pricing_note for matrix detail. We map Sales Agreement headers to Account custom fields. We map BDA fields to Nutshell custom fields with types matched to String, Boolean, or Decimal. BDA list-type fields are flagged for post-migration label re-establishment.

  3. Pricing transformation and BDA localization recovery

    We decompose Zilliant's multi-layer pricing into a primary unit price plus structured metadata. Volume tiers and matrix dimensions are serialized into a pricing_note JSON field on each Product. Sales Agreement tiers are decomposed to effective-date-sliced agreement_data__c records. For every list-type BDA field, we cross-reference the C4C source record to recover the localized display label and store it alongside the raw code value in the corresponding Nutshell custom field. We export the complete pricing-rule inventory and BDA localization table as supplementary documents.

  4. Record migration in dependency order

    We run migration in dependency order: Products (with pricing_note and erp_id__c), Accounts (with agreement_data__c), Contacts (with BDA custom fields), Deals (with line items from Quote SalesItems), Files (from Quote attachments). Owner resolution matches Zilliant user emails to Nutshell user emails. Any Zilliant Owner without a matching Nutshell User is held in a reconciliation queue for the customer's admin to provision before record import resumes.

  5. Validation using two-step export comparison

    Because Nutshell's API cannot filter by custom fields, we validate custom field migration through a two-step export comparison: we export the full Nutshell dataset after migration (which includes all field values for every record) and cross-reference against the source Zilliant extraction. We spot-check 25-50 records across Products, Accounts, Contacts, and Deals for field-level accuracy. BDA list-type fields are validated against the C4C source label table exported during scoping. ERP_ID preservation is validated by comparing the erp_id__c field in Nutshell against the hidden-column export from Zilliant.

  6. Cutover, Groovy handoff, and guided-selling inventory delivery

    We freeze Zilliant CPQ writes during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the Groovy script inventory (with logic as text exports), the guided-selling rule package inventory (as JSON), and the Sales Agreement decomposition document. We support a one-week hypercare window where we resolve any data reconciliation issues. Workflow rebuild, Groovy reimplementation, guided selling reconfiguration, and agreement enforcement logic are outside migration scope and are documented for the customer's admin team to handle as a separate implementation task.

Platform deep dives

Context on both ends of the pair

Zilliant CPQ logo

Zilliant CPQ

Source

Strengths

  • Variant configuration models for complex manufactured products are purpose-built and accessible to sales teams without engineering involvement
  • Real-time pricing calculations and dynamic cost estimations eliminate manual quote math errors
  • Guided selling flows steer reps toward margin-positive configurations automatically
  • Salesforce CPQ and SAP integrations are natively supported with documented connector endpoints
  • Product modeling supports characteristic-based rules for assemble-to-order and engineer-to-order workflows

Weaknesses

  • Performance degradation on complex operations with many line items is a documented user complaint
  • Configuration-to-pricing lag creates quote turnaround friction in fast sales cycles
  • Heavy reliance on Groovy scripting for custom logic means bespoke workflows do not export cleanly
  • BDA custom-field architecture between C4C and CPQ introduces localization loss on list-type fields
  • No publicly documented API rate limits or bulk-export mechanism in available documentation
Nutshell logo

Nutshell

Destination

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation

Complexity grading

How hard is this migration?

Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Zilliant CPQ and Nutshell.

  • Object compatibility

    B

    3 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Zilliant CPQ: Not publicly documented.

  • Data volume sensitivity

    B

    Zilliant CPQ doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Zilliant CPQ to Nutshell migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Zilliant CPQ to Nutshell data migrations

Answers to the questions buyers ask most during Zilliant CPQ to Nutshell migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Zilliant CPQ to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between one and two weeks for accounts with straightforward data (under 5,000 Products, Accounts, and Contacts with no Sales Agreements). Migrations involving Sales Agreement mapping, multi-layer pricing matrix decomposition, or large product catalogs with variant configurations extend to three to five weeks. The pricing complexity of a manufacturing CPQ with guided selling rules and Groovy scripts adds discovery and documentation time but does not increase record migration time because those elements are inventoried rather than imported.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zilliant CPQ.
Land in Nutshell, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day