Functional Overview
Managed Solution Overview
The Smart CPQ Managed Solution is the piece of software to install in MSCRM that allows the integration of the CRM with Smart CPQ. The Quote entity provided by default in MSCRM is at the core of the Smart CPQ managed solution. It is natively associated with Account, Contact, or Opportunity entities that usually intervene in the CPQ process.
The Quote entity is the main vector of communication with CPQ via an advanced sync mechanism based on on a flexible configuration of this process, that can involve any other MSCRM entity.
EXAMPLE OF A CRM QUOTE
EXAMPLE OF A CPQ QUOTE
SMART CPQ STEPS
The Smart CPQ Steps is a PCF component that allows accessing the quote in CPQ, directly at the step of the quoting workflow selected in the widget. The steps available for action depend on the
CPQ quote model used and on the permissions granted to you in CPQ.
Permissions
The permissions on steps are re-evaluated anytime the PCF component is refreshed or reloaded. They are also checked on key changes or actions in the CRM Quote:
- On a Quote Status Reason update.
- On a Quote Data Locale update.
- On a Quote Currency update.
- On a Sync CPQ action.
The permissions on steps are ultimately re-evaluated when when creating a quote or opening Smart CPQ from the CRM.
SMART CPQ REPORTS
The Smart CPQ Reports is a PCF component that allows leveraging the Smart Document
Generation module to generate documents from the CRM based on the CPQ Quote content. The component includes a selector in order for you to choose the template of document, and an action to Generate the document.
The report templates available for action depend on the CPQ quote model used and on the permissions granted to you in CPQ.
Permissions
The permissions to see the templates of documents in the list are re-evaluated anytime the PCF component is refreshed or reloaded.
They are also checked on key changes or actions in the CRM Quote:
- On a Quote Status Reason update.
- On a Quote Data Locale update.
- On a Quote Currency update.
- On a Sync CPQ action.
The permissions on report templates are ultimately re-evaluated when creating a quote or opening Smart CPQ from the CRM.
the Quote Designer.
QUOTE REVISION
MSCRM provides the capability to revise a quote that that has been previously activated via the Activate Quote action in the CRM Quote action bar.
While the CRM Quote is Active, it can only be read.
This is available in standard via the Revise button in the Quote entity action bar. On the CRM side, clicking on that button clones the current Quote and creates a new one with a new quote ID and an incremented Revision ID. In that operation, the associated Quote Products are also duplicated in the new Quote.
For this operation to be successful in the context of the Smart CPQ managed solution, it is important that a new Quote is created in CPQ and associated with the new CRM Quote revision, anytime you create a new CRM revision. Therefore, on each Revise action in the CRM, a specific sync mechanism is triggered to clone the source CPQ Quote and associate it with the new CRM Quote revision. The corresponding CPQ Quote lines are synced with the new CRM revision as well as all the fields setup in the data mapping definition.
In both systems, the source quotes are kept and maintained in sync.
CLONE
The Clone action is used when you click on Clone in the CRM Quote.
It allows creating a new Quote instance, both on the CRM and CPQ sides. It also duplicates their content and sync them. No setup is required in CPQ for this action to be functional. By default, the
following CRM Quote attributes must be duplicated:
- transactioncurrencyid (Display Name: Currency)
- opportunityid (Display Name: Opportunity)
- customerid (Display Name: Potential Customer)
- willcall (Display Name: Ship to)
- name (Display Name: Name)
- billto_composite (Display Name: Bill to Address)
- prosqtx_qtx_prossetup (Display Name: Smart CPQ Setup)
- shipto_composite (Display Name: Ship to Address )
- pricelevelid (Display Name: Price List)
The list of Quote attributes to be cloned can be overridden in the Setup entity. See this page for more details: Associate CPQ Attributes to CRM Quotes.
SYNCH QUOTE
This action is used when you click Synch CPQ in the CRM Quote action bar.
It triggers a back and forth sync between the CRM and CPQ Quotes, while refreshing both in the process.
UPDATE QUOTE STATUS
This action is automatically triggered by the Smart CPQ managed solution. On any change of the quote status in the CRM - based on the Status Reason (statuscode) CRM field - the CPQ quote status (_SYS_STATUS) field is updated. This update happens whether or not the quote is in read-only mode, except if specific access rights rules prevents the quote status to be overridden in CPQ. This update also happens when the Sync CPQ action is used or when you open CPQ.
See Define Data Mapping between MSCRM and CPQ for more details.
UPDATE QUOTE DATA LOCALE
This action is automatically triggered by the Smart CPQ managed solution. On any change of the Data Locale Override field in the CRM - if the field is positioned in the CRM Quote form - the CPQ data locale (_SYS_DATA_LOCALE) field is updated. This update happens except if specific access rights rules prevents the quote data locale to be overridden in CPQ. This update also happens when the Sync CPQ action is used or when you open CPQ.
See Define Data Mapping between MSCRM and CPQ for more details.
UPDATE QUOTE CURRENCY
This action is automatically triggered by the Smart CPQ managed solution. On any change of the Currency field in the CRM Quote - if the setting Propagate Quote Currency is checked in the Smart CPQ Setup - the CPQ Quote currency (_SYS_REF_CURRENCY) field is updated. This update happens except if specific access rights rules prevents the quote currency to be overridden in CPQ. This update also happens when the Sync CPQ action is used or when you open CPQ.
See that section for more details on the locale management: D365 Integration - Associate CPQ Attributes to CRM Quotes
CLOSE CART & SYNC
This action is used when the you click Close Cart & Sync from the CPQ Quote tab of the CRM.
It triggers the sync back from CPQ to the CRM. When in read only mode, the action is labelled "Close Cart" as the sync is deactivated in that scenario.
See this section for more details on the sync: D365 Integration - Synchronization.
Sync Status
A field is available in the Details tab of the CRM Quote form provided with the CPQ managed solution to surface the status of the quote sync and show the error potentially raised during the sync.
CPQ Sync Overview
All standard or custom data stored in the MSCRM Quote entity can be used on the CPQ side as inputs (e.g. for business rules). In the same way, information modified within CPQ can be synchronized back into the MSCRM Quote entity. These sync functions can also apply to any entity linked to a MSCRM Quote.
The exact data synchronization process depends on the implementation designed according to your business requirements.
SMART CPQ CONFIGURATION APP
The managed solution includes a Power App named Smart CPQ Configuration that handles the setup of the sync between the CRM and CPQ.
Within the Smart CPQ Configuration App, a powerful setup of the sync with CPQ is possible by modifying the following entities:
- Settings: to define the way MSCRM and CPQ communicate
- Setup: to define the Quote model and synchronization settings
- Mapping Set: to finely define the data mapping between the two systems
SYNC MECHANISMS
Smart CPQ Managed Solution for MS Dynamics provides two ways to handle data sync between the CRM and CPQ:
- Plugin: the data sync is managed by a MS Dynamics plugin embedded in the Smart CPQ managed solution.
- Azure Function: the data sync is managed by an Azure Function provisioned outside of the CRM.
The plugin option is recommended for organizations where quote content does not exceed the plugin governor limit in terms of number of quote lines to be synced. Above this limit, the Azure Function must be used.
Switching from one option to the other can be done in the Setup entity by leveraging the Azure Synchronization setting:
- Choose Yes to activate the Azure Function.
- Choose No (default value) to use the embedded plugin.
CRM PLUGIN
This is the solution activated by default. It is already packaged in the managed solution and does not require additional functions or provisioning to be operational. It is meant to handle use cases where quotes does not include more than the plugin governor limit in terms of number of quote lines to be synced, as it relies on a technology not optimized to handle large volumes of data.
AZURE FUNCTIONS
Azure functions are meant to handle large volumes of quote lines during the sync process. This is made possible both by the fact that Azure Functions are not constrained by the 2-minute execution timeout that applies to CRM Plugins and because Azure Functions leverage mechanisms such as sub-orchestration, parallelization, etc., thus optimizing performances.
The data flow associated with Azure Functions in the context of the Smart CPQ managed solution for MS Dynamics is the following:
A dedicated setup and provisioning must be done to benefit from Azure Functions.
