Finally a section that Admins can be proud of and appreciate the ease of configuration. App configuration can be challenging and time consuming if not done the right way.  We use Custom Settings to manage most common settings and security. If you are keeping track, this is reason #2 why Product Bundle is plug-and-play solution.

Go to Setup >> Custom Settings >> Click Manage next to Bundle. 

To set org wide default configuration click “Edit”.

To set profile or user specific configuration click “New”

Following is the list of configuration that can be modified –

Auto Expand Bundles: Select this flag to auto expand the bundle while adding them to Opportunity or Quote. This is good option if you don’t want Sales Reps to click “+” sign to expand individual bundles

Bundle Cost API name: Map custom bundle cost field when generating “Bundled Product”. Please check Generate Product section for more details on generating Products from Bundles

Bundle Sale Price API name: Map custom bundle sale price field when generating “Bundled Product”. Please check Generate Product section for more details on generating Products from Bundles

Can edit Bundle Description? Uncheck this flag to prevent Sales Rep from editing bundle description when adding bundles

Can edit Bundle Item Quantity? Uncheck this flag to prevent Sales Rep from modifying bundle item quantity when adding bundles

Can edit Bundle Price, Margin, Discount?  Uncheck this flag to prevent Sales Rep from modifying  bundle item pricing fields when adding bundles

Can edit Product Price, Margin, Discount? Uncheck this flag to prevent Sales Rep from modifying  product pricing fields when adding products

Create new line item for each tier: While adding tiered products, should system create new line items for each tier or just one single line item with total quantity? For more information go to Volume Pricing >> Tiered Pricing section

Decimal Places: Control number of digits following the decimal point for numeric and currency fields

Default To Bundle Filter: Select the flag to auto select Bundle in the toggle bar     

Discount changes Sale Price: While adding bundles and products should the sale price update according to the discount? If checked: discount is applied to sale price, standard Discount field is not populated and subtotal field is hidden from the page layout. If not checked: discount is applied to subtotal field instead and Discount field is populated (this is how standard Add Products functionality works)

Establish Scheduling: Check the box to show “Schedule” button when configuring Opportunity. Note: Standard Salesforce scheduling must be enabled and configured beforehand. Please see Product Schedule for more information

Number of items to display: Default number of products or bundles to display within a group. Please do not keep very high number, as the screen may become less responsive. For best performance keep it less than 25

Product Filter: Enter formula to hide certain products from the search. For example if you have field “End of Life” on Product object with API name “End_Of_Life__c ” then you can use below formula to discard all end of life products

End_Of_Life__c = true

Product Grouping: Group products into logical buckets when user performs a search. You can provide API name of any product field. For example, enter “Family” if you want to group the results by “Product Family” field

Product Search Fields: By default the keyword search searches for Product Name, Code and Description. You can extend the search to include any custom fields on Product object. Enter comma separated API name of the Product fields. For example:

Custom_Field1__c, Custom_Field2__c

Select all items once Bundle is expanded: While expanding bundles, should the bundle items be selected by default?

PREVENTING USERS FROM DELETING/EDITING INDIVIDUAL BUNDLE ITEMS (OPTIONAL)


After bundle is added to an opportunity or quote, individual items can be edited or deleted by users. To preserve bundle integrity, you can prevent users from editing or deleting individual bundle items. Please follow below steps for Opportunity Products –

  1. Prevent Edits
    1. Go to Setup >> Object Manager >> Opportunity Products >> Buttons and Links
    2. Click Edit next to Edit standard button
    3. Select Visualforce Page >> ProductBundle_EditOpportunityItems as override
    4. Click Save
  2. Prevent Deletes
    1. Go to Setup >> Object Manager >> Opportunity Products >> Buttons and Links
    2. Click Edit next to Delete standard button
    3. Select Visualforce Page >> ProductBundle_DeleteOpportunityItems as override
    4. Click Save

Follow same steps on Quote Line Items object if you want to prevent users from editing or deleting individual bundle items on Quote

ENHANCED LOOKUP (OPTIONAL)


Enable enhanced lookups so users can use wildcards in their lookups. This will help users sort, filter, and page through their results.

  1. Click Setup | Customize | Search | Search Settings
  2. In the Lookup Settings area, select Bundles, Bundle Line Items objects to enable enhanced lookup functionality
  3. Click Save

After enabling enhanced lookups, specify which fields users can use to filter lookup search dialog results. If you don’t specify any fields,  users can’t use filters in enhanced lookup dialog.