CRM migration

Migrate from Zilliant CPQ to Microsoft Dynamics 365 Sales

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

Zilliant CPQ logo

Zilliant CPQ

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

70%

7 of 10

objects map 1:1 between Zilliant CPQ and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Zilliant CPQ to Microsoft Microsoft Dynamics 365 Sales is a CPQ-to-CRM structural migration that requires careful schema alignment across product models, pricing hierarchies, and quoting workflows. Zilliant CPQ treats Products as the base entity with layered pricing schemes (catalog, matrix, agreement, and override), while Microsoft Dynamics 365 Sales uses Product2 with PricebookEntry and the Opportunity-Quote model. We resolve the Product hierarchy, map agreement-based pricing to Customer Price Lists or custom pricing entities, and preserve the ERP_ID cross-references that downstream order-fulfillment systems depend on. Groovy scripted logic, Business Data Attribute (BDA) lookup tables, and Guided Selling constraint rules do not migrate as code; we deliver a written inventory of every active script and configuration rule for manual rebuild in Dynamics or via a CPQ add-on such as Experlogix or PROS Smart CPQ. We use the Dataverse Web API with batch requests and throttling to load data into Microsoft Dynamics 365 Sales , respecting the service protection limits of 6,000 requests per 300 seconds per user license.

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

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Zilliant CPQ objects map to Microsoft Dynamics 365 Sales

Each row shows how a Zilliant CPQ object lands in Microsoft Dynamics 365 Sales , 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

Microsoft Dynamics 365 Sales

Product2

1:1
Fully supported

Zilliant Products (the base entity equivalent to ERP Materials) map directly to Dynamics 365 Product2. We preserve the product hierarchy, variant configuration characteristics, and unit-of-measure settings. ERP_ID cross-references on Product records transfer to a custom field on Product2 for downstream order-fulfillment lookup. Products with complex characteristic-based variant rules require a CPQ add-on (Experlogix, Tacton, or PROS) to preserve constraint logic; we document the rule structure and flag where native Dynamics configuration ends.

Zilliant CPQ

Quote

maps to

Microsoft Dynamics 365 Sales

Quote + Opportunity

1:many
Fully supported

Zilliant Quotes map to a two-stage model in Microsoft Dynamics 365 Sales : the Quote object stores the quoted configuration, and the parent Opportunity stores the pipeline stage (Proposal, Negotiation, Closed Won/Lost). Quote line items map to OpportunityLineItem. We preserve Quote status, expiration dates, and any attached files as SharePoint document locations in Dynamics. Historical Quote records that are already closed transfer as Opportunity records with their final stage locked.

Zilliant CPQ

Price List

maps to

Microsoft Dynamics 365 Sales

Price List (Dynamics)

1:1
Fully supported

Zilliant Price Lists with catalog, reference, global list, and published types map to Dynamics 365 Price List entities. We preserve the full price type hierarchy and sequencing, and handle multi-currency Price Lists by mapping the currency code to the TransactionCurrencyId on the Price List. Matrix price types that define quantity-based or attribute-based pricing map to Product Quantity Rules or require a CPQ add-on for full fidelity.

Zilliant CPQ

Price Item

maps to

Microsoft Dynamics 365 Sales

Price List Item

1:1
Fully supported

Zilliant Price Items linked to Products within Price Lists map to Price List Items in Microsoft Dynamics 365 Sales . The ERP_ID column on Price Item rows (which can be hidden via UI Profiles but is still present) transfers to a custom field on Price List Item for ERP cross-referencing. We explicitly query hidden column data during extraction to avoid missing ERP mapping rows that downstream order-fulfillment systems depend on.

Zilliant CPQ

Sales Agreement

maps to

Microsoft Dynamics 365 Sales

Agreement (Dynamics 365)

1:1
Fully supported

Zilliant Sales Agreements store customer-specific pricing contracts with effective date ranges, discount tiers, and pricing overrides. These map to the Agreement entity in Dynamics 365 (available through the Agreement Management add-on or via custom fields on the Account). We preserve tiered pricing structures as pricing detail lines and flag any date-range logic that requires Power Automate-based renewal reminders post-migration.

Zilliant CPQ

Account

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Zilliant Account records (subject objects linked to Quotes and Opportunities) map directly to Dynamics 365 Account. Large account hierarchies with custom address structures require field-level mapping of billing versus shipping address roles. Account-to-Contact linkages transfer with the Contact import so that the Account lookup is satisfied at the moment of Contact insert.

Zilliant CPQ

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Zilliant Contact records with PartnerRoleRecord associations map to Dynamics 365 Contact. We preserve contact-to-account linkages, and any BDA custom fields on Contact transfer as custom fields on the Dynamics Contact entity. BDA list-type values store only raw codes from C4C; we flag every BDA field during scoping and advise that translated labels will need to be re-established from the C4C source post-migration.

Zilliant CPQ

Sales Item (line items)

maps to

Microsoft Dynamics 365 Sales

OpportunityLineItem

1:1
Fully supported

Zilliant Sales Items (the line-item subject type with quantity, pricing, and product references) map to Dynamics 365 OpportunityLineItem. Complex BOM item configurations with nested quantity settings require recursive resolution of the Product2 structure before migration. We validate that each Sales Item has a resolved Product2 reference and PricebookEntry before insert to avoid orphaned line items.

Zilliant CPQ

Guided Selling Rules

maps to

Microsoft Dynamics 365 Sales

Configuration documentation (Power Automate, CPQ add-on)

lossy
Mapping required

Zilliant Guided Selling rules and constraint-based configuration are stored as structured rule packages, not individual records. We export them as a written rule package document covering constraint logic, characteristic dependencies, and guided flow triggers. These do not migrate as active rules; the customer's admin rebuilds them in a CPQ add-on (Experlogix, Tacton, PROS) or documents them for Power Automate-based routing post-migration.

Zilliant CPQ

Groovy Scripts

maps to

Microsoft Dynamics 365 Sales

Power Automate / custom code documentation

lossy
Fully supported

Zilliant Groovy scripts extend standard functionality via custom business logic. These are configuration artifacts, not data records, and do not export via CSV or API. We catalog every active Groovy script during scoping, export its logic as text, and deliver a written inventory with recommended replacement patterns in Power Automate, Dataverse plugins, or a CPQ add-on. Groovy logic that cannot be expressed natively requires a separate development engagement.

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

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Groovy scripted logic does not migrate as data

    Zilliant CPQ allows custom business logic via Groovy scripts that modify standard functionality including pricing calculations, validation, and configuration hooks. These scripts are configuration artifacts, not data records, and 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 deliver a written inventory with recommended replacement patterns for the customer's admin to reimplement in Power Automate, Dataverse plugins, or a CPQ add-on. This is a manual rebuild scope that sits outside the standard migration timeline.

  • ERP_ID hidden column may be missed by standard extraction

    The ERP_ID column on Zilliant 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 transfer ERP_ID to a custom field on the Dynamics Price List Item record. Customers should verify their source environment's UI Profile settings before assuming all critical fields are visible.

  • Dynamics 365 service protection API limits apply to bulk migration

    Microsoft Microsoft Dynamics 365 Sales enforces service protection API limits of 6,000 requests per 300 seconds per user license on the Dataverse Web API. Bulk migrations with thousands of Price Items, Quote line items, or Product records will hit these limits without explicit throttling. We use Dataverse batch requests (up to 1,000 operations per batch), implement exponential backoff on 429 responses, and pace imports to remain within the per-user allocation. For large migrations, we recommend an application user with elevated API capacity rather than a named user license to maximize throughput.

  • BDA list-type fields lose C4C localization on transfer

    Custom BDA fields mapped from SAP C4C into Zilliant CPQ store only the raw list code value without C4C's localized display labels. When these records migrate to Dynamics 365, the list codes transfer but the localized text does not. We flag every BDA field with list-type data during scoping and advise customers that translated option set labels will need to be re-established from C4C source records post-migration. This affects any Zilliant instance with multi-language C4C integrations.

  • Guided Selling rules and constraint packages require CPQ add-on rebuild

    Zilliant's constraint-based configuration model (characteristic-driven rules, guided selling flows) has no direct equivalent in base Microsoft Dynamics 365 Sales . The base platform does not include a product configurator with constraint validation. Customers with complex engineer-to-order or assemble-to-order models will need a CPQ add-on (Experlogix CPQ, Tacton CPQ, PROS Smart CPQ, or Cincom CPQ) to preserve the configuration logic. We document the rule structure during migration scoping and deliver a CPQ add-on recommendation based on the complexity profile of the product catalog.

Migration approach

Six steps for a successful Zilliant CPQ to Microsoft Dynamics 365 Sales data migration

  1. Discovery and Zilliant environment audit

    We audit the source Zilliant CPQ environment across Groovy scripts, active BDA field mappings, Price List hierarchies (catalog, matrix, agreement, override), guided selling rule packages, Product variant configurations, and Sales Agreement structures. We extract ERP_ID column data including hidden columns, identify BDA list-type fields with C4C localization dependencies, and inventory every active Groovy script for the rebuild handoff document. The discovery output is a written migration scope covering record counts, schema complexity, and any CPQ add-on recommendation for variant configuration.

  2. Schema design and Dynamics 365 environment preparation

    We design the destination schema in Microsoft Dynamics 365 Sales including Product2 families, custom fields for ERP_ID and BDA codes, Price List structures, Agreement entities, and option set definitions for list-type fields. If the customer requires complex variant configuration, we include a CPQ add-on evaluation as part of the schema design phase. Schema is deployed into a Dynamics 365 Sandbox (Full Copy) via the Dataverse Web API or solution package before any data import begins.

  3. Sandbox migration and reconciliation

    We run a full migration into the Dynamics 365 Sandbox using production-like data volumes. The customer's RevOps or IT lead reconciles record counts (Products in, Price Items in, Quotes in, Accounts in, Contacts in, Sales Agreements in), spot-checks 25-50 random records against the Zilliant source, and validates pricing calculations against original Price List outputs. Any mapping corrections, hidden column data gaps, or pricing logic mismatches surface here before production migration begins.

  4. Groovy script inventory and configuration rule export

    We extract every active Groovy script as a text document, categorize them by function (pricing hooks, validation logic, configuration handlers), and map each to a recommended replacement pattern in Power Automate, Dataverse plugins, or a CPQ add-on. Guided Selling rule packages are documented as structured rule descriptions with trigger conditions, constraint logic, and characteristic dependencies. This deliverable is the customer's blueprint for the post-migration admin rebuild.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Products (with ERP_ID custom field), Price Lists (with currency mapping), Price Items (with ERP_ID resolved), Accounts (with address role mapping), Contacts (with AccountId resolved), Opportunities and Quotes (with line items), Sales Agreements (with pricing tiers), and BDA custom fields (with raw code values and flag for label rebuild). We use Dataverse batch requests with 1,000-operation limits, respect the 6,000 requests per 300 seconds service protection limit with exponential backoff, and emit a row-count reconciliation report after each phase before the next begins.

  6. Cutover, validation, and rebuild handoff

    We freeze Zilliant CPQ writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Groovy script inventory, Guided Selling rule documentation, and CPQ add-on recommendation to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's sales team. We do not rebuild Groovy logic as Power Automate flows or CPQ add-on configurations inside the migration scope; that is a separate engagement or internal admin 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
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    2 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 Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

Walk through your Zilliant CPQ to Microsoft Dynamics 365 Sales 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 5,000 Products and 10,000 Quotes with clean Price List hierarchies and no complex variant configurations. Migrations with Sales Agreement hierarchies, BDA custom field architectures, multi-ERP cross-references (SAP, Oracle), or complex variant configuration models move to seven to twelve weeks because of schema mapping time, hidden column extraction, and pricing logic validation. The Groovy script inventory and Guided Selling rule documentation add scope but do not extend the timeline if the customer plans the rebuild as a separate workstream.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zilliant CPQ.
Land in Microsoft Dynamics 365 Sales , 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