Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 178 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

🇺🇸 English

Loading...

Loading...

Loading...

Loading...

Loading...

SmallBuilder Line Items

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

SmallBuilder Lists

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

SmallBuilder Help

This site contains information to help Salesforce admins to get started with SmallBuilder products.

SmallBuilder products are Salesforce add-on packages provided by Windmillsoft. They provide no- and low-code tools that allow you to easily add custom functionality to your Salesforce implementation.

Getting started with SmallBuilder

Installation

SmallBuilder is available for installation directly from the AppExchange.

When you install SmallBuilder, you will get access to the free trial by default. You can implement Line-item Configurators, Document Templates, and Lists with the free trial. However, if you want to set up more than one configuration, you need to purchase a license.

License and Permission Set Assignment

SmallBuilder offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.

Organization Currency Setup

After an organization is initially created, the currency may be set to null. If the currency is not properly configured, SmallBuilder may not function correctly. Make sure to verify that your organization’s currency is properly set before using the product.

Connected App Configuration

To perform metadata-related tasks, such as adding buttons to page layouts or creating tabs in the builder screen for SmallBuilder, you need to configure the connected app.

License and Permission Set Assignment

SmallBuilder offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.

In a Sandbox environment, there are no license restrictions, so users can use the product without needing a license assignment.

License Assignment

Organization Currency Setup

After an organization is initially created, the currency may be set to null. If the currency is not correctly configured, SmallBuilder may not function properly. Please ensure the organization’s currency is properly set before using the product.

If multiple currencies are enabled, you can skip this process.

  1. In Setup, enter Company in the Quick Find box, then select Company Information.

A SmallBuilder license must be assigned to each user individually. Follow these steps to assign a license:

  1. In Setup, enter Installed Packages in the Quick Find box, then select Installed Packages.

  2. Find SmallBuilder {Product Name} and click on Manage Licenses.

  3. Click Add Users to select the users to whom you want to assign the license.

  4. Click Add.

If you are using the SmallBuilder Line Items product, find SmallBuilder Line Items and navigate to Manage Licenses.

Permission Set Assignment

SmallBuilder offers two distinct permission sets. Please assign the appropriate permission set based on the user's role. Assigning a permission set is essential to fully utilize the product's features.

  • SmallBuilder {Product Name} Manager

    The SmallBuilder Manager permission set is assigned to users responsible for the overall management of the product. Typically, it is assigned to administrators, who can perform a variety of tasks such as configuring builder settings, adding buttons to line items, and creating tabs from list products.

  • SmallBuilder {Product Name} User

    The SmallBuilder User permission set is primarily assigned to sales representatives or project managers. Users with this permission set can view lists and documents implemented with SmallBuilder, as well as add and edit data in line items and schedules.

Click Edit.

  • Under Currency Settings, ensure that a valid currency is selected.

  • If the currency is set to null, select the appropriate currency.

  • SmallBuilder Documents

    SmallBuilder Lists

    SmallBuilder Schedules

    License and Permission Set Assignment
    Organization Currency Setup
    Connected App Configuration
    SmallBuilder Line Items

    SmallBuilder Line Items

    Customize standard line items for Opportunities, Quotes, and Orders, and easily implement line items on custom objects using a Low/No-Code approach.

    SmallBuilder Documents

    Create reusable document templates effortlessly, support custom objects, and implement them using a Low/No-Code approach.

    SmallBuilder Lists

    Create custom lists using a Low/No-Code approach, featuring filters, bulk actions, and data retrieval from other systems.

    SmallBuilder Schedules

    Automatically split quantities and amounts, and easily implement schedule management in your desired format.

    Cover
    Cover
    Cover
    Cover

    Release Notes

    '25 Update

    • - Implemented line item configurator migration feature, improved UI/UX for text area fields, and fixed filter-related and other errors

    • - Fixed mobile UI/UX issues and certain save errors

    Organization Currency Setup

    After an organization is initially created, the currency might be set to null. If the currency is not properly configured, SmallBuilder Line Items may not function as expected. Ensure the organization’s currency is properly set before using the product.

    If multiple currencies are enabled, you can skip this process.

    1. In Setup, enter Company in the Quick Find box, then select Company Information.

    v 1.37 - This release includes renaming of DataSource to Business Rule, UI/UX improvements for filter and rule configuration, and the introduction of virtual columns in the Line Item Editor.

    v 2.0.1
    v 1.38

    Use Cases

    Product Option

    The Product Option feature allows you to add sub-options to a line item, making it possible to register and manage components of a specific product (e.g., additional services, accessory products). This is particularly useful when handling product configurations.

    The Product Option feature is available only for certain standard objects:

    • Opportunity

    • Quote

    • Order

    For more details, refer to the builder’s documentation on Line Item Object Settings:

    View Line Item Object Settings Documentation >

    Configuring Product Options

    To use the Product Option feature, first activate it in the builder and configure the required settings and data. Follow the setup procedures outlined in the reference documentation:

    View Product Option Setup Procedures >

    Display and Storage of Line Item Option Values

    Learn how product options are displayed and stored in line items:

    View Display and Storage Methods >

    Click Edit.

  • Under Currency Settings, ensure that a valid currency is selected.

  • If the currency is set to null, select the appropriate currency.

  • Getting Started

    To smoothly configure the builder and use the editor in SmallBuilder Line Items, a few initial setup steps are required.

    Package Installation

    Install SmallBuilder Line Items in your organization from the AppExchange.

    Assigning Licenses and Permissions

    SmallBuilder Line Items offers 10 free licenses. Before using the product, assign the relevant licenses and permission sets to users for access.

    Organization Currency Setup

    After an organization is initially created, the currency might be set to null. If the currency is not properly configured, SmallBuilder Line Items may not function as expected. Ensure the organization’s currency is properly set before using the product.

    Connected App Setup

    To perform metadata-related tasks such as adding buttons to page layouts or retrieving custom labels in the builder, additional configurations for the connected app in SmallBuilder Line Items are required.

    Responsive Screen Configuration for Devices

    The Line Item Editor provides a responsive layout tailored to device types (desktop and mobile). It adjusts the size and structure of the editor to deliver an optimal user experience based on the display environment. While desktops display more comprehensive information, mobile devices offer a simplified view.

    If you prefer a simplified, consistent layout across all devices, set the device mode to Mobile. This ensures a streamlined and uniform interface regardless of the device being used.

    Responsive

    Automatically optimizes the screen based on the device environment.

    Desktop

    Displays the editor in desktop mode regardless of the device type.

    Mobile

    Displays the editor in mobile mode regardless of the device type.

    Some features are not supported in mobile mode:

    • Data filtering in the Lookup Selector.

    • Product options.

    • Bulk deletion in the Line Item Editor

    Desktop View

    Mobile View

    Modifying Editor Labels

    You can customize the titles for the Lookup Selector and the Line Item Editor to fit your needs when launching the editor.

    For instance, if you use multiple editors for the same object but want to display different titles based on the editor’s purpose, you can modify the labels. Additionally, the button label that navigates from the Line Item Editor to the Lookup Selector can also be changed.

    These label changes can be easily configured by clicking the labels menu in the side panel.

    Changing Titles

    You can modify the title labels for both the Lookup Selector and the Line Item Editor. By clicking the icon( ) next to the input field, you can insert that will display translated titles based on the user’s language settings.

    Changing Button Labels

    The button label that navigates from the Line Item Editor to the Lookup Selector can also be customized. Similar to titles, you can click the icon button( ) to insert custom labels, enabling translated labels based on the user’s language settings.

    Applying Custom Labels

    For examples of how to apply custom labels, refer to the into Labels menu. This menu provides detailed instructions and examples of how to use custom labels effectively.

    Search All on Load

    This setting automatically retrieves data when the Lookup Selector screen is loaded. By default, this option is enabled.

    Example: When Search All on Load is Disabled

    If this setting is disabled, data will not be automatically retrieved upon loading. Instead, records can only be retrieved through keyword searches.

    Default (Enabled)

    Disabled

    Set Keyword Search

    Configure the target fields to be searched when entering a keyword. By default, the Name field is set as the target field, and the matching condition is Contains.

    Example

    The keyword search field is set to the Name field of the PricebookEntry object. The search condition is Contains, meaning that records where the product name includes the entered keyword will be retrieved.

    In the editor’s lookup selector screen, if you type ‘Gen,’ only records with ‘Gen’ included in their product name will be displayed.

    Parent Object

    The parent object serves as the master object for the line item object, maintaining either a Master-Detail or Lookup relationship. The Line Item Editor is executed from the record page of the parent object. When searching for a parent object in the builder, only objects with child objects can be selected.

    The Line Item Editor is launched from the record page of the parent object.

    The Line Item Editor button can be generated in the builder and added to the desired page layout.

    The Line Item Editor for Opportunity Products is implemented and executed from the Opportunity record page.

    Change Text Alignment

    Configure the alignment of column values. There are three alignment options: left, right, and center. The default alignment is set to left.

    Add Columns

    Configure the fields (columns) to be displayed in the lookup selector. You can also add virtual columns to display data retrieved from DataSources.

    Steps to Configure

    In the Lookup Selector Setup step, click the Add Column button to select the fields to be displayed in the lookup selector.

    Example: Adding Columns

    Setup Line Item Editor

    Configure the properties of the fields used in the Line Item Editor. For each selected record from the Lookup Selector, define attributes such as price, discount rate, quantity, and more.

    1

    Select fields from the Line Item object to be used during editing, and configure their default values and attributes.

    2

    Use DataSource to display additional data beyond the Lookup object records. You can also utilize Apex Classes to handle complex logic or fetch data through external interfaces, enabling advanced data display in the Line Item Editor.

    Change Column Labels

    You can change the column labels displayed in the Lookup Selector’s data table. By default, the selected field’s label is shown. However, you can override it by entering a custom value in the label input field. Additionally, by clicking the icon( ) next to the input field, you can insert custom labels, which will display translated labels based on the user’s language settings.

    If no custom label is set, the default field label is displayed and automatically translated according to the user’s language settings.

    Add Virtual Columns for DataSource

    Create virtual columns to store temporary values for displaying data retrieved from a DataSource. Virtual columns can be added by clicking the Add Virtual Column button and support value types such as text, number, and currency.

    Virtual columns are designed for use with DataSources. For more details, refer to the DataSource documentation.

    Example of DataSource Usage >

    '25 Update

    Version
    Summary

    Implemented line item configurator migration feature, improved UI/UX for text area fields, and fixed filter-related and other errors.

    Fixed mobile UI/UX issues and certain save errors

    This release includes renaming of DataSource to Business Rule, UI/UX improvements for filter and rule configuration, and the introduction of virtual columns in the Line Item Editor.

    Change Column Labels

    You can customize the column labels displayed in the Line Item Editor. By default, the label of the selected field is shown. However, if you enter a value in the label input field, the entered value will be displayed. Additionally, clicking the icon( ) next to the input field allows you to insert custom labels. This ensures that the label is translated according to the user’s language settings.

    If no custom label is set, the default field label will be displayed and translated based on the user’s language preference.

    Expand Filters by Default

    This setting ensures that the filter search layout is displayed in an expanded state by default. If you frequently use filters, enabling this feature can enhance usability.

    Example: When Expand Filters by Default is Enabled

    When the Lookup Selector loads, the filter search layout will be displayed in an expanded view by default.

    Default (Disabled)

    Enabled

    Hidden Setting for Line Item Editor Columns

    The Hidden Setting for columns in the Line Item Editor is primarily used for the following scenarios:

    Handling Field Values for Calculations

    When specific field values are required for advanced calculations, these fields must be included in the Line Item columns. However, users may not need to see all of these fields on the screen. By using the hidden setting, these fields can be excluded from display while still being available for calculations.

    Preventing Formula Field Errors

    Formula fields in the Line Item object are recalculated during save operations. If a formula depends on a field with a null value, it may result in an error. To prevent this, the hidden setting ensures that required fields are added to the columns and assigned appropriate values without being visible to users.

    Set Field Input as Required

    Designate a Line Item field input as required to ensure users provide the necessary information.

    Example: Setting a Field as Required

    Fields designated as required are marked with a red line on the left side of the input box.

    If a required field value is not entered before saving, an error message will be displayed as shown below.

    Block Lookup Selector

    If you want to skip the lookup selector and directly transition to the Line Item Editor, activate the Block Lookup Selector feature. Additionally, you can block the lookup selector based on specific conditions.

    To set blocking conditions, use a specific field from the parent object as the control field. This field must be of the Boolean type, and if the value is true, the lookup selector will be blocked.

    Example: Blocking Product Addtion for Renewed Opportunities

    In the Line Item Editor, product addition (line item addition) is blocked for renewed opportunities. In this example, the IsRenewed__c field in the Opportunity object is used to define the blocking condition.

    When the IsRenewed__c field is set to true, the button to transition to the lookup selector screen will not be displayed in the editor.

    Activate

    Once the builder configuration is complete and you have verified its functionality through the preview, activate the builder to make the editor ready for use. The editor cannot be used unless the builder is activated.

    Activation is required to add the editor button.

    Set Column Width

    You can fix the column width in the Lookup Selector’s data table. The unit for width is specified in pixels (px).

    v 2.7

    📦 Package Upgrade

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000VPlJIAW

    🗓️ Release Date

    2025. 06. 09.

    📒 Summary

    🔸 Inline Editor

    A new inline editor feature has been added, allowing you to edit records directly from the list view. You can now click on individual record values displayed in the list to edit and save them immediately—eliminating the need to navigate to the detail page. This enhancement significantly improves the efficiency of repetitive data editing tasks and streamlines list-based workflows.

    Inline Editor

    Learn more about the inline editor >

    Resetting a Builder

    If you want to cancel unsaved changes and restore the builder settings to their original state, use the Reset feature.

    The reset feature only restores unsaved changes. It cannot undo changes that have already been saved. For safe configuration changes, it is recommended to clone the builder before making modifications.

    Activate Product Options

    To use the Product Option feature, it must be activated in the builder. This setting can be enabled in the Lookup Object section during the object connection stage.

    Standard Objects Only

    As noted earlier, the Product Option feature is available exclusively for standard objects such as Opportunity, Quote, and Order.

    This limitation exists because Product Options rely on PricebookEntry to retrieve product and pricing information. Since Salesforce only establishes a direct relationship between PricebookEntry and these objects (Opportunity, Quote, and Order), the feature is restricted to them.

    Records Per Page

    This setting specifies the number of records displayed per page (or scroll). The default is 50 records per page.

    If you need to select a large number of records at once, consider increasing the “Records Per Page” value.

    Set Default Value

    You can assign default values when adding Line Items. Default values can only be set for text or numeric fields.

    Default values are only assigned when a Line Item is added for the first time.

    Example: setting the Quantity Default Value to 1

    In the builder, set the default value for the quantity field (column) to 1.

    When adding a Line Item, the quantity will automatically be assigned a value of 1.

    Change Text Alignment

    You can configure the alignment of column values. There are three alignment options: Left, Right, and Center. The default alignment is Left.

    Example of Text Alignment

    Reorder Columns

    You can change the order of the added columns using Drag & Drop functionality.

    Steps to Reorder Columns

    1. Click and hold the icon() on the far left of the desired column.

    2. While holding down the mouse button, drag the column to the desired position and release.

    Example: Reordering Columns

    Release Note

    '25 Update

    • v 2.12 - Child List Action.

    • v 2.11.8 - Various bug fixes.

    • - Child List Linking, Pinned Colums, Increase Excel Data Limit, Add Line Item Actions, and more.

    • - Inline Editor

    • - List Configurator migration

    Allow Select Duplicate Item

    This setting allows the same record to be selected multiple times.

    Example: Difference Between Standard and Duplicate Selection

    Standard Selection

    When a record is selected, it is either selected or deselected as usual.

    Duplicate Selection

    With duplicate selection enabled, selecting the same record multiple times will add it to the line items as many times as it is selected.

    v 2.12

    📦 Package Upgrade

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000WGEXIA4

    🗓️ Release Date

    2025. 07. 28.

    📒 Summary

    🔧 Improvements

    🔸 하위 리스트 작업 추가

    You can now add actions (buttons) to child lists as well. Previously, actions such as creating records, deleting them, or launching flows could only be configured for the main or parent list. With this enhancement, the same actions can also be applied to child lists. This allows users to perform key operations on related records directly, significantly improving the usability and efficiency of list-based screens.

    Display Totals

    Configure fields to display totals at the bottom of the Line Item Editor.

    Before setting up totals, ensure the “Show Summary” option is enabled in the Default Settings.

    Example: Displaying the Total Summary of TotalPrice

    In the builder, check the Summary option for the TotalPrice field.

    The total sum of TotalPrice is displayed at the bottom of the editor.

    v 1.37

    📦 Package Upgrade

    🗓️ Release Date

    2025. 4. 2.

    📒 Summary

    v 2.11.8

    📦 Package Upgrade

    🗓️ Release Date

    2025. 7. 17.

    🐛 Bug Fixes

    Show Summary

    Displays summary information at the bottom of the Line Item Editor.

    Example: Displaying the Sum of Total Price Field Values in Line Items

    In this case, the total values from the TotalPrice field (column) of all added line items will be summed up and displayed at the bottom of the editor.

    Connected App Setup

    To perform metadata-related tasks such as adding buttons to page layouts or retrieving custom labels in the builder, additional configurations for the connected app in SmallBuilder Line Items are required.

    Step 1: Configure Permitted Users

    1. In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.

    Setup Lookup Selector

    To register a line item, you first need to search for a lookup object, such as a product, select the desired record from the search results, and configure details like quantity to complete the registration. The lookup selector setup allows you to configure the layout of search results for lookup object queries.

    Builder Setup Steps

    To implement the Line Item Editor, follow these steps:

    1

    The first step in the builder is to define the relationship between objects that will be used in the Line Item Editor. This relationship must follow a junction structure, and you need to configure the Parent, Line Item, and Lookup objects.

    2

    To register line items, first search for a lookup object (e.g., product), select the desired record from the search results, and set quantities or other attributes to create line items. The search configuration allows you to define the layout of search results for lookup objects.

    Default Setting

    The Default Setting configures essential options for the Builder, including its name, description, and key features such as whether to display data directly in the Lookup Selector or show summaries in the Line Item Editor.

    These settings can be configured from the side panel of the Builder.

    Settings Available in the Side Panel

    v 1.38

    📦 Package Upgrade

    🗓️ Release Date

    2025. 4. 8.

    🐛 Bug Fixes

    Set Filters and Sorting for Lookup Records

    x`Configure filters to load specific records of the lookup object that meet defined conditions, and set sorting options to arrange the records in the desired order when the Lookup Selector screen loads.

    Set Filters

    Filters ensure that only records meeting the specified conditions are displayed when the Lookup Selector is loaded. The filter configuration follows the syntax of a SOQL WHERE clause.

    For example, to display only active PricebookEntry records, you can write:

    Additionally, you can use the Query Wizard to automatically generate filters without manually writing them.

    Select Lookup Reference Field

    Start by selecting the parent object, then move to the child object (line item), and finally configure the lookup object that the line item refers to. When defining the lookup object, you must select the field in the line item that references the lookup object.

    How to Set Up the Lookup Object

    Let’s assume you are setting up the builder for OpportunityLineItem based on the Opportunity object. As shown in the object structure diagram below, OpportunityLineItem has two key relationships:

    • Opportunity

    Lookup Selector Settings

    These settings pertain to the Lookup Selector, allowing you to configure record selection methods and search functionality.

    • Automatically retrieves data when the Lookup Selector screen is loaded. This option is enabled by default.

    • Displays filter options in an expanded state by default. Enable this feature if you frequently use filters.

    Freeze First Column

    Fixes the first column when scrolling horizontally in the Line Item Editor. If there are many columns to display, try freezing the first column for better navigation.

    Default

    Lookup Object

    The Lookup Object is referenced by the Line Item Object, allowing users to select lookup records that serve as the basis for creating line item records.

    '25 Update

    Version
    Summary

    Create Button and Add to Page Layout

    You can leverage the Add Button feature at the top of the builder to add the implemented Line-Item Configurator to the Parent object's page layout.

    This button will appear on the Parent object's page in Salesforce so that users can launch the Line-Item Configurator that you have set up.

    Create Button and Assign to Page Layout

    Set Filters and Sorting for Saved Line Items

    Configure filters and sorting to display specific saved line items that meet certain conditions when the Line Item Editor is executed. These settings help you display only the desired data and control the order in which it is retrieved.

    Set Filters

    When the editor is executed, you can filter the saved line item data to display only the records that match specific conditions. Filters follow the same logic as the WHERE clause in SOQL.

    For instance, if you want to use the editor to manage Opportunity Products divided into regular and subscription-based products, you can apply filters to each editor. For an editor handling subscription-based Opportunity Products, you can filter records where the custom field Type__c equals ‘Subscription’ by writing the filter as follows:

    Source Field: Assigning Default Values from Parent or Lookup Fields

    When adding Line Items, you can assign specific field values from the Parent Object or Lookup Object as default values.

    Source field values are only assigned when a Line Item is added for the first time.

    Assigning Licenses and Permissions

    SmallBuilder Line Items offers 10 free licenses. Before using the product, ensure that each user has the necessary SmallBuilder Line Items license and permission set assigned for proper access.

    In a Sandbox environment, there are no license restrictions, so users can access and use the product without needing a license assignment.

    License Assignment

    Product Option Setup Steps

    To set up and use the Product Option feature, follow these steps:

    1

    Enable the Product Option feature in the builder. This feature is available only for standard objects such as Opportunity, Quote, and Order.

    2

    Migration

    You can export the current org’s Line Item Builder configuration as a JSON file, or import a JSON file created in another org to perform a migration. This allows you to easily transfer Line Item Builder settings between different organizations.

    Tab creation settings within the line item configuration are not included in the migration.


    Relate Objects

    The first step in configuring the builder is to define the relationships between the objects that will be used in the Line Item Editor. These relationships must follow a Junction object structure, requiring the configuration of Parent, Line Item, and Lookup objects.

    Configuration Steps

    1

    Set Auto-Numbering

    Auto-numbering can be configured for line items upon saving. This feature is particularly useful when managing product options, as it helps to differentiate and organize each line item effectively.

    Auto-numbering applies only when saving through the Line Item Editor. It does not apply to Salesforce internal transactions (e.g., API, Data Loader, or manual deletions).

    Set Column Width

    You can fix the width of a column. The unit of measurement is pixels (px).

    Example of Column Width Adjustment

    As shown in the image below, the widths of the Sales Price and Quantity columns are uneven, making the table visually unbalanced. To improve the appearance, you can adjust the column widths to ensure uniformity.

    In the builder, set all columns to a width of 180px

    Cloning the Builder

    Purpose of Cloning

    The cloning feature serves two primary purposes:

    1. Safe Modifications and Testing

    Since version control is not supported, cloning the current settings allows you to make modifications and test safely. This ensures that you can experiment with changes without affecting the original setup.

    Utilizing the Editor’s Aura Component

    Adding the component yourself

    If you want to call the Line Item Editor from somewhere other than the button, you can insert <SBLD:LineItemConfigurator /> as shown below.

    Currently, only the Aura Component is available.

    Line Item Editor Settings

    Manage settings related to the Line Item Editor, such as displaying summaries at the bottom or fixing the first column.

    • Displays summary information at the bottom of the Line Item Editor.

    • Fixes the first column when scrolling horizontally in the Line Item Editor. If there are many columns to display, try freezing the first column for better navigation.

    DataSource

    You can set up DataSources when you want to show data from other related objects, or from external systems in addition to fields from the Lookup or Line Item objects.

    Adding a DataSource in the builder

    1. If you're setting up a DataSource for a Lookup object, go to the Setup Lookup Selector step. If you're setting up a DataSource for a Line Item object, go to the Setup Line-item Editor step.

    FAQ

    Q: Can I set a filter so that only specific values will be displayed to users when they are selecting from the Parent objects?

    In Advanced Condition, you can use {$Parent.fieldname} to filter for the desired Parent field values. 🔗 Reference:

    Q: Can I just use the Line-Item Editor without the Lookup Selector?

    If you check "Block adding items" on the Linked Objects Setup screen when specifying the Lookup object, users will only be able to use the Line-Item Editor, not the Lookup Selector. However, you must still specify a Lookup object. In the future, we plan to support the use of the Parent and Line-Item objects alone, without a Lookup object.

    Caching to Improve Performance

    Caching enhances performance by enabling faster data retrieval and providing a more stable environment. However, cached data may not reflect recent changes immediately.

    If issues arise where data does not reflect the latest updates, consider disabling the caching setting.

    Adjusting Editor Screen Ratio

    The screen ratio supports 100%, 90%, and 80%, with the default set to 100%.

    When Screen Ratio is 100%

    Displays the standard editor screen.

    Set Field Input to Read-Only

    By default, Line Item fields accept input except for formula fields. However, fields intended for data display purposes should be set to Read-Only.

    Example of Setting a Field to Read-Only

    The official SmallBuilder Line Items license must be assigned per user. Follow these steps to assign the license:
    1. In Setup, enter Installed Packages in the Quick Find box, and select Installed Packages.

    2. Locate SmallBuilder Line Items and click Manage Licenses.

    3. Click Add Users and select the desired users.

    4. Click Add to complete the license assignment.

    Permission Set Assignment

    SmallBuilder Line Items provides two permission sets. Be sure to assign the appropriate permission set based on the user’s role. Assigning a permission set is essential to ensure smooth use of the product’s features.

    SmallBuilder Line Items Manager

    The SmallBuilder Line Items Manager permission set is designed to enable administrators to manage SmallBuilder Line Items comprehensively. Administrators with this permission set can efficiently perform tasks such as configuring the builder and adding line item buttons.

    SmallBuilder Line Items User

    The SmallBuilder Line Items User permission set is intended for regular users who need to edit line items. It is typically assigned to roles such as sales representatives or project managers responsible for viewing and modifying line item data. This permission set allows users to easily access and update line item information.

    2.5

    List Configurator Migration

    2.7

    Inline Editor

    2.10

    Child List Linking, Pinned Colums, Increase Excel Data Limit, Add Line Item Actions, and more.

    2.11.8

    Various bug fixes.

    2.12

    Child List Action.

    v 2.10
    v 2.7
    v 2.5
    Learn more about action >
    2.0.1
    1.38
    1.37

    Builder

    • Fixed an issue where creating a list of Task records caused the error 'Object Task is not supported in UI API'.

    Configurator

    • Fixed an issue where clicking the refresh icon caused duplicate records to appear.

    • Fixed an issue where translated values of picklist fields were not displayed correctly when the inline editor was activated.

    • Fixed an issue where the inline editor was rendered underneath other columns when columns were pinned.

    • Fixed an issue where the label of the selected value in a lookup filter was not displayed when the "Keep Filter Values" option was enabled.

    • Fixed an issue where an error occurred in list view filters when using the "Does Not Contain" condition.

    • Fixed an issue where the date format in exports did not match the list view.

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000W7WDIA0
    3

    Setup Line Item Editor

    Configure the properties of line item fields. Define attribute fields such as price, discount rate, and quantity based on the selected lookup records.

    4

    Preview

    Review the configured line item fields using the preview function. This helps validate that the defined properties work as expected.

    5

    Activate

    Once the setup is complete, activate the builder. Activation applies the editor settings and enables you to create a button for executing the editor.

    6

    Create a Button

    After completing the setup, create a button and add it to the parent object’s page layout. Users can click this button to launch the editor.

    Relate Objects
    Setup Lookup Selector

    Builder

    Fixed an issue where an error occurred when all fields were deleted and re-added during the Lookup Selector or Line Item Editor setup steps and then saved.

    ⚠️ For existing orgs with the package installed, please deactivate the following Validation Rules in the Line Item Editor object (SBLI__JunctionBuilder__c):

    • RequiredLookupFieldsAtLeastOne

    • RequiredLineItemFieldsAsLeastOne

    Editor

    • Fixed an issue where edited option prices were not reflected when reopening the option selector.

    • Fixed an issue where blank values were not retained after saving and reopening the editor.

    Mobile View:

    • Fixed a Recalculation Formula error that occurred when adding Line Items.

    • Improved spacing for read-only fields with no value to ensure clearer visual separation.

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000T9KrIAK

    Configure Product Options

    Complete the required settings in the builder. Specify which line item field will store product option information and set up filters to determine the criteria for retrieving product options.

    3

    Configure Product Option Data

    After configuring the settings, prepare the data for product options. Use the Product Feature (SBLI__ProductFeature__c) and Product Option (SBLI__ProductOption__c) objects in SmallBuilder Line Items to define and organize the product option data.

    Activate Product Options
    🔗 Reference: Linked objects setup > Lookup Object Filter

    Q: Can I control deletion of objects from the Line-Item Editor based on certain conditions?

    You can specify a Boolean field in the Line-Item object to control whether or not objects can be deleted. Where the value of this field is true, deletion will be blocked.

    🔗 Reference: Linked objects setup > Line-item Object Advanced Settings > Delete Controller Field

    Lookup Object Filter > Advanced Condition

    1

    Configure Lookup Fields Add fields (columns) to display in the search results of the lookup selector and configure their properties. Additionally, you can add virtual columns to display data retrieved from DataSources.

    2

    DataSource If you want to display additional data beyond the lookup object records, you can use DataSources to fetch and display data from other objects. By utilizing Apex Classes, you can also implement complex logic or fetch data through external interfaces and display it in the lookup selector.

    Permits selecting the same record multiple times.
  • Caching to improve performance Speeds up data retrieval and provides a stable environment by using caching. However, cached data may not reflect recent changes immediately.

  • Records By Page Specifies the number of records displayed per page (or scroll). The default is 50 records per page.

  • List All Item
    Expand filters by default
    Allow Select Duplicate Item
    Default Setting in the side panel

    1

    Select Lookup Reference Field Configure the field in the Line Item Object that references the Lookup Object.

    2

    Set Keyword Search Define which field values will be used for searching lookup records. By default, the Name field of the Lookup Object is used as the search criterion.

    3

    Block Lookup Selector If you want to disable the Lookup Selector in the Line Item Editor and allow only direct editing of line items, you can block the Lookup Selector. This setting can also be conditionally enabled or disabled based on specific criteria.

    4

    Set Filters and Sorting for Lookup Records Use filters to retrieve only the necessary data, and set the desired sorting order for the retrieved data.

    Show Summary
    Freeze First Column
    Conditional Read-Only

    Fields can be set to read-only based on specific conditions through the Advanced Read-Only Settings in the field’s advanced settings menu. For more details, refer to the Set Read-Only Based on Specific Conditions guide.

    Lookup Selector
    Line Item Editor
    Lookup Selector
    Line Item Editor
    Line Item Field Configuration
    DataSource

    Organization Currency Setup

    After an organization is initially created, the currency may be set to null. If the currency is not correctly configured, SmallBuilder Lists may not function properly. Please ensure the organization’s currency is properly set before using the product.

    If multiple currencies are activated, you can skip this process.

    1. In Setup, enter Company in the Quick Find box, then select Company Information.

    2. Click Edit.

    3. Under Currency Settings, ensure that a valid currency is selected.

    4. If the currency is set to null, select the appropriate currency.

    SmallBuilder Lists Introduction

    SmallBuilder Lists offers a powerful and flexible record listing feature. This system enables users to create and manage customized lists tailored to their needs by leveraging various data sources. It supports a wide range of filtering options and actions, making it highly adaptable. With SmallBuilder Lists, users can quickly address complex business requirements and make effective, data-driven decisions.


    🔸 Why Choose SmallBuilder Lists?

    Salesforce provides basic List Views for each object, which are essential for viewing data but come with significant limitations:

    1. Limited Button Creation

    In Standard List Views, buttons can only be implemented using URL or Visualforce Page formats, except for cases involving record creation or updates. For example, adding a button to generate orders by selecting multiple products in a product list requires using a URL format, which often involves additional configurations in the Flow itself, making the implementation complex and cumbersome.

    2. Lack of Data Export Functionality

    The lack of a data export feature is a limitation. Currently, it is not possible to export the data retrieved in lists to Excel. While this is a feature frequently requested by many clients, it requires additional development at this time. This inconvenience has been a longstanding concern for users.

    3. No External Data Integration

    Integration with external data is not supported. In the Standard List View, it is not possible to directly access real-time data from external systems such as ERP.

    SmallBuilder Lists addresses these limitations by offering advanced features, as well as highly requested features like Excel export and real-time integration with external data. Additionally, its intuitive Point & Click List Builder allows anyone to implement advanced features without requiring development skills.


    🔸 Key Features of SmallBuilder Lists

    The key features of SmallBuilder Lists are as follows:

    ✅ Point & Click Configuration Tool

    Admins can effortlessly configure filters, action buttons, and columns using the Point & Click interface. Real-time previews during setup allow users to see the results of the list configurations instantly.

    ✅ Versatile Action Buttons

    SmallBuilder Lists supports multiple button types, including New, Delete, Flow, and URL. By adding Flow buttons, users can create buttons with a wide range of functionalities.

    ✅ Data Export (Excel)

    Up to 50,000 searched records can be exported to Excel. This feature can be enabled or disabled in the List Builder, providing flexibility based on business needs.

    ✅ Advanced Filtering Options

    Filters based on fields from the selected object allow users to extract and view only the records they need.

    ✅ Related Object and Real-Time External Data Integration

    Whether internal or external, data scattered across multiple systems can be seamlessly viewed in one place using the Data Source feature.

    This feature consolidates data from different sources into a single view, much like replacing multiple small windows with one comprehensive, panoramic view.

    Button Label

    The label displayed on the editor button.

    2

    Page Layout

    Select the page layout where the button will be added after creation.

    Button's Aura Component

    When the Line Item Editor button is created in the builder, an Aura Component like the one below is automatically generated. If you want to customize how the button invokes the editor, you can modify the Aura Component.

    Learn more about utilizing the editor’s Aura Component >

    1

    Aura Component Attributes

    Attribute
    Description
    Required

    recordId

    The record ID of the Parent, as set in the builder.

    ✔

    builderId

    The record ID of the builder.

    ✔

    <aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId" >   
        <SBLI:LineItemConfigurator 
            builderId="XXX..." 
            recordId="{!v.recordId}" />
    </aura:component>

    UI/UX Overhaul – Business Rule(DataSource) Setup

    • View and Edit Mode Separation: The configuration layout has been separated into a read-only view and an editable modal window for more clarity.

    • Description Field Added: You can now document what each Business Rule does using the new description field.

    • Improved Parameter Handling: For Apex-based Business Rules, the new layout better supports multiple parameters and long field lists.

    • Visual Filter Tool: Replaces raw input of SOQL filters with an intuitive filter builder.

    Previous UI

    Updated UI

    Business Rule Overview

    Business Rule Edit Modal

    Business Rule Using Related Objects (DataSource Basic)
    Business Rule Using Apex Class (DataSource Advanced)

    DataSource

    • Renaming: The term DataSource has been renamed to Business Rule throughout the app.

    • Improved UI/UX: The Business Rule configuration screen has been redesigned for easier setup and management.

    • New Evaluation Event - “On Change”: Now supports execution when specific fields are updated, enabling more dynamic data processing.

    Line Item Editor

    You can now add Virtual Columns to the Line Item Editor. These columns are currently intended for use with Business Rules (formerly DataSources) to display mapped values.

    Filter Configuration Enhancements

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000MNh7IAG

    Enhanced the filter configuration with a more intuitive UI for setting filter conditions, replacing the need for manual SOQL input.

    Configuration Steps
    1. Enable Show Summary in the Line Item Options under the Default Settings.

    2. In the Line Item Editor Settings step, enable the summary attribute for the TotalPrice field (column).

    Result

    When the Line Item Editor is executed, the sum of the total price values for all added data will be displayed at the bottom of the editor.

    Click Edit for SmallBuilder Line Items OAuth.

  • Set Permitted Users to Admin approved users are pre-authorized.

  • Click Save.

  • Step 2: Assign Profiles or Permission Sets

    1. In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.

    2. Click SmallBuilder Line Items OAuth.

    3. At the bottom, click Manage Profiles or Manage Permission Sets.

    4. Select the profile or permission set responsible for configuring the product using the builder.

    5. Click Save.

    Default Setting
    • Responsive UI for Devices The Builder provides settings to optimize the UI for different device types (desktop, tablet, and mobile). The editor adjusts its size and layout based on the display environment to deliver an optimal user experience. Desktops display more detailed information, while mobile devices offer a simplified UI. If you prefer a consistent and simplified UI across all devices, set the mode to Mobile, which ensures a streamlined interface regardless of the device.

    • Adjust Screen Scale The side panel allows you to adjust the screen scale of the editor. For instance, on smaller displays, the UI may take up too much space, causing inconvenience. Lowering the screen scale reduces the size of the editor for improved usability.

    • Lookup Selector Settings Configure settings related to the Lookup Selector. This includes record selection methods and search functionality.

    • Manage settings related to the Line Item Editor, such as displaying summaries at the bottom or fixing the first column.


    Label Setting

    • Configure Editor Titles and Button Labels You can update the titles and certain button labels in the editor screen. By inserting custom labels, you can enable automatic translation based on the user’s language settings, improving usability across various languages.

    To use a parent object field value in a filter, bind it using the syntax {$Parent.FieldName}.

    For instance, to display only records with the same currency as the parent object, you can write the filter as:

    CurrencyIsoCode = {$Parent.CurrencyIsoCode}

    This dynamically references the parent object's currency field, ensuring relevant records are retrieved.

    Set Sorting

    Sorting ensures that the data appears in the desired order when the Lookup Selector screen loads. The sorting configuration follows the syntax of a SOQL ORDER BY clause.

    For example, to sort PricebookEntry records by name in ascending order, you can write:

    IsActive = true
    Name ASC
    The parent object of OpportunityLineItem, referenced via the
    OpportunityId
    field.
  • PricebookEntry The object referenced by OpportunityLineItem for product and pricing information, linked via the PricebookEntryId field.

  • Step 1: Select the Parent Object

    Choose Opportunity as the parent object.

    Step 2: Select the Line Item Object

    Choose OpportunityLineItem as the line item object.

    Step 3: Define the Lookup Object

    Since OpportunityLineItem references PricebookEntry, select the PricebookEntryId field in the line item object as the lookup reference field.

    When Freeze First Column is Enabled

    You can also use the Query Wizard to generate the filter automatically, without manually writing it.

    Set Sorting

    You can sort saved line item data in the desired order when the editor is executed. Sorting follows the same logic as the ORDER BY clause in SOQL.

    For example, to sort line items by their creation date in descending order, use the following setting:

    Type__c = 'Subscription'
    CreatedDate DESC
    Example: Assigning Unit Price from PricebookEntry as Default Value for Opportunity Products

    When adding Opportunity Products, assign the selected product’s Unit Price as the default value for the Unit Price field in the Line Item.

    The Line Item includes both List Price and Unit Price fields. These fields will be populated with values from the Unit Price field in the Lookup Object (PricebookEntry).

    Configuration Steps

    1. In the source field setting for List Price and Unit Price, select Lookup as the first option.

    2. For the second option, select Unit Price.

    Result

    The selected products’ Unit Price is assigned as the default value to the List Price and Unit Price fields in the Line Item.

    Lookup Selector
    Line Item Editor
    🔸 Overview of the Migration
    Migration App
    No.
    Area & Button
    Description
    1

    JSON Export is a feature that converts line item configuration data into JSON format, making it available for file storage or transfer to external systems.

    2

    JSON Import is a feature that allows users to bring externally provided JSON-formatted data into the org, interpret it, and apply it to the system. With this feature, users can easily load previously saved line item configuration settings or add and update new configurations to efficiently manage the configuration environment.


    The parent object is the master object for the line item object and must have a Master-Detail or Lookup relationship with it. The Line Item Editor is executed from the record page of the parent object.
    2

    Line Item Object

    The line item object stores additional details entered after selecting reference data.

    3

    Lookup Object

    The lookup object is referenced by the line item object. Users select lookup records, which are then used to create line item records.

    Example: Reconfiguring the Opportunity Product Editing Screen

    To manage multiple products related to an Opportunity, the OpportunityLineItem object is used. This object references PricebookEntry to retrieve product and pricing information. Using SmallBuilder Line Items, we will reconfigure this standard Opportunity Product registration screen.

    • Parent Object: Opportunity Serves as the parent object linking multiple products and maintains a Master-Detail relationship with OpportunityLineItem.

    • Line Item Object: OpportunityLineItem Stores product-related data such as sales price, quantity, and total amount and is linked to the Opportunity.

    • Lookup Object: PricebookEntry Retrieves product names and pricing information and is referenced by OpportunityLineItem through a Lookup relationship.

    OpportunityLineItem is a Junction object that links Opportunity and PricebookEntry, enabling the management of product information for specific opportunities.
    Parent Object
    Example: Assigning Auto-Numbering to Opportunity Products with Product Options

    Suppose you are saving opportunity products through the Line Item Editor on the Opportunity detail page, generating a quote from the opportunity, and syncing the updated data back to the opportunity. If the SortOrder field is not properly saved, line items for product options may appear in the wrong order, causing confusion for users. To address this, you can assign auto-numbering to the SortOrder field, ensuring correct ordering during syncing.

    Builder Setup:

    1. In the Relate Objects step of the builder, enter the API name of the SortOrder field in the Auto-Number Field setting.

    2. To display the sort order, add the SortOrder field in the Line Item Editor Setup step.

    Result:

    When you launch the Line Item Editor, you will see auto-numbered values in the Sort Order(SortOrder) column.

    By default, line items are numbered in increments of 100 (e.g., 100, 200, 300). Option line items for bundled products are numbered sequentially under their parent line item (e.g., 101, 102).

    For option line items, only the following fields will be displayed in the editor:

    • Product Name

    • List Price

    • Unit Price

    • Quantity

    • Total Price

    • Discount Rate/Discount Amount

    , except for the Lookup Column(PricebookEntryId).

    Result

    You will notice that the column widths now appear more stable and uniform compared to before.

    2. Quick Implementation of Similar Editors

    When you need to create additional Line Item Editors with similar configurations, cloning helps you quickly set up and adjust new editors.

    How to Clone

    1. Click the Clone button at the top of the Builder.

    2. Make any additional settings or modifications on the cloned builder screen.

    3. Click Save to complete the cloning process.

    Click the Add data sources button to open the DataSource editing layout.

    When adding a DataSource for the Line Item Editor, an Evaluation Event needs to be specified.

    • On Initialization: Executes when a new Line Item is added.

    • On Loading: Executes when the Line Item screen is loaded.

    • Before Save: Executes before a Line Item is saved.

    DataSource types

    Basic

    Basic DataSources are used when you want to look up related objects in Salesforce to present data together.

    For example, if the Lookup object is specified as Product2 and you want to display the unit price from a PricebookEntry, you can use an internal data source to look up the PricebookEntry that meets the criteria, and display the product and unit price together.

    Advanced

    Advanced DataSources are mostly used when you want to retrieve data from an external server and display it together with data from the Parent, Line Item or Lookup objects. Since the data is retrieved using a user-created Apex Class, it has the advantage of being able to retrieve data more freely than with internal Salesforce data sources.

    For example, if you want to fetch real-time inventory numbers from an external server or ERP system, then you can write Rest API code in an Apex Class and point it to an external data source. Then, you will be able to view that data in the Line Item Editor.

    Execution Order of DataSource

    The DataSource executes in the following sequence: Basic first, followed by Advanced.

    1

    Basic DataSource

    Executes in the order in which it was added.

    2

    Advanced DataSource

    Generally executes in the order it was added, but the execution order may not always be guaranteed.

    When Screen Ratio is 80%

    If the editor contains many columns, reducing the screen ratio allows you to view more columns on a single screen.

    Default Setting in the side panel
    Read more >
    Read more >
    Read more >
    custom labels
    Insert Custom Labels

    v 2.5

    📦 Package Upgrade

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000VG25IAG

    🗓️ Release Date

    2025. 5. 28.

    📒 Summary

    🔸 Migration

    The list configurator migration feature is now available. You can export list configuration settings from the current org as a JSON file, or import a JSON file created in another org to migrate settings. This allows you to easily transfer list configurator between orgs.

    Migration App

    Learn more about migration >

    Getting Started with SmallBuilder Lists

    Before you begin, certain preparatory steps are necessary to fully utilize the powerful features of SmallBuilder Lists. These steps are essential for configuring the system efficiently and customizing it to meet your specific requirements. By completing these steps, you can ensure a smooth implementation of SmallBuilder Lists and optimize its performance in your organization.

    🔸 Package Installation

    Install SmallBuilder Lists in your organization from AppExchange.


    🔸 Assigning Licenses and Permissions

    SmallBuilder Lists offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.


    🔸 Organization Currency Setup

    After an organization is initially created, the currency may be set to null. If the currency is not properly configured, SmallBuilder may not function correctly. Make sure to verify that your organization’s currency is properly set before using the product.


    🔸 Connected App Setup

    For metadata-related operations like creating and managing tabs within SmallBuilder Lists, additional configurations for the connected app associated with SmallBuilder Lists are required.

    Reorder Columns

    You can rearrange the order of added columns by using the Drag & Drop functionality.

    Steps Reorder Columns

    1. Click and hold the leftmost icon() of the desired column.

    2. While holding the mouse button, drag the column to the desired position and drop it.

    Example: Changing Column Order

    Set Object and Parent Reference Field

    Configuration Based on Parent Object

    The builder provides automatic configuration support specifically for standard Opportunity, Quote, and Order objects. If the parent object is one of these, you can choose between the following two configuration methods:

    1

    This option automatically sets up the required configurations for the Line Item and Lookup objects based on the parent object. It allows you to set up the editor quickly and easily.

    2

    Standard: Automatic Configuration

    This option is available exclusively for standard objects such as Opportunity, Quote, or Order. It enables automatic setup of required configurations for the Line Item and Lookup objects, allowing for rapid configuration without manual effort.

    Example: Automatic Configuration for Opportunity

    When you apply standard settings for the Opportunity parent object, the following are configured automatically:

    • Line Item Object

      • Configured as OpportunityLineItem

      • Essential fields such as Unit Price, Quantity, and Total Price are automatically added.

    • Lookup Object

    Manual Configuration: Customize Your Line Items

    If your parent object is a custom object or you prefer custom setup, choose Manual Configuration.

    Manual Configuration options include:

    v 2.0.1

    📦 Package Upgrade

    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000Vy9ZIAS

    🗓️ Release Date

    2025. 7. 3.

    ⚙️ Features

    • Implemented migration feature for the line item configurator

    🔧 Improvement

    🐛 Bug Fixes

    Add Columns

    Configure the fields (columns) to be displayed and worked on in the Line Item Editor.

    Pre-added lookup reference fields cannot be deleted. If you do not wish to display these fields in the Line Item Editor, check the “Hide” option to conceal them.

    Steps to Add Columns

    In the Line Item Editor Setup step, click the Add Columns button.

    Example: Adding Columns

    Exclude Certain Fields from Saving

    In cases where the Line Item Editor is configured based on Opportunity Products, you might want to display both the Unit Price and Total Price fields. While both fields are editable in Opportunity Products, they cannot be saved simultaneously because the Total Price is automatically calculated and stored based on the Unit Price and Quantity.

    It may seem sufficient to set the Total Price field to read-only. However, since the Line Item Editor relies on builder settings, a field marked as editable will still attempt to save internally, even if it appears read-only on the screen.

    To ensure that fields like formula fields or other read-only fields are not saved, you must explicitly activate the Do Not Save setting for these fields.

    When configuring standard objects like Opportunity, Quote, or Order, the Do Not Save setting is automatically enabled for the Total Price field when it is added to the Line Item Editor.

    Line Item Object

    The line item object is responsible for selecting reference data, adding additional details, and saving the information. This object must be a child of the parent object. When the parent object is selected in the builder, associated child objects can be searched and selected. This step also provides settings for filters, sorting, auto-numbering, and more.

    1

    • Select the object to be used as the line item and specify the field that connects this object to the parent object.

    • For standard objects, use the auto-configuration option to simplify the setup process.

    2

    • If you want to display saved line items that match specific criteria when the Line Item Editor runs, configure filters and sorting.

    • This ensures only relevant data is displayed and controls the order of retrieved records.

    3

    • To manage the deletion of line items based on specific conditions, designate a field that stores the result of the condition (true or false).

    • This field will determine whether a line item can be deleted.

    4

    • Configure automatic numbering for line items upon saving.

    • This is particularly useful when managing product options, helping to differentiate and organize each line item.

    Insert Filters Using the Query Wizard

    The Query Wizard simplifies the process of setting up filters, especially for administrators unfamiliar with SOQL syntax. Instead of manually writing the WHERE clause in SOQL, admins can use an intuitive interface to select conditions and input values, making filter configuration much more accessible.

    Filter Configuration in the Builder

    Normally, filter settings in the builder correspond to the WHERE clause in SOQL. For administrators who are not well-versed in SOQL, this can be challenging. The Query Wizard resolves this issue by allowing admins to configure filters without needing in-depth knowledge of SOQL.

    By using the Query Wizard, admins can define filter conditions through simple selection and input steps. This significantly streamlines the process of creating filters.

    Setting Up Logic

    When multiple filters are added in the Query Wizard, they are combined using AND logic by default.

    Example: Adding Three Filters

    When three filters are added using the Query Wizard:

    These filters are combined into a single condition as follows:

    Changing Logic

    To modify the logic, click Edit Logic and customize the logic using the filter numbers.

    Example: Changing All Conditions to OR

    If you want to use OR instead of AND, edit the logic as follows:

    The updated logic will generate filters based on the new condition.

    Binding Parent Object Fields to Filter Conditions

    Filters can also bind values to fields from the parent object. By selecting the Parent option next to the value input field, you can link the filter condition to a specific parent object field.

    This feature enables dynamic data retrieval based on parent object field values, offering greater flexibility in query configurations.

    Example: Filtering Pricebook Entries Matching the Parent Object's Pricebook

    Let’s configure a filter to retrieve Pricebook Entries that match the parent object’s Pricebook (Pricebook2Id):

    1. In the Filter by Query section of the object connection step, click the Query Wizard button.

    2. Next to the value input field, select Parent.

    3. Search for and select the Pricebook field (Pricebook2Id) of the parent object

    This configuration ensures that only Pricebook Entries matching the parent object’s Pricebook are retrieved. The Query Wizard automatically generates the necessary filter syntax, making it easy and convenient to add conditions.

    Preview

    Before using the Line Item Editor, you can preview how the settings configured in the builder will appear and function within the editor.

    Currently, any changes to the settings must be saved to reflect them in the preview.

    1

    Device

    Preview the editor based on the selected device type.

    Example: Preview

    Display and Storage of Line Item Option Values

    The display and storage of option values in line items depend on specific option values and the fields configured in the Line Item Editor setup.

    Options in the editor are displayed as read-only by default. However, quantities and prices can be modified if the Quantity Editable or Price Editable settings are activated in the option data configuration.

    Display of Specific Option Values

    Option Value
    Display Method

    Example

    For an option with a quantity of 2 and a total price of $90, the calculation works as follows:

    Option Field
    Calculation Method
    Result

    Display and Storage Based on Line Item Column Settings

    If an option value is mapped to a field that has been added as a column in the Line Item Editor, its display and storage behavior follow the column’s configuration:

    • If the column has the “Do Not Save” setting enabled, the value will not be stored in the database, even though it is displayed in the editor.

    • Fields not added as columns in the Line Item Editor will not be displayed in the editor but will still be stored internally.

    If the mapped field in Salesforce has read-only field permissions, the field will not store the value even if included in the column settings.

    Example: Total Price Field with "Do Not Save" Enabled

    In this scenario, the Total Price field is mapped to the TotalPrice field in the line item but is configured with the “Do Not Save” setting in the editor:

    The option’s total price is mapped to the line item’s TotalPrice field.

    When the option is added and saved, the TotalPrice field is not stored due to the “Do Not Save” setting.

    JSON Export

    The JSON export feature converts the data defined in the list configurator into a structured JSON format. This allows users to save the data as a file or transmit it to external systems.

    The JSON export feature converts the data defined in the List Configurator into a structured JSON format, allowing users to save it as a file or transfer it to external systems. This functionality enables easy migration of configured Line Item Editors or settings to other environments, and can also be used for backup or sharing purposes.


    🔸Export

    1. Click the "Start JSON Export" button in the Migration tab.

    Migration App

    2. Select a builder and click the Export button.

    3. Review the data converted to JSON, and if everything looks correct, click the Download button to download the JSON file.

    Inserting Custom Labels into Editor Labels

    Custom labels can be applied to labels displayed in the editor wherever the icon appears. Clicking this icon opens a modal window where you can select and apply the desired custom label.

    When applying a custom label, ensure the target value does not exceed the maximum allowed length. If the maximum length is exceeded, the binding to the custom label might be truncated and not applied correctly.

    Always consider the length limitation when setting up custom labels.

    Example: Changing the Label of the Lookup Selector Button in the Editor

    When the lookup object is set to Pricebook Entries, the name of the lookup selector button displayed in the editor automatically inherits the object name. However, such button names may appear awkward to users. Changing the object label in Salesforce settings is inefficient because the object is used in multiple contexts, potentially impacting other screens.

    Steps to Configure:

    1. Navigate to the Labels menu in the side panel.

    2. Click the icon next to the lookup button label input field.

    3. Select the preconfigured custom label “Add Products (SmallBuilder_AddProducts)” from the modal window.

    Result

    The custom label will be translated and displayed in the editor based on the user’s language settings.

    Example of Custom Label Translations for “Add Products (SmallBuilder_AddProducts)”:

    Language
    Translation

    When the user’s language is set to Korean, the button label displayed in the editor shows as “제품 추가”.

    When the user’s language is set to English, the button label displayed in the editor shows as “Add Products”.

    Assigning Licenses and Permissions

    SmallBuilder Lists offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.

    In the sandbox envirnment, license restrictions do not apply, allowing users to use the product without assigning license.


    🔸 License Assignment

    A SmallBuilder license must be assigned to each user individually. Follow these steps to assign a license:

    1. In Setup, enter Installed Packages in the Quick Find box, then select Installed Packages.

    2. Find SmallBuilder Lists and click on Manage Licenses.

    3. Click Add Users to select the users to whom you want to assign the license.

    4. Click Add


    🔸 Assigning Permission Sets

    SmallBuilder Lists provides two permission sets tailored for different user roles. Be sure to assign the appropriate permission set to each user to ensure smooth access to the product’s features.

    ✅ SmallBuilder Lists Manager

    The SmallBuilder Lists Manager permission set is designed for administrators who need to manage the product. With this permission set, admins can configure List Builder settings, create list tabs, and manage other administrative tasks with ease.

    ✅ SmallBuilder Lists User

    The SmallBuilder Lists User permission set is intended for general users who need to view lists. This permission set enables users to access and view the configured lists easily.

    Builder

    SmallBuilder Line Items starts with the Builder. Use the Builder to configure a customized Line Item Editor tailored to your needs.

    Getting Started with the Builder

    Learn how to launch the Builder and explore its components.

    Read more >

    Builder Setup Steps

    Follow these steps to configure the Builder, from connecting objects to preparing the Line Item Editor for use.

    Getting Stared with the Builder

    How to Launch the Builder

    1. Open the App Launcher( ) and search for SmallBuilder Line Items, then navigate to it.

    2. Go to the Line Item Editor tab

    SmallBuilder Line Items Overview

    SmallBuilder Line Items provides a Line Item Editor that supports discount calculators and external data integration for both standard objects like Opportunities and Quotes, as well as custom objects. This solution enables seamless implementation without requiring development.

    Why Use the Line Item Editor?

    In Salesforce, standard objects with junction relationships, such as Opportunities, Quotes, and Orders, are essential in Sales Cloud. While Salesforce provides robust out-of-the-box functionality for adding and modifying line items for these objects, there are some limitations.

    Control Line Item Deletion

    Control the deletion of saved line items based on their status by specifying a Boolean field that determines whether deletion is allowed. If the specified field value is true, the delete button will be disabled for the corresponding line item.

    DelDeletion control applies only within the Line Item Editor and does not affect Salesforce internal processes like API operations, Data Loader, or manual deletion.

    Configure Product Options

    Once Product Options are activated, a “Product Option Settings” step is added to the top of the builder. In this step, you can configure the settings required to use the Product Option feature.

    Product Option Settings

    Product Option settings are divided into two main categories:

    Connected App Configuration

    To perform metadata-related tasks, such as adding buttons to page layouts or creating tabs in the builder screen for SmallBuilder, you need to configure the connected app.

    If you are using the SmallBuilder Line Items product, set up SmallBuilder Line Items OAuth.

    Step 1: Configure Permitted Users

    .
    1. In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.

    2. Click Edit for SmallBuilder {Product Name} OAuth.

    3. Set Permitted Users to Admin approved users are pre-authorized.

    4. Click Save.

    Step 2: Assign Profiles or Permission Sets

    1. In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.

    2. Click SmallBuilder {Product Name} OAuth.

    3. At the bottom, click Manage Profiles or Manage Permission Sets.

    4. Select the profile or permission set responsible for configuring the product using the builder.

    5. Click Save.

    Line Item Editor Settings
    Read more >

    Quantity

    Displayed as the product of the configured product’s quantity and the option’s quantity.

    Total Price

    Displayed as the result of multiplying the option’s unit price by the option’s quantity.

    Quantity

    Configured Product Quantity × Option Quantity

    2 (Configured Product) × 1 (Option) = 2

    Total Price

    Option Quantity × Option Unit Price

    2 × $45.00 = $90.00

    Export JSON
    Import JSON
    Set Object and Parent Reference Field
    Set Filters and Sorting for Saved Line Items
    Control Line Item Deletion
    Set Auto-Numbering

    2

    Target Record Selection

    Choose the target record you want to preview. The record must belong to the parent object.

    Select Builder
    Result View

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    Field-Level Security (FLS) is not currently enforced. If a user lacks permissions for a specific field, errors may occur. This limitation will be addressed in future updates.

    Field-Level Security (FLS) is not currently enforced. If a user lacks permissions for a specific field, errors may occur. This limitation will be addressed in future updates.

  • Configured as PricebookEntry

  • Fields required for Lookup (e.g., Product Name, Unit Price) and filter conditions (e.g.m Pricebook2Id) are automatically set.

  • Manual Configuration: Customize Your Line Items To configure the editor using custom objects, choose the Manual Configuration option. This allows you to define the parent, line item, and lookup objects manually, giving you flexibility to design the editor.

    1

    Object

    Select a child object of the parent to act as the Line Item object.

    2

    Parent Reference Field

    Specify the field in the Line Item object that references the parent object. This field automatically assigns the parent when a Line Item is saved.

    Standard: Automatic Configuration
    .
  • Confirm that the filter condition is automatically set to: {$Parent.Pricebook2Id}

  • Query Wizard with three filters added
    Generated logic with AND conditions

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    Confirm that the selected custom label is applied to the input field.
  • Run the editor and verify that the lookup selector button label displayed in the editor reflects the updated custom label.

  • English

    Add Products

    Korean

    제품 추가

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    and click
    New
    to launch the Builder.
    1. Navigate to the SmallBuilder Line Items app.
    2. Open the Line Item Editor tab.

    Builder Layout

    The Builder provides key functions like saving, deleting, and creating buttons in the top panel. The left-side panel manages basic settings and label changes, while the right panel offers step-by-step configuration.

    1

    Top Panel Features In the top-left corner, the Builder displays the activation status alongside buttons for key actions:

    • Preview: View the configurator based on the latest saved Builder settings.

    • Add Button: Generate buttons for the configurator based on activated Builder settings. Assign buttons to desired page layouts for the parent object.

    • Activate: You must activate the Builder to use it as a configurator. Inactive Builders cannot be used.

    2

    Configuration Steps The Builder guides you through three primary steps, displayed in the right-side panel. Selecting any step updates the main panel accordingly:

    • Relate Objects: Define which objects to use as the Parent, Lookup, and Line Item. The selected objects must have junction relationships. Both standard and custom objects are supported.

    • Setup Lookup Selector: Configure fields for the Lookup object, including column alignment, width, and sorting settings for the Line Item Editor.

    • Setup Line Item Editor: Add fields for the Line Item object and apply advanced settings, such as column alignment, width, and properties based on field types (e.g., numbers, lookup fields).

    3

    Left-Side Panel Use this panel to configure basic settings for the Builder, including the Builder name, screen scaling, and user experience adjustments for different devices.

    4

    Configuration Panel Displays the settings for the selected step in the right-side panel.

    The Line Item Editor currently supports junction objects (many-to-many relationships) only.

    For example:

    • Total amounts are not automatically calculated when entering sales prices or quantities.

    • Users must manually calculate and enter discounts.

    • Many users want to reference inventory data from their servers when selecting products or entering line items.

    • They also wish to automatically apply account-specific discounts from related objects.

    These needs often require developer intervention, making it difficult for admins to customize or update features. With the Line Item Editor, these limitations are addressed using a point-and-click approach:

    • Automatic calculations and external data integration can be implemented with minimal development or point-and-click configurations.

    • The builder enables easy screen implementation, saving time and simplifying maintenance for feature updates or modifications.

    • The basic setup required for implementing the Line Item Editor does not need coding, making it accessible to Salesforce admins with fundamental knowledge.

    Standard Screen

    In the standard Salesforce screen, total amounts are not automatically calculated when modifying unit prices or quantities after adding products.

    Line Item Editor Screen

    By re-implementing the standard product editing screen with the Line Item Editor, you can expand functionality to include inventory display, automatic calculations, discount applications, and more.

    What is a Junction Object?

    The Line Item Editor is built on objects with junction relationships. As previously mentioned, Opportunities, Quotes, and Orders are examples. Let’s explore the structure of Opportunity Line Items:

    When adding products to an Opportunity, the PricebookEntry object is required to retrieve product and pricing information. Once products are added, details like sales price and quantity are stored in the OpportunityLineItem object.

    The OpportunityLineItem object bridges the Opportunity and PricebookEntry objects, allowing multiple PricebookEntries to be linked to a single Opportunity. Objects that serve this role are referred to as junction objects.

    With these relationships in place, the Line Item Editor can be implemented at any time. Within the editor, these objects are referred to as:

    • Parent: Opportunity

    • Lookup: PricebookEntry

    • Line Item: OpportunityLineItem

    Key Features

    ✔️ Support for All Objects

    The SmallBuilder Line Items editor supports all objects. This means it can handle line items for not only standard objects like Opportunities or Quotes but also custom objects, eliminating the need for coding.

    ✔️ Point-and-Click Configuration Tool

    The builder simplifies the creation of complex Line Item Editor involving three or more objects, such as Opportunities, Products, and Pricebooks.

    ✔️ Real-Time External Data Integration

    For scenarios requiring real-time external data integration, the Builder supports integration by invoking Apex code for seamless real-time data retrieval.

    ✔️ CPQ Alternative

    The Line Item Editor can apply a discount calculator to currency fields, making it an excellent alternative to CPQ for scenarios where convenient discount calculations are essential.

    Example: Restrict Deletion of Approved Opportunity Products

    For Opportunity Products linked to an Opportunity, deletion should be restricted when the product is in an approved state. To configure this, the Approved__c field is used to control deletion.

    Builder Setup

    Set the Approved__c field as the deletion control field in the builder. Enter the API name of the field into the Deletion Control Field setting.

    Result

    When the Approved__c field value is true, the delete button is hidden, preventing deletion of the corresponding line item.

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    Set up fields to link line items between configured products and their options and map fields to store option-related information.

    Default Setting

    Configure options to skip option selection when adding products and filter the options that can be selected.

    Editor

    • Improved UI/UX for Textarea Fields

    The UI for Textarea fields in the Line Item Editor has been improved.

    Previously, Textarea fields were displayed as single-line input fields, making line breaks unavailable. With this update, they now support multi-line input, allowing users to enter text with line breaks more conveniently.

    Builder

    • Fixed an issue where read-only settings were not applied to Line Items.

    • Resolved a “Not” condition error that occurred when using the “Does Not Contain” filter in the filter tool.

    • Fixed an issue where search results were reset after selecting a field in the Add Column modal for Lookup or Line Item.

    Migration
    Learn more about Assigning Licenses and Permissions >
    Learn more about Configuring Currency Settings >
    Learn more about Connected App Setup >

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    Line Item Setting

    Line Item Settings allow you to configure how configured product line items and option product line items are connected and how option information is mapped to line item fields.

    Parent Line Item Field

    Set the field that connects the line items of configured products to their option line items. This field must be a self-relationship field, which represents a relationship within the same object, allowing one record to reference another record in the same object.

    For Opportunity Product, the Base Line Item for Option (SBLI__BaseLineItemForOption__c) field is provided by default. When the standard settings for Opportunity are applied, this field is automatically set as the parent line item field. If needed, you can replace this with a different field.

    Example

    If the Parent Line Item Field is set to Base Line Item for Option (SBLI__BaseLineItemForOption__c), a self-relationship structure is created, enabling option records to reference their configured product record through this field.

    Example in the Line Item Editor

    Mapping Option Values to Line Item Fields

    Configure which line item fields will store the information of selected options. The following option values can be mapped:

    Field
    Description
    Type
    Required

    Example

    for Opportunity Products, the following mappings might be configured:

    Option Value
    Opportunity Product FIeld

    Example in the Line Item Editor

    For the configured product “Desktop PC Intel i3”, the RAM option “RAM 8GB” is selected. The option has a quantity of 1, with a list price and unit price of $45 each.

    The values for quantity, list price, unit price, and total price are mapped to their respective fields, as configured.

    JSON Import

    JSON Import is a feature that allows externally provided JSON-formatted data to be imported into the organization, parsed, and applied to the system. With this functionality, users can easily load previously saved line item configurator settings or efficiently manage the configuration environment by adding and updating new settings.


    🔸 Import

    Clicking the Start JSON Import button will begin the process of importing line item configuration settings exported from another org.


    1

    Upload JSON File

    Select and upload the JSON file that contains the line item configuration settings to be imported.

    2

    Upsert Line Item Configuratior

    Depending on the presence of a Migration Key, a line item configuration is either created as new or used to update an existing one. The Migration Key corresponds to the record ID of the imported line item configuration.

    If the SmallBuilder Line Items package version differs between the source org and the current org, some objects or fields in the imported line item configuration may be missing.

    3

    View Results

    Check the creation and update results of the imported line item configuration settings.

    When Objects or Fields Are Missing

    Objects and fields that were omitted are not included in successfully migrated line item builders, and such missing items are displayed separately at the bottom of the result screen. Missing objects and fields may occur due to discrepancies in the SmallBuilder Line Items package version or insufficient field-level permissions, so please check the package version and field permissions.

    When Line Item Configurations Fail

    Default Setting

    Default Settings in the Product Option Settings step allow you to configure how product options behave when products are added or viewed in the Line Item Editor.

    Unfold by Default

    When the Line Item Editor loads, option line item lists for configured products are automatically unfolded to display all added options.

    If you want to hide the option lists upon loading, deactivate the “Unfold by Default” setting.

    Example

    Unfold by Default Activated

    Options are visible upon editor load.

    Unfold by Default Deactivated

    When “Unfold by Default” is deactivated, the option lists are hidden. To view the options, click the line item row with the expand icon () displayed next to it.

    Skip Options Selection

    When Product Options are enabled, selecting a product through the lookup selector typically includes an additional step for selecting options. By activating the “Skip Option Selection” setting, you can bypass this step, allowing the product to be added directly.

    However, options can still be selected or modified later in the Line Item Editor.

    Skipping the option selection step does not remove the ability to add or modify options. Options can always be managed in the Line Item Editor.

    Example

    Default Behavior

    The option selection step appears after selecting a product.

    Skip Option Selection Activated

    Activating the “Skip Option Selection” setting skips the option selection step after selecting a product, as shown in the image below. Even if this step is skipped, you can still select or add options later in the Line Item Editor.

    Option Filters

    Options are retrieved based on the selected product and the Pricebook (Pricebook2Id) of the parent object, such as Opportunity, Quote, or Order.

    If you want to add additional criteria for retrieving options, you can configure Option Filters. These filters follow the SOQL WHERE clause syntax and are applied to the Product Option object (SBLI__ProductOption__c).

    Example Filter:

    Using Parent Object Fields in Filters

    To reference a parent object’s field in a filter, use the {$Parent.FieldName} syntax. For example, to retrieve records that match the currency of the parent object, you can write the filter as:

    CurrencyIsoCode = {$Parent.CurrencyIsoCode}

    This allows the filter to dynamically reference the parent object’s currency field, ensuring contextually appropriate query results.

    Using Query Wizard

    Instead of manually writing filters, you can use the to generate them automatically, simplifying the setup process.

    v 2.10

    📦 Package Upgrade

    🗓️ Release Date

    1 AND 2 AND 3
    1 OR 2 OR 3
    Line Item Setting
    Lookup: PricebookEntry
    Parent Object
    Line Item Object
    Lookup Object

    Opportunity

    OpportunityLineItem

    PricebookEntry

    Quote

    QuoteLineItem

    PricebookEntry

    Order

    OrderItem

    PricebookEntry

    Parent Object
    Line Item Object
    Lookup Object

    Opportunity

    OpportunityLineItem

    PricebookEntry

    Quote

    QuoteLineItem

    PricebookEntry

    Order

    OrderItem

    PricebookEntry

    Quantity

    Maps the quantity of the option.

    Number

    Total Price

    Maps the total price calculated from the unit price and quantity. If used for display purposes only, assign a line item field used for the total price column.

    Currency

    Discount (%)

    Maps the discount percentage of the option.

    Percent

    Discount (Amount)

    Maps the discount amount of the option.

    Currency

    Description

    Maps the description of the option.

    Long Text Area(1000)

    Option Record Id

    Stores the record ID of the selected product option. This is used to fetch relevant option details when viewing line items in the editor.

    ℹ️ For Opportunity Product, the Product Option (SBLI__ProductOption__c) field is provided by default.

    Lookup(Product Option)

    ✔

    Original Price

    Maps the list price of the option. If used for display purposes only, assign a line item field used for the list price column.

    Currency

    Unit Price

    Maps the unit price of the option.

    Currency

    Option Record ID

    SBLI__ProductOption__c

    Original Price

    ListPrice

    Unit Price

    UnitPrice

    Quantity

    Quantity

    Total Price

    TotalPrice

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    • Lookup: PricebookEntry

    No.
    Area & Button
    Description
    1

    Previous

    You can return to the JSON file upload screen. If you selected the wrong file, click this button to go back and restart the upload process.

    2

    Imported Line Item Configuration Information

    Check the line item configuration information that will be created or updated in the current org.

    3

    Line Item Configuration Information in the Current Org

    If a line item configuration with a connected Migration Key exists in the current org, its name will be displayed automatically. If no configuration is linked, a search box will appear.

    • You can use the search box to find line item configurations that do not have a Migration Key. If you select one of the results, it will be updated. If you leave it unselected, a new line item configuration will be created.

    4

    Preview Changes

    If an existing line item configuration in the current org is being updated, you can review the changes that will be applied.

    5

    Create and Update Button

    Starts the process of creating or updating the line item configuration based on the imported settings.

    Manually Link Migration Key

    For line item configurations being imported into the current org for the first time, a Migration Key is not connected. If you want to update an existing line item configuration in the current org using the imported settings, you can search for and link a Migration Key.

    Select Line item Configuration to Update

    Only line item configurations that are not linked to a Migration Key and are created from the same object will be shown.

    Search Existing Line item Configurations

    Preview Changes

    If a line item configuration is being updated through a connected Migration Key, you can review the changes from the existing configuration on the screen.

    No.
    Area & Button
    Description
    1

    List Toggle

    Open or close the list of failed line item configurations.

    2

    Select Line Item Configurator

    Select one or more failed line item configurations to export again as a JSON file.

    3

    Failed Line Item Configuration Information

    View details of the failed line item configurator

    4

    Summary of Failure Reasons

    Displays a summary of failure reasons by object within the line item configuration.

    5

    Detailed Failure Reasons

    View detailed failure information for each individual line item configuration.

    6

    🔻 Detailed Failure Reasons

    You can review the detailed reasons for migration failure, and easily identify the failed objects using the Migration Key.

    Save: Save the Builder configuration.

  • Clone: Duplicate the Builder based on the latest saved settings. After clicking the Clone button, click Save to complete the duplication.

  • Reset: Restore the Builder to its most recently saved configuration if changes need to be reverted.

  • Help: Access the help documentation for SmallBuilder Line Items.

  • 2025. 06. 27.

    📒 Summary

    ⚙️ Features

    🔸 Child List Linking

    A new child list linking feature has been added, allowing you to view related child records within a single list screen. If the object assigned to a list configurator has child objects that are related through a master-detail or lookup relationship, you can link the list configurator that is based on the child object as a child list.

    Child List

    Read more >


    🔸 Adding Small Builder Line Item Actions

    You can now add the action button for SmallBuilder Line Items in the list. This feature can be used only in the Related List of the parent object.

    Read more >


    🔸 Pinned Columns

    You can use the pinned columns feature to efficiently view a large amount of horizontal data in a list. Even when scrolling, the specified columns remain fixed on the screen, allowing you to easily compare other column values without losing sight of important reference information, such as customer names or unique IDs.

    Read more >

    🔧 Improvements

    🔸 Increase Excel Data Limit

    • Previously, you could export up to 50,000 records, but in this version, you can export up to 200,000 records.

    • The UI/UX has been updated so that you can check the progress of the export process and exclude unnecessary columns.

    Read more >


    🔸 Default Filter Values

    Previously, you could set default filter values by passing parameters in the list URL, but this approach had limitations with certain filters. In this version, we provide the ability to pass filter values more flexibly and extensively through the Aura Component.

    Read more >


    🔸 Migration Sorting

    In the data export of the Migration tab, you can click a table header to sort the list by that column.

    정렬

    🔸 Settings Panel UI Update

    The components of the settings panel have been organized to make them visually clearer.

    Setup Panel UI
    https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000Vy7xIAC
    Query Wizard
    편집기 로드 시 옵션이 확장되어 있음
    기본적으로 옵션 선택 단계가 나타남

    Basic DataSource: Retrieve Related Object Data

    If you want to simply fetch related object data, consider using Basic DataSource settings. You can select an object related to Lookup or Line Item and map the fields of the retrieved object to the Lookup or Line Item fields via DataSource.

    Basic DataSource Settings

    No.
    Attribute
    Description
    Req.

    Actions

    Actions involve mapping the data fetched from the DataSource to the fields in Lookup or Line Items. Through these actions, the DataSource values are applied to the designated fields.

    No.
    Attribute
    Description
    Req.

    Example

    This example demonstrates the configuration of a Line Item Editor for Opportunity Products:

    • Parent: Opportunity

    • Line Item: OpportunityLineItem

    When the Lookup Object is set to Product2, users often want to display UnitPrice information. However, in Salesforce, the UnitPrice is stored in the PricebookEntry object, which is a child object of Product. Since UnitPrice cannot be fetched via a formula field, we use a DataSource to query the related PricebookEntry data.

    1. In the DataSource settings, specify the Source Object as PricebookEntry.

    2. (optional) Click Query Wizard to set up the query conditions: IsActive = true AND Pricebook2Id = {$Parent.Pricebook2Id}

    3. To match the PricebookEntry data to the Products, use the following settings:

    SmallBuilder Line Items - no code custom line item configurator for any object in SalesforceSalesforce AppExchange | Leading Enterprise Cloud Marketplace
    SmallBuilder Lists - Mass Actions, Integrate External Data, Dynamic Filtering, Custom Filters, Bulk Actions, Bulk Delete, Excel DownloadSalesforce AppExchange | Leading Enterprise Cloud Marketplace
    <aura:component>    
        <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
        <SBLS:ListConfigurator 
            configurationId="{builder record ID}"
            parentFieldApiName="OpportunityId"
            recordId="{!v.recordId}"
            filters="{!v.filters}" />
    </aura:component>
    IsActive__c = true
    Logo

    Export

    Download the JSON file for the selected line item configurations.

    Logo

    5

    Map the fields from the DataSource object to the Lookup or Line Item fields.

    ✔

    Select the target field in Lookup or Line Item where the data will be mapped.

    ✔

    4

    Key

    The unique identifier used for mapping data between the DataSource and Lookup or Line Item. The Key determines the target for the mapped DataSource values.

    ✔

    Lookup: Product2
    Source Field: Product2Id
  • Target Field: Id

  • Key: true

  • To display the Unit Price alongside the product data, add an Action and map the fields to a virtual column in Lookup:

    • Source Field: UnitPrice

    • Target Field: SBLI_Virtual1

  • 1

    Source Object

    Specify the Salesforce objects that you want to source data from.

    ✔

    2

    Query

    Click the Wizard button to open the Build Query layout. You can use the Query Wizard to easily build queries by searching for the correct fields to use. Filters are entered in the format of a SOQL WHERE clause.

    3

    Evaluation Event

    Set the execution timing for the DataSource.

    • On Initialization: Executes when a new Line Item is added.

    • On Loading: Executes when the Line Item screen is loaded.

    • Before Save: Executes before a Line Item is saved.

    ❗ Available only for Line Items.

    4

    Active

    Turns the DataSource on or off. It must be active to be used.

    1

    Order

    Specify the order that mappings are carried out.

    ✔

    2

    Source Field

    Select the field from the DataSource object.

    ✔

    3

    ✔

    Target Field

    Configure Product Option Data

    Product Option data is managed using two objects: Product Feature (SBLI__ProductFeature__c) and Product Option (SBLI__ProductOption__c). Both objects reference the Product (Product2) object and serve the following purposes:

    • Product Feature: An optional object used to group product options into categories.

    • Product Option: The primary object for managing option products and their related information.

    While the main focus is on configuring data in the Product Option object, the Product Feature object can be used additionally if needed for grouping purposes.

    Product Feature

    The Product Feature object allows you to group product options by category.

    Object

    Label
    API Name

    Fields

    Label
    API Name
    Description
    Required

    Product Option

    The Product Option object is the core component for managing option products and their associated details.

    Object

    Label
    API Name

    Fields

    Label
    API Name
    Description
    Required
    Actions

    Multi Selectable

    SBLI__MultiSelectable__c

    Determines whether multiple options can be selected within the group.

    Option Product

    SBLI__OptionalProduct__c

    Indicates the product used as an option.

    ✔

    Quantity

    SBLI__Quantity__c

    Specifies the quantity of the option, with a default value of 1.

    Unit Price

    SBLI__UnitPrice__c

    Sets the unit price for the option. If left blank, the price is fetched from the price book entry.

    Discount (%)

    SBLI__Discount__c

    Indicates the discount percentage for the option, applied to the total price.

    Discount Amount

    SBLI__DiscountAmount__c

    Specifies the discount amount for the option, applied to the total price.

    Required

    SBLI__Required__c

    Marks the option as mandatory during selection.

    Selected

    SBLI__Selected__c

    Sets the option as selected by default.

    Included

    SBLI__Included__c

    Marks the option as included, meaning its cost is not reflected in the unit price or total price. Included options are labeled as “Included” in the editor.

    Price Editable

    SBLI__PriceEditable__c

    Allows users to edit the option’s unit price (default: not editable).

    Quantity Editable

    SBLI__QuantityEditable__c

    Allows users to edit the option’s quantity (default: not editable).

    Min Quantity

    SBLI__MinQuantity__c

    Specifies the minimum quantity if the option’s quantity is editable.

    Max Quantity

    SBLI__MaxQuantity__c

    Specifies the maximum quantity if the option’s quantity is editable.

    Description

    SBLI__Description__c

    Provides detailed information about the option.

    Product Feature

    SBLI__ProductFeature__c

    Order

    SBLI__Order__c

    Defines the sequence in which options are displayed on the option selection screen.

    Main Product

    SBLI__Product__c

    Specifies the main product that the options belong to.

    ✔

    Description

    SBLI__Description__c

    Provides a description of the product feature.

    Product Option

    SBLI__ProductOption__c

    Order

    SBLI__Order__c

    Determines the display order of options in the selection screen.

    Feature

    SBLI__Feature__c

    A lookup field referencing the Product Feature object for grouping options.

    Main Product

    SBLI__Product__c

    Specifies the configured product.

    ✔

    Advanced: Retrieve Data Using Apex Classes

    Use the Advanced DataSource feature when you need to fetch data from external API servers or perform complex logic for data retrieval and merging. To set up Advanced DataSource, you must write an Apex Class. This approach provides greater flexibility compared to the Basic DataSource for fetching and processing data.

    1

    Writing an Apex Class

    When writing an Apex class, you must implement the interface provided by SmallBuilder.

    2

    Advanced Data Source Configuration

    Once the Apex class implementation is complete, proceed with the Advanced Data Source Configuration in the builder.

    STEP 1: Implement the Interface for Writing an Apex Class

    To use an Apex Class with Advanced DataSource, you must implement the SBLI.DataSourceService.Fetchable interface.

    This interface includes the execute method, where you implement logic for processing data and returning an SBLI.DataSourceService.Result object. The result contains mapping information between the fetched data and the Lookup or Line Item objects.

    Example Code

    The following example assumes an external API is called to retrieve inventory quantities by product code. The data is then mapped to the Inventory__c field in the Lookup or Line Item object.

    The SBLI.DataSourceService.Fetchable interface is provided by the package. Both the Apex class and the methods must be declared as global to allow external access.

    1

    Fetch Parent and Lookup Records

    • params.getParentRecord(): Retrieves the parent record of the object.

    • params.getLookupRecords(): Retrieves the list of records from the Lookup object.

    2

    SBLI.DataSourceService.Parameter

    An object containing information about the parent and lookup parameters configured in the builder.

    Example Code

    Methods

    SObject getParentRecord()

    Returns the parent record. If no parent parameter is configured in the builder, the value is empty.

    List getLookupRecords()

    Returns the lookup records. If no lookup parameter is configured in the builder, the value is empty.

    SBLI.DataSourceService.Result

    An object that contains all mapping information between the DataSource and the Lookup or Line Item objects, which is returned to the editor.

    Mapping information is stored in SBLI.DataSourceService.Action objects, which are then added to the SBLI.DataSourceService.Result object and returned.

    Example Code

    Methods

    addAction(SBLI.DataSourceService.Action action)

    Adds an Action object containing mapping information to the Result object.

    Parameter
    Type
    Value

    SBLI.DataSourceService.Action

    An object that stores mapping information between the Lookup or Line Item and the DataSource values.

    Example Code

    Methods

    setKeyValue(Object keyValue)

    Sets the DataSource Key value that matches the Lookup or Line Item Key.

    Parameter
    Type
    Value

    putSourceToTargetField(Object sourceValue, String targetFieldApiName)

    Assigns the DataSource value to the specified Lookup or Line Item field.

    Parameter
    Type
    Value

    STEP 2: Advanced DataSource Configuration

    After selecting the Apex Class, specify the fields to be passed as parameters if the class requires parent or lookup information.

    Ensure the Apex Class is written before configuring the DataSource.

    No.
    Attribute
    Description
    Req.

    Prepare DataSource Values

    • Data is fetched from an external API server (e.g., inventory information).

    • In the example, inventory quantities are mapped based on ProductCode.

    3

    Generate Result

    • An SBLI.DataSourceService.Action object is created to map the fetched data (e.g., inventory quantity) to the target field (Inventory__c).

    • The action is added to the SBLI.DataSourceService.Result object.

    4

    Return the Result

    The Result object, containing all mapping information, is returned to the editor.

    Add a parent object’s field as a parameter if the Apex Class implementation for the DataSource requires a field value from the parent object.

    4

    Parameter - Lookup Fields

    Add a lookup object’s field as a parameter if the Apex Class implementation for the DataSource requires a field value from the lookup object.

    5

    Evaluation Event

    Set the execution timing for the DataSource.

    • On Initialization: Executes when a new Line Item is added.

    • On Loading: Executes when the Line Item screen is loaded.

    • Before Save: Executes before a Line Item is saved.

    ❗ Available only for Line Items.

    6

    Active

    Turns the DataSource on or off. It must be active to be used.

    ✔

    action

    SBLI.DataSourceService.Action

    The object containing mapping information between the Lookup/Line Item and the DataSource values.

    keyValue

    Object

    The Key value from the DataSource.

    sourceValue

    Object

    The value from the DataSource.

    targetFieldApiName

    String

    The API name of the target field in the Lookup or Line Item object.

    1

    Apex Class

    Select the Apex Class to be used for the DataSource.

    ✔

    2

    Key Field

    Specify the Key Field to map data retrieved via the DataSource to the Lookup or Line Item records. The Key Field must be a field from the Lookup object. 💁 Why use a Lookup object’s field as the Key for Line Items? Since Line Items may include unsaved records, determining a unique Key value for mapping is not feasible. Using a field from the Lookup object ensures reliable mapping.

    ✔

    3

    Parameter - Parent Fields

    Map<String, Integer> inventoryData = new Map<String, Integer>(); 
    inventoryData.put('Product001', 10);
    inventoryData.put('Product002', 20);
    // Create result object
    SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
    
    // Map DataSource values to Lookup/Line Item objects
    for (String productCode : inventoryData.keySet()) {
        SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
        action.setKeyValue(productCode); // Set Key value for mapping with Lookup/Line Item records
        action.putSourceToTargetField(
            inventoryData.get(productCode), // DataSource value: inventory quantity
            'Inventory__c'                 // API name of the target field in Lookup/Line Item
        );
        result.addAction(action); // Add Action to the result
    }
    global class DataSourceInventory implements SBLI.DataSourceService.Fetchable {
        global SBLI.DataSourceService.Result execute(SBLI.DataSourceService.Parameter params) {
            // Fetch parent record
            SObject parentRecord = params.getParentRecord();
    
            // Fetch lookup records
            List<SObject> lookupRecords = params.getLookupRecords();
            
            // Fetch data from external API (e.g., inventory information)
            // Key: Product Code, Value: Inventory Quantity
            Map<String, Integer> inventoryData = new Map<String, Integer>(); 
            inventoryData.put('Product001', 10);
            inventoryData.put('Product002', 20);
    
            // Create result object
            SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
    
            // Map DataSource values to Lookup/Line Item objects
            for (String productCode : inventoryData.keySet()) {
                SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
                action.setKeyValue(productCode); // Set Key value for mapping with Lookup/Line Item records
                action.putSourceToTargetField(
                    inventoryData.get(productCode), // DataSource value: inventory quantity
                    'Inventory__c'                 // API name of the target field in Lookup/Line Item
                );
                result.addAction(action); // Add Action to the result
            }
            
            return result; // Return result
        }
    }
    // Fetch parent record
    SObject parentRecord = params.getParentRecord();
    // Fetch lookup records
    List<SObject> lookupRecords = params.getLookupRecords();
    DataSourceInventory.cls
    global SBLI.DataSourceService.Result execute(SBLI.DataSourceService.Parameter params) {
        SObject parentRecord = params.getParentRecord();
        List<SObject> lookupRecords = params.getLookupRecords();
        ...
    }
    DataSourceInventory.cls
    SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
    for (String productCode : inventoryData.keySet()) {
        // Store mapping information in the SBLI.DataSourceService.Action object
        SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
        action.setKeyValue(productCode);
        action.putSourceToTargetField(
            inventoryData.get(productCode), // DataSource value
            'Inventory__c'                 // Field API name
        );
        result.addAction(action); // Add the Action to the Result
    }
    return result;
    DataSourceInventory.cls
    SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
    // Iterate over product codes and inventory data in the DataSource
    for (String productCode : inventoryData.keySet()) {
        SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
        // Map the product code to the Lookup/Line Item Key
        action.setKeyValue(productCode);
        
        // Map inventory data to the Inventory__c field in the Lookup/Line Item
        action.putSourceToTargetField(
            inventoryData.get(productCode), // DataSource value: inventory quantity
            'Inventory__c'                 // Field API name
        );
        result.addAction(action); // Add mapping information
    }
    return result; // Return the final result