Versions Compared
Version | Old Version 11 | New Version Current |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Table of Contents |
---|
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. |
Note |
---|
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.
| ||
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.
| ||
Override Secondary Product Group |
| |||||
Discount |
| Percent (4,2) | Component Accessory | Set a discount for the child product.
| ||
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):
Note |
---|
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.
Note |
---|
If you want to visually set off the child products in the PDF, please create your own CSS classes for |
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
Code Block |
---|
.type999 .Listprice { visibility: hidden; } |
Hide Quantity column
Code Block |
---|
.type999 .Quantity { visibility: hidden; } |
Hide Discount
Code Block |
---|
.type999 .Discount { visibility: hidden; } |
Hide Endprice
Code Block |
---|
.type999 .Endprice { visibility: hidden; } |
Hide Sumprice column
Code Block |
---|
.type999 .Sumprice { visibility: hidden; } |
Hide separator line between child products
Code Block |
---|
.type999.prodline { display: none; } |
Show a column again
Here at the example of the Sumprice column:
Code Block |
---|
.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:
Code Block |
---|
.type999 .Listprice span { font-size: 14px !important; color: red !important; font-style: italic !important; font-weight: bold !important; } |
Note |
---|
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 in the quote editor | Calculation of the opportunity product | ||
Use Parent Price | The prices of the child products are ignored for the price of the bundle. | Only the price of the parent product counts. | 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).
| The list price of the parent product is calculated differently for the two Bundle types: a) Component: b) Bundle accessories: Parent list price (usually price book entry) + Child SumPrice | 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.
Info |
---|
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. Custom product properties are not supported in bundles. |
MediaVelox | MediaVelox product properties are not displayed on bundle parents. |
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 lowest unit price, the so-called Lowsell Price, is calculated for the Bundle Parent based on its list priceList Price, taking into account all discounts on position and sum level, which results in the so-called Special Discount (sf42_quotefx__SF42_QuoLI_SpecialDiscount__c). Only the Lowsell Price lowsell price of the Bundle Parent is used to calculate price floors or VAT. To calculate the Lowsell Price and Special Discount for the Child Products, their so-called BuyPriceDistributor is multiplied by the Special Discount of the Bundle Parent. This results in the lowest unit price, taking into account the sum discounts and discounts on Parent level on a pro rata basis. If lower price limits are to be defined for an approval process, the calculation therefore always refers to the list price of the parent product. If, for example, the price book entry of the parent product is €0 and the bundle price of €1000 is made up of the sum of the child products, then the lower price limit is calculated based on this initial bundle price of €1000. |
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. |