- Created by Phu Nguyen (Unlicensed) , last modified on Sept 06, 2023
You are viewing an old version of this page. View the current version.
Compare with Current View Version History
« Previous Version 8 Next »
Introduction
If you want to offer several products together, appero quote offers you three different options:
Name | Function | Usage |
---|---|---|
| When inserting the product, additional suitable products are displayed for selection in a separate tab. The selection of an additional product can be mandatory, but a fixed product combination can hardly be specified. | Serves mainly for better user guidance in the quoting process. Add-on products behave as independent products after insertion into the quote. |
Fixed product combinations can also be saved in a brick and thus be transferred to the quote with one click. Different promotion prices can also be defined in a brick. | Bricks do not offer choices like add-on products. The individual components are calculated independently of each other, there is no hierarchy within the combined products. | |
Bundle Products | Bundles are fixed product combinations consisting of a parent product and one or more child products, which are also mutually dependent in the quote and are offered at a total price. | Bundle products are suitable if I want to offer a fixed (promotional) package that the user should use as is in the quoting process. This kind of price dependencies between parent and child products can neither be mapped by Bricks nor by add-on products. |
This chapter is about the configuration and usage of the bundle products.
Configuration
Bundle products are created in the same way as AddOn products in the sf42_quotefx__sf42_ProductEntry__c " AddOn Product" object.
Select the type sf42_quotefx__sf42_Type__c
"Component" or "Accessory".
The product hierarchy is created using lookup fields on existing products. Thus, a bundle product consists of a parent product - sf42_quotefx__sf42_ProductID1__c
- and a child product - sf42_quotefx__sf42_ProductID2__c
.
For each child product, you create a record as follows:
Object: sf42_quotefx__sf42_ProductEntry__c | ||||
---|---|---|---|---|
Field Name | API-Name | Field Type | Used for Type | Explanation |
Addon Product |
| Text | AddOn Component Accessory | Internal name. Not used in the quoting process. |
Parentproduct |
| Lookup (Product2) | AddOn Component Accessory | Sets the parent product, the head of the bundle. |
Childproduct |
| Lookup (Product2) | AddOn Component Accessory | Sets the child product. The configuration defined below refers to the child product in a bundle product (type 'Component' and 'Accessory') |
Type |
| Picklist | AddOn Component Accessory |
|
Position |
| Number (18,0) | Component Accessory | Set the order of multiple child products. |
Display Options |
| Picklist | Component Accessory | Specifies where the child product should be visible:
(If the option "Only in PDF" is selected, the product can still be edited in the product detail dialog). |
Override Primary Product Group |
| Lookup (Product Group) | Component Accessory | Select another primary or secondary product group for the child product. These product groups can be used to define product properties, they are not used to create group sums or to arrange products in the quote. |
Override Secondary Product Group |
| |||
Discount |
| Percent (4,2) | Component Accessory | Set a discount for the child product. If Bulk prices apply to the product, the Bulk prices will override the discount set here. |
Discount Not Editable |
| Checkbox | Component Accessory | If this checkbox is active, all discount and unit price columns in the quote are locked for editing. Discounts via product properties such as Bulk prices can still be assigned. |
Ignore Bulk Price Rules |
| Checkbox | Component Accessory | If this checkbox is active, all bulk price rules for the child product will be ignored and custom discounts can be applied. |
Required |
| Checkbox (Default: true) | AddOn Component Accessory | If this checkbox is active, the employee cannot remove the child product from the bundle. |
Quantity |
| Number (16,2) | Component Accessory | Set a default quantity for the child product. |
Minimum Quantity |
| Number (16,2) | Accessory | Define a minimum or maximum quantity for the child product. The values are checked when you enter them in the editor. |
Maximum Quantity |
| Number (16,2) | Accessory |
Bundle calculation options
You set the basis of bundle calculation on the product record (product2
) of the parent product in the "Calculation in Bundles" sf42_quotefx__SF42_CalculationInBundles__c
field:
Either only the price of the parent product applies or the prices of the child products are added to the sum price. For details see below in the section "Opportunity products calculation".
Bundle products in quote
Bundle products are stored on the quote item in their individual components, recognizable by the object type sf42_quotefx__SF42_QuoLI_Typ__c
.
Object: sf42_quotefx__SF42_GenLineItem__c | ||
---|---|---|
Bundle component | Object Type | Reference to associated bundle components |
Parent product | 4 | - |
Child product | 999 | Reference to the "Bundle Parent”: |
Outline and numbering
As with AddOn products, the numbering of the subordinate products is based on the "Position number for child product items" setting (Setup Text addOnSubPos):
![](https://factory42.atlassian.net/wiki/download/attachments/3713040390/Screenshot%202022-11-10%20at%2014.44.31.png?version=1&modificationDate=1668087934213&cacheVersion=1&api=v2)
Please note that the order of bundle products cannot be changed manually in the quote editor. You will receive a corresponding message.
Bundle products in PDF
Please note that the order of bundle products cannot be changed manually in the quote editor. You will receive a corresponding message.
![](https://factory42.atlassian.net/wiki/download/attachments/3713040390/image-20220810-135601.png?version=1&modificationDate=1667982682570&cacheVersion=1&api=v2)
If you want to visually set off the child products in the PDF, please create your own CSS classes for type999
.
Also, you cannot currently influence the visibility of the columns of child products in the editor or via configuration. Please control this via the quote CSS using the following sample classes.
CSS pattern classes for the display of child products
To hide or visually modify cells at child products in the quote PDF, please control the individual columns via the CSS of the Style belonging to the quote template. You can simply add to the following sample classes as needed or customize them to your liking.
Hide Listprice column
.type999 .Listprice { visibility: hidden; }
Hide Quantity column
.type999 .Quantity { visibility: hidden; }
Hide Discount
.type999 .Discount { visibility: hidden; }
Hide Endprice
.type999 .Endprice { visibility: hidden; }
Hide Sumprice column
.type999 .Sumprice { visibility: hidden; }
Hide separator line between child products
.type999.prodline { display: none; }
Show a column again
Here at the example of the Sumprice column:
.type999 .Sumprice { visibility: visible !important; }
Formatting adjustment
General adjustments of the formatting, e.g. font, font color, font size, can be defined analogously for each column. Here at the example of the list price column:
.type999 .Listprice span { font-size: 14px !important; color: red !important; font-style: italic !important; font-weight: bold !important; }
All these adjustments are of course only visible in the PDF, in the quote editor the user sees the columns according to the respective configuration.
Bundle products in the Opportunity process
Calculation of the opportunity products and the opportunity amount
If you copy a quote with bundle products into the opportunity, the components will be stored as independent opportunity products.
The relation of a subordinate to its parent product is stored in the field "Bundle Parent" sf42_quotefx__SF42_BundleParent__c
by means of a lookup to the corresponding opportunity product.
The calculation of each product is based on the settings on the parent product record in the "Calculation in Bundles" field:
Product2 | sf42_quotefx__SF42_CalculationInBundles__c | |
---|---|---|
Picklist value | Explanation | Calculation of the opportunity product |
Use Parent Price | The prices of the child products are ignored for the price of the bundle. | In an Opportunity, only for the parent product the unit and sum price will be calculated, the child products will be shown with amount 0. |
Child-to-Parent Rollup | The total prices of the child products add up to the unit price of the parent product (or are added to its existing unit price). | Each opportunity product is calculated separately, the parent product is issued with amount 0 or the proportional price if the price book entry is > 0. |
In this way, the correct calculation of the opportunity amount is ensured at the same time.
The "Calculation in Bundles" setting on the parent product thus also influences how you can evaluate the individual prices of the bundle components in reporting.
Capabilities and limitations
The following is a list of basic possibilities and limitations when using bundle products.
Area | Explanation |
---|---|
Possible combinations | There can be no combination of add-on and bundle products. Similarly, nesting of bundle products, i.e. bundles as child products in a bundle, is not allowed. Combination of subordinate products of Component type and Bundle Accessories in a bundle is also not supported. |
Price dependencies | Price dependencies such as Price Calculation from Product Group or Product can only be considered within child products. Thus, the parent product cannot be used to calculate a child product, likewise products outside the bundle cannot refer to child products of a bundle for price dependencies and vice versa. |
Product properties | All components of a bundle, i.e. parent and child products, can have “Product Properties with/without Price Influence”. Bulk prices are also taken into account in the calculation. The calculation is then included in the total price depending on the bundle configuration. |
MediaVelox | Currently, products with product properties from MediaVelox cannot be used in bundle products. |
Summation in quote | Child products cannot be included individually in group totals. The bundle is only included in the totals with the total price and the product groups of the parent product. Similarly, subordinate products cannot be used to calculate a total discount from a discount matrix. |
Validation | If one of the child products does not have an active price book entry, the whole bundle will be disabled and cannot be added to the quote. The user will receive a corresponding notification message. |
Product search | The product is found under the name of the parent product. The child products of a bundle can still be added to the quote as normal individual products via the product search. |
VAT | Bundle products should currently only be created with a uniform VAT rate, as different VAT rates on parent and child products of a bundle are currently not supported. In this case, use the alternatives Bricks or AddOn products. |
Opportunity Process | Currently, the quote process with bundle products cannot be started from the opportunity product search yet. Please add the products in the quote editor first. |
Lower Price Limit | The so-called lowsell price, which is used, for example, to define lower price limits in the approval process, is only calculated normally for the parent product of a bundle, taking into account all total discounts. For the child products, the so-called BuyPriceDistributor is entered, the proportional value of the sum discounts is ignored here. |
Particularities in the calculation | The checkbox "List Price Is Editable" has no function for the parent product of a bundle if the calculation is set to "Child-to-parent Rollup". |
Apex Hooks | The external pricing, so called Apex Hooks, can currently not be applied to bundle products. |
Further Links
- No labels