CRM migration

Migrate from Zilliant CPQ to Freshsales

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

Zilliant CPQ logo

Zilliant CPQ

Source

Freshsales

Destination

Freshsales logo

Compatibility

70%

7 of 10

objects map 1:1 between Zilliant CPQ and Freshsales.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Zilliant CPQ and Freshsales serve different core functions. Zilliant CPQ is a manufacturing-focused configure-price-quote platform built around Products, Quote line items, Sales Agreements, and AI-driven pricing optimization with variant configuration and constraint-based rules. Freshsales is a sales CRM from Freshworks built around Contacts, Accounts, Deals, and built-in communication tools at SMB-friendly pricing without a native CPQ module. The migration scope is therefore bounded: we transfer Products, Accounts, Contacts, and Quote headers and line items as data records, but complex pricing schemes, Sales Agreement tier logic, guided-selling rule packages, and any custom Groovy scripts do not migrate as functional code. We preserve ERP_ID cross-references on Price Item rows, map BDAs to Freshsales custom fields, and deliver a written catalog of every active Groovy script and pricing rule for your team to rebuild using Freshsales custom fields, workflows, and deal fields or an integrated CPQ add-on. This migration is most common for distributors or manufacturers leaving Zilliant CPQ who have outgrown its pricing complexity and want a simpler CRM at lower per-seat cost, but who should plan for a separate CPQ replacement if advanced quote configuration is mission-critical.

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

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Zilliant CPQ objects map to Freshsales

Each row shows how a Zilliant CPQ object lands in Freshsales, 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

Freshsales

Product

1:1
Fully supported

Zilliant CPQ Products (the base entity equivalent to ERP Materials) map to Freshsales Product records. Standard and custom product attributes migrate as typed fields. Variant configuration rules (characteristic-based rules for assemble-to-order and engineer-to-order) do not migrate as logic; we export them as a structured rule-package document and flag them for manual rebuild in Freshsales custom fields and workflows if the destination requires configuration constraints.

Zilliant CPQ

Account

maps to

Freshsales

Account

1:1
Fully supported

Zilliant CPQ Accounts map to Freshsales Accounts directly. Large account hierarchies with custom address structures require field-level mapping of the address compound field. We preserve any BDA custom fields attached to Accounts as Freshsales custom fields, but note that C4C localization of BDA list-code values is not preserved in Zilliant CPQ and therefore does not appear in the export.

Zilliant CPQ

Contact

maps to

Freshsales

Contact

1:1
Fully supported

Zilliant CPQ Contacts map to Freshsales Contacts. PartnerRoleRecord associations on contacts migrate as custom fields on the Contact record. We preserve contact-to-account linkages by resolving AccountId at migration time. Any BDA custom fields on Contact records map to Freshsales custom fields of the corresponding type.

Zilliant CPQ

Quote

maps to

Freshsales

Deal

1:1
Fully supported

Zilliant CPQ Quote headers map to Freshsales Deals. The Quote status state (Draft, Pending Approval, Approved, Rejected) migrates to Freshsales Deal stage values that we configure before migration. Quote line items (SalesItems) map to Freshsales Deal Line Items if the Freshsales instance has the Products and Line Items module enabled, or to custom fields on the Deal if that module is not licensed.

Zilliant CPQ

Price List

maps to

Freshsales

Product + Custom Fields

lossy
Fully supported

Zilliant CPQ Price Lists (catalog, reference, global list, published, and matrix price types) have no native Freshsales equivalent because Freshsales does not include a CPQ pricing engine. We flatten Price List structures into Product pricing fields (list_price, cost_price, margin fields) and custom fields on the Product record where multi-tier or customer-specific pricing is required. Matrix pricing and agreement-level overrides become custom fields on Account or Deal.

Zilliant CPQ

Price Item

maps to

Freshsales

Product Pricing Fields

lossy
Fully supported

Zilliant CPQ Price Items are linked to Products and belong to Price Lists. ERP_ID column visibility may be toggled per-role via UI Profiles, but we explicitly query hidden column data during extraction to preserve ERP cross-references. These ERP_ID values migrate as a custom field erp_id__c on the Product record. Multi-currency Price Items require explicit currency mapping during extraction.

Zilliant CPQ

Sales Agreement

maps to

Freshsales

Account Custom Fields or Deal Custom Fields

lossy
Fully supported

Zilliant CPQ Sales Agreements store customer-specific pricing contracts with effective date ranges, discount tiers, and pricing overrides. We map agreement structures to Freshsales custom fields on Account (for standing contract terms) and Deal (for deal-specific pricing). Tiered discount structures flatten to custom numeric fields or picklist values because Freshsales does not support multi-tier pricing schedules natively. Agreement expiration dates map to custom date fields with workflow alerts as a rebuild recommendation.

Zilliant CPQ

Guided Selling Rules

maps to

Freshsales

Not Migrated (Rule Package Document)

1:1
Mapping required

Zilliant CPQ Guided Selling Rules (characteristic-based product rules that drive configuration flows and constraint-based configuration) are stored as structured rule packages, not individual records. We export them as a rule-package document during scoping and flag them for manual reimplementation. Freshsales does not have a native guided-selling or constraint-based configuration module; if this capability is required, we recommend evaluating a companion CPQ tool and treating it as a separate implementation scope.

Zilliant CPQ

Business Data Attributes (BDAs)

maps to

Freshsales

Custom Fields

1:1
Mapping required

Zilliant CPQ BDAs are custom fields mapped from SAP C4C via lookup tables supporting String, Boolean, and Decimal types. BDA field definitions and values migrate to Freshsales custom fields on the corresponding object (Account, Contact, Product). C4C localized display labels for BDA list-type fields are not preserved in Zilliant CPQ; only the raw list code value exists in the CPQ export. We flag every BDA field with list-type data and advise that translated labels must be re-established from C4C source records post-migration.

Zilliant CPQ

User

maps to

Freshsales

User

1:1
Fully supported

Zilliant CPQ Users migrate to Freshsales Users by email match. Domain-approval restrictions on Zilliant CPQ user accounts (unapproved email domains cannot sign in) have no Freshsales equivalent; we flag user domain restrictions during scoping for the customer's admin to re-enforce in Freshsales user management. Role-based UI Profiles that control field visibility do not migrate; these become Freshsales field-level security settings configured manually post-migration.

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

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • No native pricing engine in Freshsales

    Freshsales does not include a CPQ module or pricing calculation engine. Complex pricing schemes from Zilliant CPQ (catalog, matrix, agreement, and override pricing with real-time calculation) do not have a Freshsales native equivalent. We flatten pricing data into Product list prices and custom fields on Account or Deal, but dynamic pricing logic, tiered discount calculations, and pricing optimization rules must be rebuilt using Freshsales workflows and custom fields or a separate CPQ tool. We flag every pricing scheme in the source environment and deliver a written pricing-logic inventory for the customer's admin to evaluate.

  • Groovy scripted logic does not migrate as code

    Zilliant CPQ custom business logic written in Groovy is a configuration artifact, not a data record. Standard CSV exports and API bulk reads do not include Groovy script content. We catalog every active Groovy script during scoping, export its logic as text, and deliver it as a written rule-package document. Groovy scripts cannot be reimplemented automatically in Freshsales because Freshsales does not support custom scripting. The customer's admin or a developer rebuilds the logic using Freshsales workflow builder, custom fields, and REST API webhooks, or replaces the functionality with native platform features.

  • ERP_ID column may be hidden but is still required

    The ERP_ID column on Zilliant CPQ Price Item rows uses the UI column ID id_col_quote_configuration_priceItems_erpId, which 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 to preserve ERP mapping. The customer must confirm whether ERP_ID values are required in Freshsales and, if so, which ERP system they reference for the mapping to be meaningful at the destination.

  • 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 to CPQ. When these BDA values migrate to Freshsales custom fields, only the code is available. We flag every BDA field with list-type data during migration scoping and advise the customer that translated label sets must be re-established from C4C source records post-migration. This affects any BDA used for product classification, region-specific categorization, or multi-language customer attributes.

  • Guided Selling rules have no Freshsales equivalent

    Zilliant CPQ Guided Selling rules and constraint-based configuration models (characteristic-based rules that drive assemble-to-order and engineer-to-order workflows) are exported as structured rule packages only. Freshsales has no native guided-selling or constraint-based configuration module. If the customer's sales process depends on constraint validation during product selection, we recommend evaluating a companion CPQ product (Freshsales does not bundle one) and treating the guided-selling rebuild as a separate implementation scope. We document every active rule set with its trigger conditions and constraints in the rule-package deliverable.

Migration approach

Six steps for a successful Zilliant CPQ to Freshsales data migration

  1. Discovery and source audit

    We audit the Zilliant CPQ environment across Products, Accounts, Contacts, Quotes, Price Lists, Price Items, Sales Agreements, BDAs, active Groovy scripts, and guided-selling rule packages. We extract record counts per object, identify custom field definitions, and confirm the visibility of hidden columns (particularly ERP_ID on Price Item rows). We also confirm the target Freshsales edition and whether the Products and Line Items module is licensed, which determines whether Quote line items map to native line items or custom fields.

  2. Destination schema design

    We design the Freshsales schema to receive the migrated data. This includes creating custom fields for Sales Agreement terms (effective dates, discount tiers, override flags), ERP cross-references (erp_id__c on Product), BDA fields from Zilliant CPQ mapped by type, and Quote-status-to-Deal-stage mapping. We configure Deal stages in Freshsales to correspond with Zilliant CPQ Quote status states. Schema is validated in a Freshsales sandbox environment before any production data moves.

  3. Groovy script and rule-package catalog

    We catalog every active Groovy script in the Zilliant CPQ environment and export its logic as structured text. We also document all guided-selling rule packages. These are delivered as written artifacts, not migrated as functional code. The customer's admin reviews the catalog and determines which rules can be rebuilt using Freshsales workflow builder, which require a companion CPQ tool, and which represent deprecated or redundant logic to retire.

  4. Pricing data flattening and ERP_ID extraction

    We flatten Price List structures (catalog, matrix, agreement, override pricing) into Product pricing fields and custom fields on Account or Deal. We extract ERP_ID values from hidden Price Item columns explicitly to preserve ERP cross-references. Multi-currency Price Items are mapped by currency code. BDA list-type values are extracted with their raw code identifiers for migration to Freshsales custom picklists or text fields.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Products (with erp_id__c and pricing fields), Accounts (with BDA fields and agreement-term fields), Contacts (with BDA fields and contact-to-account linkage), Quotes mapped to Deals (with Deal stage configuration, line items if Products and Line Items module is licensed), and finally any Sales Agreement data flattened into Account or Deal custom fields. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and rebuild handoff

    We freeze Zilliant CPQ writes during cutover, run a final delta migration of records modified during the migration window, and deliver the Groovy script catalog and guided-selling rule-package document to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild Groovy logic, guided-selling rules, or pricing optimization rules in Freshsales as part of the migration scope; those are separate rebuild tasks handled by the customer's admin, developer, or a Freshworks implementation partner.

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
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

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 Freshsales.

  • 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 Freshsales 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 Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for environments under 10,000 Products, 5,000 Accounts, and 20,000 Quote records with no active Groovy scripts requiring cataloging. Migrations with large Sales Agreement histories, complex BDA lookup tables, multi-tier pricing structures to flatten, or active guided-selling rule packages move to six to ten weeks because of schema design for pricing-equivalent fields, rule-package documentation, and reconciliation of hidden column data.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zilliant CPQ.
Land in Freshsales, 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