SAP-CPQ CALLIDUS INTIGRATION WITH SAP CRM AND C4C
CPQ CALLIDUS INTEGRATION WITH SAP CRM AND C4C
Just as important has been the advent of CPQ software that easily integrates with CRM and other business software. There’s no reason that deals need to be held up by a lengthy quote process – CPQ technology automates it,and it also provides a host of other benefits that help sales reps close bigger deals in ways that lead to greater customer satisfaction.And as per the Gartner, the technology is now finding its way into new sectors, including high-tech, telecommunications, life sciences and healthcare
Scope: Scope of this document is CPQ Callidus integration with SAP CRM and SAP C4C.
Navigate from C4C CRM seamlessly into CPQ. Leverage account, contact, asset, and contract information from C4C in CPQ and update C4C with quotes and other key variables. Sales orders and confirmations are integrated with C4C for processing. Integration with SAP ERP enables CPQ to import master product and pricing information and check inventory and process orders. Users can now use CallidusCloud CPQ to select the right product, configuration and price for each customer; generate compelling sales proposals quickly; and automatically update customer relationship management (CRM) with the latest pricing and product information. The solution helps simplify overall sales processes so representatives can focus on selling instead of time-consuming administrative task.
A) CPQ Callidus integration with SAP CRM
There are seven steps for integrating with SAP CRM
- General Setup: Select CRM application name
- CRM Administrator Account: Enter administrator account info
- Customer role mapping: Map customer role such as “Bill to”
- Custom Field mapping: Map CPQ and CRM fields (e.g.- Opportunity)
- Opportunity Status: Map CRM opportunity to CPQ Quote
- Price book Market Mapping: Select currency and Price simulation
- User Mapping: Map CRM accounts to CPQ users
- Log in to CPQ and Navigate to Setup and click Set up
- Navigate to CRM integration work center
Note : Steps involved down to top from general to Custom field mapping and back to User Mapping.
1)General: To access the General administrative section, click the link under the CRM Integration Setup admin menu. The General administrative section is used to define settings for the connection between SAP CPQ and the CRM. Here a user can define how SAP CPQ will communicate with the CRM, but also we can manage some of the interaction setting.
SAP CPQ is integrated with – Determines which CRM application SAP CPQ will integrate with. The selection determines what CRM icon is used in the CRM integration admin sections and what is seen on the user side on the customer info tab. In addition, the options available in the General admin section change based on the CRM system used. To view a CRM’s options, select the CRM from the SAP CPQ is integrated with field and click Save. This displays the options specific to that CRM
Here our scope is SAP CRM, so we are going to choose SAP CRM but we can have many as per the requirement of the business.
Here we also select types of product which we do not want to use in the intigration by selecting the arrow key.E.g: subscription
Query will be saved as general CRM Parameter
2)CRM Administrator Account
- To access the CRM Administrator Account, click the link under the CRM Integration Setup admin menu.
- To define a new account click Add New. On account definition page, select the type of CRM that the account refers to. Enter an administrative username and password used to log into the CRM Application.
- To set this as the active administrator account, select the check box to designate it.
- Here we define the administrator username and password used to access the CRM Application. The account is used to access the CRM application for lookups in administrative sections.
- We can define as many as accounts. In addition, it is used in the integration approach method of starting from CPQ. The account set here as the administrator account will be used to connect to the CRM to create and update opportunities and accounts/contacts.
- WE can define multiple administrator accounts if desired. This can be useful if we have multiple installations of the CRM application, such as a development installation and a production installation. We can then switch between the installation that CPQ integrates with by setting the administrative account of the installation we would like to use as the active account. This will only work if the same fields, opportunity status, and other mappings are the same in the development and production installations.
3)Custom Fields Mappings
The Custom Fields Mapping administrative section allows you to map fields, custom or standard, from CPQ to opportunity or opportunity account fields in the CRM. To access this administrative section, click the link under the CRM Integration Setup admin menu.
- Quote Creation Update from CRM- is for when we are creating quote in CRM and passing information to CPQ
- Opportunity Creation/update from CPQ- When we are transferring data from CPQ
- We can do both
Here I am taking example of data created in CPQ
- Click on Add new
- We can map both custom and standard fields. mapping of standard fields is little tricky and based on formula builder
- Click on Formula builder next to Standard quote field and its open a window
- Quote Create is initiated when the user clicks Add to Quotation to create the quote.
- Quote Update is initiated when the user enters the quote from the opportunity.
- Quote Create Update is initiated on both the create event and the update event. Starting from CPQ:
- Standard Field mapping:
- Select the Tags and this will enable fields in Available parameter box – select the appropriate line and click on insert tag and then check syntax and update .
Example: I have selected End_user_info tags and available parameter as User id
- In the CRM side we are mapping this field with Opportunity and Click on CRM look up will open the fields for CRM. In the CRM Fieldssection, select which field type the CPQ field will be mapped to: Opportunity or Opportunity Account. Next, click the CRM Lookuplink to select the particular CRM field that you would like mapped. This displays a pop up window where we can select the desired field
- Note – The integration is case sensitive. Use CRM Lookup to select CRM Fields. When Standard CPQ fields are being used in the mapping, the only direction available is arrow pointing to the right. This is because the standard fields, such as Total Amount and Quote Number, are defined by the user’s configuration and cannot be changed by another system.
- Custom Field mapping
Custom field mapping is much more straight forward, just select the field and map it with CRM field and save.
In the CPQ Fields section, select the type of field that will be mapped. Choosing Custom Quote Fields allows you to choose any custom field created in the system. Choosing Stand Quote Fields allows you to select the following values:
- Quote Number returns the quote number that will be associated with the opportunity
- Total Amount returns the total amount of the quote
- Quote Description returns the description of the quote.
In the CRM Fields section, select which field type the CPQ field will be mapped to: Opportunity or Opportunity Account. Next, click the CRM Lookuplink to select the particular CRM field that you would like mapped. This displays a pop up window where you can select the desired field.
The integration is case sensitive. Use CRM Lookup to select CRM Fields.
4)Mappings » Customer Roles
The Customer Roles Mapping administrative sections allows you to set up the mappings between CPQ customer roles, such as Bill To, Ship To, End User, and the opportunity information. To access this administrative section, click the link under the CRM Integration Setup admin menu.
Mappings can be set for either of the two integration approach methods: Starting from CPQ and Starting from the CRMDefining mappings for customer roles is done in a two step process.
a) The first step is defining the CPQ customer role, then selecting the CRM object that the role will be mapped to.
b) The second step is to define the field level mappings where you define the field from the CRM account to be mapped to the CPQ customer role field
- First, choose the CPQ customer role that the mapping will be defined for. The arrow between the CPQ roles and the CRM icon represents which system will drive the values.
- When the integration approach method is starting from the CRM, then the CRM will fill the customer role information in CPQ.
- Alternatively, when the integration approach method is starting from CPQ, then CPQ will fill the account information in the CRM.
- If object level mappings are already defined for one for the customer roles, We can easily copy the same settings to another role. In the right corner of the page is the Copy settings from box where We can choose the role to copy the settings from. This will only copy object level mappings to this role, and will not copy any field level mappings.
Starting from the CRM
- Quote Createis initiated when the user clicks Add to Quotation to create the quote.
- Quote Updateis initiated when the user enters the quote from the opportunity.
- Quote Create Updateis initiated on both the create event and the update event.
Starting from CPQ
- Opportunity Createis initiated when the Create/Update Opportunity action is clicked. If this action has been set as a pre or post action of another action, then the event will run when that action is clicked. The values will only be passed from or to the CRM on opportunity creation, and not when an opportunity is updated.
- Opportunity Updateis initiated when the Create/Update Opportunity action is clicked. If this action has been set as a pre or post action of another action, then the event will run when that action is clicked. The values will only be passed from or to the CRM on an update, and not on opportunity creation.
- Opportunity Create Updateis initiated when the Create/Update Opportunity action is clicked. If this action has been set as a pre or post action of another action, then the event will run when that action is clicked. Values will be passed from or to the CRM when the opportunity is created and updated.
- The Additional Optionspanel defines alternative mappings in the event that the first choice of account and contact is not available when the mapping
- The Additional Options pane is not available for the Starting from CPQ integration approach. This is because you are not defining where the values are coming from, but instead what account and contact values CPQ should fill on the CRM.
5) Opportunity Status
This section defines the mappings between a CRM opportunity status and a CPQ quote status. These mappings are only done when the Create/Update Opportunity action is initiated, either by the user clicking the action or by a pre or post action.
- To create a new mapping, click Add New. On the opportunity mapping definition page, choose the CPQ Cart Statusfrom the list box. To choose the CRM Opportunity Status, click CRM Lookup. This displays all the opportunity statuses from the CRM application
6) Price Book Market Mappings
- This section determines what CPQ market to apply to products coming from a CRM pricebook. This helps to determine what currency is being used and how to calculate the price of the product. In addition, when an opportunity is created the product included in the shopping cart is automatically created, if it doesn’t already exist, and placed into the correct price book on the CRM application.
- To create a new mapping, click Add New. On the market price book mapping definition page, select the CPQ market from the Market Name Select the CRM Price Book IDby clicking CRM Lookup and selecting the desired Price Book and Save.
7) User Mappings
Users are never created in CPQ as The first time a user logs into the CRM then accesses CPQ through the custom link created in the opportunity, they are asked to log into CPQ. Once logged into CPQ, a mapping is created between their CRM account and the CPQ account they logged in as. In the future when they access CPQ through the custom link in the opportunity, they are not asked to log into CPQ. This mapping created between the two user accounts is managed in the User Mappings administrative section. So make sure that users are actually able to log in for the first time. (Don’t set them as inactive in administration). If they ever become inactive, they won’t be able to access CPQ from CRM any more.
- The section lists every user in the system. Users with mappings already defined display the mapped CRM user in the second column. Other users without a mapping show nothing in this column.
- Only when its broken then we delete this in CPQ delete, a mapping between a CPQ user account and a CRM user account, click . This breaks the mapping and forces that CRM user to log into CPQ the next time they access CPQ through the custom link created in the opportunity
B)CPQ Callidus integration with SAP C4C
1)SAP C4C Integration Setup on the SAP CPQ Side
- Go to Setup> Providers > Providers > SAP.
- Click SAP Cloud Platform. A new page displays.
i) On the Common Settingstab, turn on the Enable integration toggle switch. In Hana Cloud Platform Integration – Authentication details, specify the following: Authentication mode: the method for tracking and authenticating users. You can select either Hybrid, BasicAuth or SamlBearer
– Integration username: the username of the integration user.
– Integration password: the password of the integration user.
ii) General settings
Send customers along with quote payload: when the toggle switch is enabled, SAP CPQ sends customer details such as bill-to, ship-to and end user details, together with the quote data to the SAP system. The quote data is sent in XML format.
– Send prices in the selected market: when the toggle switch is enabled, SAP CPQ sends prices calculated for the current quote’s market. If the toggle switch is disabled, prices are calculated for the default market.
– Dates in quote standard fields (e.g. Date Created, Date Modified…) will be converted into this time zone: You can select either UserZone or UtcZone
iii) SAP Cloud Platform Integration Service API Details, enter the following:
- REST APIbase URL address: the base REST API URL address of the SCP IS–SAP CPQ specific package. The value is delivered by the administrator and should not be changed on the fly. In addition, the value identifies a specific SCP IS environment, that is, the tenant.
– Endpoint that gets SAP object data details: a relative endpoint address of the SCP IS artifact that gets an object from the SAP system over SCP IS. The call acts as a proxy to SAP OData services and can query any publicly visible object from C4C.
– Endpoint that processes posted data in xml format: a relative endpoint of the SCP IS artifact that processes the posted data in the XML
– Endpoint that sends CPQ quote to SAP systems: a relative endpoint of the SCP IS artifact that sends the SAP CPQ quote to SAP systems.
- Click Save.
2)Defining C4C Settings
For CPQ-C4C integration purposes, specific IronPython methods that can be called over CPQ’s standard IronPython scripting functionality are exposed.
- Scripting Support for the SAP C4C Integration
The following is a list of available SAP scripting methods:
- GetOpportunityDetailsForNewQuote(Quote.OpportunityId): gets the Opportunity header and Customer details from the SAP system for the newly created Quote in CPQ that is associated with the incoming Opportunity ID.
- GetOpportunityDetailsForExistingQuote(Quote.OpportunityId): gets the Opportunity header and Customer details from the SAP system for the existing CPQ Quote that is associated with the incoming Opportunity ID.
- UpdateOpportunity(Quote.OpportunityId): updates the Opportunity header and inserts new items from the CPQ Quote payload. This scripting method should be used when only Opportunity needs to be updated, not the Sales Quote.
- CreateUpdateSalesQuote(Quote.OpportunityId): creates/updates the Sales Quote in the SAP system. This is an UPSERT operation. If the Sales Quote does not exist for the provided Opportunity ID, this scripting method creates a new Sales Quote and inserts header and Sales Quote lines by using data from the input Quote. If the Sales Quote exists, the scripting method removes all the items and inserts new items from the CPQ Quote payload.
- UpdateOpportunityAndSalesQuote(Quote.OpportunityId): updates both the Opportunity and Sales Quote in the SAP system. In addition, this scripting method aggregates UpdateOpportunityand UpdateSalesQuote artifacts. If possible, the artifact should call for a parallel creation/update of the Opportunity and the Sales Quote on the SCP IS side. The call may be used for sending documents and/or attachments from CPQ to SAP or for setting the CPQ Quote status to Won.
- AttachDocumentToOpportunity(Quote.OpportunityId): attaches a CPQ document (PDF, DOCX or XLSX) to the SAP Opportunity object.
- GetQuoteInXml(): gets a complete Quote serialized in XMLformat.
C)Intigration with S4/ERP Settings
CPQ offers flexible way to meet custom demands for various functionalities that are not part of the standard software version. This is achieved by implementing custom actions – parts of code that contain processing logic for appropriate functionalities. Custom actions can be used in the quote workflow as any other standard quote action, they can be set up as pre or post action. Also email notifications can be attached to them. Ironpython scripting language is used.
Note : If CPQ is integrated with a CRM,There is no need to run any load process,the data entered in CPQ is automatically added to the CRM
Summary : In this blog I have tried to capture information related to integration of Callidus CPQ with SAP CRM & C4C. Based on new release I ll be keep updating the blog.