Defining the Sales Method
Once a Configuration Process structure has been set-up, and once product rules have been added, the Configuration Process can be considered as complete. A complete Configuration Process means that you can run it, which in turn means that you can answer the questions. However, in most circumstances, answering the questions is not enough. Most people would like the Configuration Process to produce some tangible result, under the form of a quote.
The step “Sales & Pricing / Sales Method” as well as the subsequent steps allow you to define the exact content of that quote.
The following figure shows a simplified representation of a quote:
In order to construct a quote, a certain number of steps have to be undertaken:
- First of all, a generic representation needs to be made of the quote structure. In CPQ terms, this is called “creating sales breakdown lines”.
Definition: A sales breakdown line is a generic representation of a line of information on a quote.
- Each sales breakdown line is a generic representation of a quote line, which will be instantiated during the configuration. Instantiation means that the generic representation of the sales breakdown line will be replaced by a real quote line, with a real code and description.
- For each sales breakdown line, if necessary, one or multiple prices can be calculated
- For each sales breakdown line, if necessary, drawings can be generated.
A process that, for a given configuration, instantiates sales breakdown lines, calculates prices, etc. is called a Generative Process.
This step, Sales & Pricing / Sales Method, focuses on the definition of a sales method.
Definition: A Sales Method is a generic representation of a quote, that is composed of a set of sales breakdown lines and that indicates the information that is applicable (meaning: to be generated) to each sales breakdown line.
Adding a sales method
As explained above, this Sales & Pricing / Sales Method step focuses on the definition of a Sales Method. In order to define a sales method, make sure that at least one sales method has been defined in the workspace parameters.
Reference: In order to create new parameters please refer to Define Methods.
For each sales method parameter which has been added in the workspace, an additional Explorer will be created.
Creating the sales breakdown structure
Once the sales method parameter has been defined, its sales breakdown lines should be defined. To do that, proceed as follows:
How-To:
- [Using the explorer]
- Open the explorer corresponding to the sales method for which a sales breakdown structure needs to be created and select the Configuration Process by clicking on its description
- A table appears in the working section.
- Open the explorer corresponding to the sales method for which a sales breakdown structure needs to be created and select the Configuration Process by clicking on its description
- [Using the Explorer Toolbar – Group New]
- Create the root line (the highest level line) of the sales breakdown structure by clicking on the New Line function and entering a name for the line.
- Click on OK.
- A new entry now appears under the sales method entry in the explorer.
- [Using the Explore structure explorer]
- Select the line for which you want to create a sub-line by clicking on its icon.
- [Using the Explorer Toolbar – Group New]
- Create the sub-line by clicking on the New Line function and entering a name for the line.
- Click on OK.
- A new entry now appears under the line for which you have created the sub-line.
- Repeat step 4 as many times as necessary to represent the sales breakdown structure.
- Save
Generating the sales breakdown structure
The Root Line of the generated Sales Method corresponds to the current CP. Then, one line will be generated for each node Configuration Process and for each Form belonging to the root Configuration Process structure.
Deleting a sales breakdown line
To remove a specific line in your Sales method, you simply have to select the icon associated to the sales breakdown line you want to delete (in the explorer) and then click on the ‘Delete’ function of the menu toolbar.
Define the sales breakdown line characteristics
Once the structure is generated, you will be able to set the attributes for each line.
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Level | Yes | Hierarchical identifier of the line. This number is automatically generated following the structure you have created in the Explore Structure. ‘1’ identifies the Root Line, ‘1.1’ the first sub-line and so on. |
| Name | Yes | Name of the line given at creation. Once a line has been added, its name can no longer be modified. Note: Equal names can be used for different sublines; however, 2 sublines which have the same parent line cannot have an identical name. |
| Exists | Yes | Used to specify if the line always exists (by default) or only under certain circumstances (in that case a BRC can be added in the cell). |
| Visible | Yes | Used to specify if the line is always visible (by default) or only under certain circumstances (in that case a BRC can be added in the cell). |
| Quantity and Quantity Rule | No | Specifies the fixed quantity of the line. If the quantity of the line is constrained, it is possible to add a BRC into the Quantity Rule cell. |
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Context | No | The context allows you to link the sales breakdown line to a specific position in the Configuration Process structure. If the context is a nested form or Configuration Process, the sales breakdown line will be looped as many times as its context. Moreover, every instance of the sales breakdown line will be linked to the corresponding instance of the object it is linked to. If the context is a static form or Configuration Process but a repeat number is provided (c.f. below), the sales breakdown line will be looped as many times as specified by the repeat number. If the context is a static (non-looped) form or Configuration Process and no repeat number has been provided, the sales breakdown line will be unique. During the generative processes, the sales breakdown line context can be retrieved using the following CPE: CPE.currentSBL[current].context (for looped sales breakdown lines) or CPE.currentSBL.context (for static sales breakdown lines). By default, the context of a line is inherited from its parent. To add a context, click on the Cell and use the CPE Builder. By default, if no context has been provided by the user on the sales breakdown line or on one of its parents, CPQ considers that the context = CPE.rootCP. |
| Repeat Number | No | If the context points to a static object, or if no context has been given, the sales breakdown line can still be looped. The repeat number allows you to define the number of loops using a fixed integer number. The number of loops generated is given by the following CPE: CPE.currentSBL.instanceCount |
| Repeat Number BRC | No | If the context points to a static object, or if no context has been given, the sales breakdown line can still be looped. The repeat number BRC allows you to define the number of loops using a BRC. |
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Complete Match | No | If checked, this property indicates that a complete matching rule must be executed. A Complete Matching will replace the sales method line by the results of a matching rule; i.e. one or several standard items retrieved from the repository. E.g. Your Sales Method contains a line: ‘2.2 Table Kit Components’ associated to a Complete Matching. This complete matching will look for items of your reference repository to replace your line. Kit Components TableTop Base In order to define complete matching rules, please refer to Defining the Breakdown. |
| Partial Match | No | If checked, this property indicates that a partial matching must be executed to propose alternative solutions for the current element. A Partial Matching will associate the sales method line with the result of a matching routine. The Partial matching goal is to offer products as close as possible of the configuration but that do not completely match the requirements. The Line of the Sales Method is not replaced but it is associated to all the matched items. A partial matching can only be defined on the Root Line. In order to define partial matching rules, please refer to Defining the Breakdown. |
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Codify | No | If checked, this property indicates that a codification must be executed when generating the Sales Method line. A Codification is a customized description of an element, a breakdown line...etc. E.g. the generated designation of a reference number. Note: It is highly recommended to have a codification for all the lines, in particular for the lines having a Complete Matching (in case the match does not return any compatible products in the referential). In order to define codification rules, please refer to Defining the Breakdown. |
| Sales Information | No | If checked, this property indicates that additional sales information must be associated to the breakdown. Sales Information is additional information which is generated in the context of a sales breakdown line and attached to it. It is saved together with the configuration and can be viewed in the Configurator. This information can be technical, marketing, commercial, etc. and is typically used to complement or summarize the information retrieved by the user dialog in order to put it on the quote or for order processing. In order to define codification rules, please refer to Defining the Breakdown. |
| Additional Columns (Pricing, Custom, Drawing Methods) | No | It is possible to add Pricing and Drawing Methods to each line of the breakdown. For each added method, a new column is created in the table. Adding a Pricing method associates a price to each line linked to this method. (Several pricing methods can be defined per line of the breakdown) In order to define pricing rules, please refer to Defining the Pricing Method. Adding a Drawing method associates a drawing to each line linked to this drawing method. For each sales breakdown line, multiple drawing methods can be associated. In order to define drawing rules, please refer to Defining the Drawing Method. |
Understanding Sales Method CPEs
Each Line created in a Sales Method is associated to a CPE. To target a Sales Method Line, use the following CPE:
- Using a Relative Path:
- Using an Absolute Path:
Nested Lines:
CPE.currentSBL[current].workspace/… or
CPE.workspace/CP/myCP.gp.SBL/mySalesMethodRootLine .SBL/myNestedLine[current]…
Example 1:
Find the root Sales Method Line
CPE.workspace/CP/myCP.gp.SBL/mySalesMethodRootLine
Example 2:
Find the second instance of a sub-line of the root Sales Method Line
CPE.workspace/CP/myCP.gp.SBL/mySalesMethodRootLine.SBL/mySubLine[2]
Context usage
Once you have defined a context on the sales breakdown line, you can use the parent keyword to navigate upwards from your contextual form or Configuration Process:
It is also possible to target the context of the parent of the current sales breakdown line (this is practical if you need to make the context of a sub-line depend on the context of its parent line):
Example:
Based on the following Sales Script structure, we want to generate a Sales Breakdown having as many sub-line A as number of myNodeCP1, and as many sub-line cc as number of myNodeCP2 in myNodeCP1.
Sales Script structure:
The Context of the sub-line cc will then be based on the context of its parent line. The confContext keyword allows retrieving the context of the Sales Method Line.
Sales Method structure:
In this case, all methods (codification, matching, sales information, pricing) and children (sublines) of the Sales Breakdown Line pointing to the root Configuration Process context will be ignored at run-time. The partial matching method associated to the embedded root Configuration Process will be ignored as well.
In this case, all CPE used in the generative process of the embedded Configuration Process will need to reference the confContext attribute in order to be generic (meaning: they will have to work when being embedded, but also when being run independently).
Using a Configurable Bundle in sales breakdown
In the case you have included a Configurable Bundle inside your root Configuration Process, you can retrieve the Configurable Bundle result inside the Configuration Bundle sales breakdown.
This can be achieved by creating a dedicated Sales breakdown line, and by referring the Configurable bundle in the context field for this line.
The CPE used to target the Configurable can be expressed as followed:
CPE.workspace/CP/myCP.workspace/CB/myCBCPE.rootCP.workspace/CB/myCBWarning: The content of the Configurable Bundle sales breakdown lines is automatically managed and generated based on the Configurable Bundle implementation.
How to add methods to a Sales Method line
You can add as many Pricing methods as you want to your sales method:
How-To:
- [Via the ‘Explore structure’ explorer]
- Select the icon associated to the Sales Method you want to edit
- [Via the Table Toolbar]
- Click on ‘Add Method’ function.
- [In the popup]
- Specify the Method type you want to add: ‘Pricing Method’
- Tick the method to be added.
- Then press ‘OK’.
- The selected method appears as a column of the ‘Sales Method’ table
- Then you have to link the method to the Sales Method line on which you want to associate pricing method information.
- Save.
To remove a method from a sales method line, you simply have to click on ‘Remove’ function (from the Menu Toolbar – Group Method). Then you select the ‘Pricing Method’ type in the combo, tick the method to be removed and finally validate.
How to remove a Sales Method
In order to remove a sales method, proceed as follows:
How-To:
- [Via the Table]
- Find the column corresponding to the column to be removed
- Expand the related Method header menu
- Select ‘Remove’
- Then click on OK.
- Save
Defining the Breakdown
These steps allows you to define the content of the sales breakdown lines which have been created in the step “Sales & Pricing / Sales Method”. The content of the sales breakdown lines can be defined by one or multiple of the following options:
Codification:
- If the complete matching returns no items, or if no complete matching has been defined, the codification will be executed in order to format your sales breakdown line. This format will, amongst other things, focus on the definition of a name and a description.
Complete matching:
- Complete matching can be applied to every sales breakdown line and allows you to replace that line by one or multiple standard items.
Partial matching:
- Partial matching is only applicable to the top level line and allows you to express a product search which will issue alternative standard items which correspond to a certain extend to the configuration you have completed.
Sales Information:
- Sales information concerns the calculation of additional commercial or technical information for selected sales breakdown lines.
Manufacturing matching:
- Manufacturing matching is only applicable to the top level line and allows you to express a mapping BRC that issues a Manufacturing Process to be used to generate the Bill of Material and Routing information.information: At run-time, the CPQ engine will work as follows, for each line, from top to bottom:
- Execute the existence rule
- If the line exists, execute the complete matching rule If the complete matching rule issues a result, replace the generic sales breakdown line by that result and continue this treatment on the next line.
- If the complete matching rule does not issue a result, execute the codification rule. For each line which has been codified, execute this algorithm for its sub-lines.
Specify the Complete/Partial Matching
Complete and partial matching logic is used to map to or look up standard items in the Designer repository:
- The mapping function enables you to specify a BRC that clearly designates the standard item(s) to be issued in function of some criteria. This mapping function also enables you to associate specific quantities with each standard item.
- The lookup function enables you to search for standard items in the CPQ repository, based on the following options:
System properties
- This option allows you to specify search criteria such as the item name, description or parent.
Business properties
- This option allows you to specify the product characteristics to which matching standard items should respond
Pricing attributes
- This option allows you to specify price ranges to which the targeted standard items have to correspond
Product links
- This option allows you to specify the product relationships in which the standard items are occurring, either as a “child” or as a “parent”.
This lookup function can be compared to a product filter.
In order to define a complete matching for a sales breakdown line, proceed as follows:
How-To:
- [In the explorer]
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- If the explorer is inactive, you will have to create at least one sales breakdown line for it in the previous step.
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- [In the menu toolbar]
- Select the applicable view corresponding to the option you want to define: complete matching or partial matching
- If the complete matching or partial matching is inactive, you can activate it for the given line in the previous step.
- Select the applicable view corresponding to the option you want to define: complete matching or partial matching
- [In the explorer]
- Select the line for which you want to implement the complete or partial matching by clicking on its description
- A table appears in the working section. By default, 2 sections are present in the table:
- The mapping logic can be set up using the "mapping BRC" and the "quantity BRC"
- The lookup logic can be setup using the system properties
- Select the line for which you want to implement the complete or partial matching by clicking on its description
- [In the explorer]
- Select the Filter Objects explorer.
- Define additional search options you want to include such as Business Property Sets, Pricing Methods and/or Product Links. You can drag & drop these additional search options to the table in the working section in order to add the associated search criteria. In the case of a product link, you will have to specify a name and a relationship type.
- [In the table]
- For each business property set or pricing method, activate the necessary criteria by ticking the associated checkbox (each criterion can only be used once). Specify the value(s) to be used for each criterion:
- For static values, you can choose the operator and the value(s)
- For dynamic values, you can add a new (or existing) BRC to the column header and tick the checkbox on the intersection between the BRC and the search criterion
- Relation: choose Parent Of if the product filter is searching for products which are parent of the products found by the product link which is expressed, Child Of otherwise.
- Name: the name of the products which are either parent or child of the products which are to be retrieved by the product filter. The name can be filled as a constant or returned by a BRC. (Only '=' operator supported).
- Workspace: the workspace of the products which are either parent or child of the products which are to be retrieved by the product filter. The workspace can be filled as a constant or returned by a BRC. (Only '=' operator supported).
- Class: the type of products which are either parent or child of the products to be retrieved by the product filter. The class can be filled as a constant or returned by a BRC. (Only '=' operator supported).
- For each business property set or pricing method, activate the necessary criteria by ticking the associated checkbox (each criterion can only be used once). Specify the value(s) to be used for each criterion:
- [In the menu toolbar]
- Execute the Save function.
If you use a BRC to match items, for example based on a FP value, for nested Sales Method Lines (i.e. having a Context defined), you may have to use the following syntax for the CPE of your aliases:CPE.currentSBL[current].confContext.FO/myFO.FP/myFP.value
The confContext keyword allows to retrieve the context of the Sales Method Line (in the example, the context would identify a CP: CPE.CP/myCP)
In each case, the items found by the lookup function have to match all search criteria (an exact match is performed).
The partial matching issues a list of items which could be of interest to the user.
Specify the Codification
The codification allows you to specify the detail for a sales breakdown line which does not match an exact standard item. The goal is to generate all information that can be of interest to the customer:
- The mapping function enables you to specify a BRC that clearly designates the standard item which is to be used as a kind of “template” for the sales breakdown line. If the mapping function is used, the sales breakdown line will inherit its workspace, name and description from the standard item.
- The codification function enables you to generate attributes for the sales breakdown line based on the following options:
System properties
- This option allows you to generate criteria such as the item name, description or class (configured item in most circumstances)
Business properties
- This option allows you to generate product characteristics to be associated with the sales breakdown line
Rich Media content
- This option allows you to automatically associate existing rich media content with the sales breakdown line
In order to define a codification for a sales breakdown line, proceed as follows:
How-To:
- [In the explorer]
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- If the explorer is inactive, you will have to create at least one sales breakdown line for it in the previous step.
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- [In the menu toolbar]
- Select the codification view
- If the codification view is inactive, you can activate it for the given line in the previous step.
- Select the codification view
- [In the explorer]
- Select the line for which you want to implement the codification by clicking on its description
- A table appears in the working section. By default, 3 sections are present in the table:
- The mapping logic can be set up using the "mapping BRC"
- The codification logic can be setup using the system properties and the Rich Media object content
- Select the line for which you want to implement the codification by clicking on its description
- [In the explorer]
- Select the Filter Objects explorer.
- Search for additional Business Property Sets which you would like to include in the codification. You can drag & drop these additional search options to the table in the working section in order to add the associated search criteria.
- [In the table]
- Activate the necessary criteria by ticking the associated checkbox (each criterion can only be used once). Specify the value(s) to be used for each criterion:
- For static values, you can choose the operator and the value(s)
- For dynamic values, you can add a new (or existing) BRC to the column header and tick the checkbox on the intersection between the BRC and the search criterion
- Activate the necessary criteria by ticking the associated checkbox (each criterion can only be used once). Specify the value(s) to be used for each criterion:
- [In the menu toolbar]
- Execute the Save function.
Do not: Historically, for the root sales breakdown line, the class can be chosen amongst two values: configured item and standard item. Configured item issues a codified line in the resulting XML file; Standard Item is not supported anymore and should never be used.
Warning: Sales Products (SP) are not a supported type as a result of a Matching BRC on a codified SBL.
Mapping vs. codifying
In the codification rule, you can design either a mapping function or a codifying function.
CPQ Designer provides two modes to manage the potential interactions between these functions.
The activation of one mode or the other is ruled by the following parameter in the cameleon.properties file: configurator.codification.policy.
- Standard mode: If both a mapping and a codifying functions have been provided, the codifying function will be deactivated (meaning that the CPQ engine will only use the mapping function). If only one of the two functions is provided, this one is used for the codification.
- Merge mode: If both a mapping and a codifying functions have been provided, the mapping function will be used and its result will be overridden by the parameters of the codifying function, including the system properties, the Business Properties and the Rich Media Objects. If only one of the two functions is provided, this one is used for the codification.
In Merge mode, overriding values in the codifying function is done as follows:
- For system/business properties, the elements are overridden property by property.
- For instance, if the matched item contains
- BPSA.BP1=A1
- BPSA.BP2=A2
- And the codifying function only contains
- BPSA.BP2=B
- Then the resulting product will contain
- BPSA.BP1=A1, BPSA.BP2=B
To override a property with a null value, the “empty” operator has to be used. A property defined with the operator “=” and an empty value is considered as a modeling error.
- For Rich Media Objects, the merge is done for each type of RMO (image, text…), for each user type.
- For instance, if the matched item is associated with
- a RMO image: Usertype1/Image1, NoUserType/Image2, NoUserType/Image3
- a RMO file: NoUserType/MyFile.pdf
- And the codifying function only returns an image:
- NoUserType/Image5
- Then the result of the merge will be
- UserType1/Image1, NoUserType/Image5, NoUserType/MyFile.pdf
- For instance, if the matched item is associated with
To delete a RMO, it has to be codified as empty.
Reference: For more details on the merge mode and on the codification parameter in cameleon.properties, please refer to the CPQ Administration Guide.
Specify the Sales Information
The usage of Sales Information allows you to generate additional data associated to each Sales Breakdown Line. These additional data allow you to either recap some information coming from the sales dialog, or to deduct and generate other important information. This additional information can be useful for quotation generation or for sales order integration purposes.
Each Sales Information Grid consists thus of at least one column representing a Business Property, and at least one line representing the values for that column.
In order to define a sales information grid for a sales breakdown line, proceed as follows:
How-To:
- In the dashboard]
- Create a Business Property Set that will be used as a reference to create the Sales Information Grid. Each Business Property of the newly created Business Property Set will represent a column in the future Sales Information Grid.
- [In the dashboard]
- Open the Configuration Process to which you would like to associated Sales Information
- [In the menu toolbar]
- Select the step "Sales & Pricing / Sales Method".
- Choose the explorer corresponding to the sales method of interest.
- For each Sales Breakdown Line to which you want to associate additional information, tick the "Sales Information" checkbox.
- [In the menu toolbar]
- Select the "Sales & Pricing / Sales Informtion" step.
- Open the "Explore Sales Method" explorer for the sales method of interest.
- [In the "Explore Sales Method" explorer]
- Select the sales breakdown line to which you want to associate additional information by clicking on its description
- An empty table appears in the working section
- Select the sales breakdown line to which you want to associate additional information by clicking on its description
- [In the "Filter Objects" explorer]
- Search for the Business Property Set of interest, and drag & drop it onto the table.
- A column is created for every business property belonging to the set.
- Search for the Business Property Set of interest, and drag & drop it onto the table.
- [In the table]
- Create as many lines as necessary by using the "add line" function in the menu toolbar.
- For each created line, provide a value for each column (none of the cells are required).
- [In the table]
- Provide values for each line by using one of the following options:
Click in the column cell for a given line and enter the value "manually".
or
- Provide a "values BRC". A "values BRC" will deactivate all manual cell updates for the given line and allows returning all column values for a one or multiple lines.
- [In the menu toolbar]
- Execute the Save function.
CPE.currentSBL.salesInformation[current]. myWks/BPS/myBps.BP/myBp.value
or CPE.currentSBL[current].salesInformation[current]. myWks/BPS/myBps.BP/myBp.value
Specify the Manufacturing Matching
Manufacturing matching logic is used to map the Configuration Process to a Manufacturing Process in the Designer repository:
- The mapping function enables you to specify a BRC that clearly designates the Manufacturing Process to be issued in function of some criteria. This mapping function also enables you to associate a quantity to the issued Manufacturing Process.
- The lookup function enables you to specify a Manufacturing Process in the CPQ repository, based on the system properties, which allow you to specify search criteria such as the item name, description or parent.
In order to define a manufacturing matching for the root sales breakdown line, proceed as follows:
How-To:
- [In the explorer]
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- If the explorer is inactive, you will have to create at least one sales breakdown line for it in the previous step.
- Select the explorer corresponding to the sales method for which you want to define the breakdown
- [In the menu toolbar]
- Select the manufacturing matching view
- If the manufacturing matching view is inactive, you can activate it for the root sales breakdown line in the previous step.
- Select the manufacturing matching view
- [In the explorer]
- Select the line for which you want to implement the manufacturing matching by clicking on its description
- A table appears in the working section. By default, 2 sections are present in the table:
- The mapping logic can be set up using the "mapping BRC" and the "quantity BRC"
- The lookup logic can be setup using the system properties
- Select the line for which you want to implement the manufacturing matching by clicking on its description
- [In the table]
- In order to set up a mapping BRC, you can add a mapping (or quantity) BRC by clicking on the cell and providing the name, description and type of BRC.
- [In the menu toolbar]
- Execute the Save function.
In each case, the items found by the lookup function have to match all search criteria (an exact match is performed).
