Our example company, Drone Incorporated, sells hardware, software, and services using a variety of Salesforce CPQ product categories. It has configured Salesforce CPQ to sell
- Hardware using product bundles,
- Software using subscriptions, and
- Services using multidimensional quoting.
They have created an Ironclad workflow with the order form template below, which displays these products in separate tables.
We’ll help Drone Incorporated structure its Salesforce mapping to work with these pricing methods. In our example, Drone Incorporated’s sales rep has generated the two-year quote below for a prospect. The sections that follow will discuss how these can be pulled into the relevant Ironclad table.
Baseline Salesforce Behavior
Each product added to a Salesforce CPQ quote is represented as a separate Quote Line Item. This behavior applies whether the product is in a product bundle, subscription, or multidimensional quote.
Aside: If you are using Salesforce without CPQ, this is similarly represented as an Opportunity Line Item on the opportunity. This guide will use Salesforce CPQ for demonstrative purposes.
Source Object
In Ironclad, your workflow launch configuration should start from a source object that holds the line items, such as an opportunity or a quote. This approach allows you to pull all the Salesforce line items that are related to the source object. Drone Incorporated has chosen to use the quote as the source object for order forms, so sales reps will launch their workflow from that object.
For a full discussion of which source object to use (e.g., opportunity, quote, primary quote, etc.), see the source object considerations section.
Traversing to Line Items
Once you have selected a source object, you will need to traverse that object’s relationships to reach its related line items. If you are using the Salesforce CPQ quote as your source object, the mapping will follow the pattern below to access the quote items.
If you are using Salesforce CPQ and starting from a different source object, such as the opportunity, you would first traverse to the quote and then its line items.
Aside: If you are using Salesforce without CPQ and managing quotes using standard Sales Cloud objects, then you will need to traverse from the opportunity to the Opportunity Line Items object.
Product Bundles
This section will focus on Drone Incorporated’s use of a CPQ product bundle to sell the hardware needed for its drone (i.e. chassis, battery, propellers, sensors, etc.).
Drone Incorporated wants to pull all the hardware in the bundle into one table. They accomplish this in three steps.
- Drone Incorporated will map the quote line items object to the dynamic table it created in its order form for hardware. For appearances, Drone Incorporated also chose to apply an Ascending By sort option to pull the line items in based on their quote line item Number.
- Drone Incorporated will apply a filter to only pull in quote line items that are hardware. Ironclad’s Salesforce connector can apply a filter to the records it pulls in; line items that have a text value that exactly matches the filter’s value will pass the filter. Drone Incorporated’s hardware components are assigned a Product Family called “Hardware”; this property can then be used as their filter. Our setup and result will look like the below.
- Drone Incorporated will check the Add items for linked [object] checkbox and map quote line item fields to dynamic table columns.
This mapping allows Drone Incorporated to pull all its bundled hardware into one table and produces the result below.
Subscriptions
This section will focus on Drone Incorporated’s use of CPQ subscriptions to sell software updates for its drone. For this example, Drone Incorporated needs to show the subscription cost of software updates over its two year contract. Subscription products in Salesforce CPQ can be pulled into Ironclad as single line items.
Drone Incorporated likes to list its Software Subscriptions in a separate table. It will replicate the hardware mapping in the previous section, but apply a Subscription value this time for the product family filter.
This mapping results in the below table. Salesforce CPQ automatically handles the pricing and proration of subscriptions (to the extent necessary), which allows Ironclad to display the final calculated amount.
Multidimensional Quoting (MDQ)
This section will focus on Drone Incorporated’s use of CPQ multidimensional quotes to sell maintenance services for its drone. For this example, Drone Incorporated needs to show the price of services each year over its two-year contract.
Salesforce CPQ represents each time period in the MDQ product as a separate quote line item.
In Workflow Designer, Drone Incorporated created a dynamic table that accommodates this format. It added a Term column to capture the Start Date and End Date of each service period. This approach allows Drone Incorporated to identify the cost for each year. You may choose to store the start date and end date in separate columns if you prefer that formatting.
Drone Incorporated follows the same mapping approach from the previous sections, but applies a Service filter value to separate MDQ products into their own dynamic table.
Drone Incorporated will map the start date and end date of the services to populate the term column.
This mapping results in the below table.