CRM migration
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
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 10
objects map 1:1 between Zilliant CPQ and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
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.
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.
Source platform
Zilliant CPQ platform overview
Scorecard, SWOT, gotchas, and pricing for Zilliant CPQ.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Microsoft Dynamics 365 Sales
Product2
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Quote + Opportunity
1:manyZilliant 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
Microsoft Dynamics 365 Sales
Price List (Dynamics)
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Price List Item
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Agreement (Dynamics 365)
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Account
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Contact
1:1Zilliant 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)
Microsoft Dynamics 365 Sales
OpportunityLineItem
1:1Zilliant 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
Microsoft Dynamics 365 Sales
Configuration documentation (Power Automate, CPQ add-on)
lossyZilliant 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
Microsoft Dynamics 365 Sales
Power Automate / custom code documentation
lossyZilliant 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.
| Zilliant CPQ | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Product | Product21:1 | Fully supported | |
| Quote | Quote + Opportunity1:many | Fully supported | |
| Price List | Price List (Dynamics)1:1 | Fully supported | |
| Price Item | Price List Item1:1 | Fully supported | |
| Sales Agreement | Agreement (Dynamics 365)1:1 | Fully supported | |
| Account | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Sales Item (line items) | OpportunityLineItem1:1 | Fully supported | |
| Guided Selling Rules | Configuration documentation (Power Automate, CPQ add-on)lossy | Mapping required | |
| Groovy Scripts | Power Automate / custom code documentationlossy | 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.
Zilliant CPQ gotchas
Groovy scripted logic does not export as data
ERP_ID column may be hidden but still critical
SAP characteristic labels can duplicate after legacy migration
BDA list-type fields lose C4C localization
Attachment downloads could fire multiple times on older builds
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Zilliant CPQ
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Zilliant CPQ and Microsoft Dynamics 365 Sales .
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
Zilliant CPQ: Not publicly documented.
Data volume sensitivity
Zilliant CPQ 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 Zilliant CPQ to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Zilliant CPQ
Other ways to arrive at Microsoft Dynamics 365 Sales
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.