Quote Item Builder Setup

Prerequisites

Setting Up the Quote Item Builder

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "static" in the Quick Find box, then select Static Resources

  4. Complete one of the following:

    • If the en_US file displays in the list, proceed to step 11.

    • If the en_US file doesn’t display in the list, proceed to step 5.

  5. Download the en_US file

  6. Extract the file and save it to your local computer

  7. Move back to FieldFX Back Office

  8. Click New

  9. Complete the following:

    1. In Name, enter "en_US"

    2. In Cache Control, select "Public"

    3. Click Choose File

    4. Select the en_US file you downloaded

  10. Click Save

  11. Configure the Quote Details fields

  12. Configure the Item grid

  13. Configure the Item picker

Quote Details

Basics

The Quote Details section displays basic quote information.

Screenshot of the Quote Details section

Selecting the Fields to Display

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote

  5. Under Compact Layouts, click New

  6. Complete the following:

    1. In Label, enter "Quote Details"

    2. In Available Fields, select the fields to include

    3. Click Add

    4. In Selected Fields, change the order

    5. Click Save

  7. Click Compact Layout Assignment

  8. Complete the following:

    1. Click Edit Assignment

    2. Under Record Type Overrides, select Quote

    3. In Compact Layout to Use, select "Quote Details"

    4. Click Save

Item Grid

Fields

Basics

The Item grid displays the quote items on a quote.

Screenshot of the Quote Item List configuration grid

Page layouts control the fields and header that display on the Item grid, as follows:

Layout Result Note

Master Layout

Controls the fields that display on the Item Grid when you are viewing All items.

The fields on this layout must also display on record type layouts before they will display data.

Equipment Layout

Controls the fields that display on the Item Grid when you select the Equipment filter.

The fields on these layouts must also display on the Master layout before they any display data.

Labor Layout

Controls the fields that display on the Item Grid when you select the Labor filter.

Service Layout

Controls the fields that display on the Item Grid when you select the Service filter.

Supplies Layout

Controls the fields that display on the Item Grid when you select the Supply filter.

Selecting the Fields to Display

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote Item

  5. Under Page Layouts, click Edit next to Quote Item Layout

  6. Change the fields

    To sort quote items by sequence number, include the Sequence Number field on the Quote Item Layout.
  7. Click Save

Configuring a Field to Display Read-Only

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote Item

  5. Under Custom Fields & Relationships, click the field name

  6. Click Set Field-Level Security

  7. Select Read-Only next to the user profiles on which to impose the read-only restriction

  8. Click Save

Fields use a combination of page layout and field-level security settings and the most restrictive field setting always applies.

For example, if you make a field required in the page layout security settings and read-only in the field-level security settings, the field displays read-only for the user profiles specified in the field-level security settings.

FX Header

Basics

The expandable and collapsible FX Header displays at the top of the Item grid for quotes, defaulting to collapsed when first accessed.

Screenshot of Quote Items in the mobile application with arrow pointing to the Header label

Adding the FX Header to the Quote Item Grid

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote

  5. Click Edit next to the applicable page layout

  6. Drag Section below Standard Buttons on the Quote Detail

    Screenshot showing where to drag and place the Section in FieldFX Back Office

    The Section Properties window displays.

  7. In Section Name, enter "FX Header"

    The Section Name must be entered precisely as shown to meet script requirements.

    Section Name is case-sensitive.

  8. In Layout, select 2-Column

  9. Click OK

  10. Drag fields into the FX Header section

  11. Click Save

Validation Rules

Basics

You can add validation rules to prevent users from updating specific fields when editing quote items.

Adding a Validation Rule for the Description Field

Complete the following to add a validation rule that prevents users from updating the Description field for quote items

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote Item

  5. Under Validation Rules, click New

  6. In Rule Name, enter "Locked Description"

  7. Under Error Condition Formula, enter the following formula:

    AND(FX5__PBI_Locked_Description__c, ISCHANGED(FX5__Description__c))
  8. In Error Message, enter the following:

    You cannot change the description because it is locked.
  9. In Error Location, complete one of the following:

    • Select Top of Page to display validation error messages at the top of the page.

    • Select Field and "Description" to display validation error messages inline next to the Description field.

  10. Click Save

Adding a Validation Rule for the Discount Percent Field

Complete the following to add a validation rule that prevents users from updating the Discount Percent field for quote items.

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote Item

  5. Under Validation Rules, click New

  6. In Rule Name, enter "Locked Discount"

  7. Under Error Condition Formula, enter the following formula:

    AND(FX5__PBI_Locked_Discount__c, ISCHANGED(FX5__Discount_Percent__c))
  8. In Error Message, enter the following:

    You cannot change the discount percentage because it is locked.
  9. In Error Location, complete one of the following:

    • Select Top of Page to display validation error messages at the top of the page.

    • Select Field and "Discount Percent" to display validation error messages inline next to the Discount Percent field.

  10. Click Save

Adding a Validation Rule for the Price Field

Complete the following to add a validation rule that prevents users from updating the Price field for quote items.

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Quote Item

  5. Under Validation Rules, click New

  6. In Rule Name, enter "Locked Price"

  7. Under Error Condition Formula, enter the following formula:

    AND(FX5__PBI_Locked_Price_Markup__c, ISCHANGED(FX5__Price__c))
  8. In Error Message, enter the following:

    You cannot change the price because it is locked.
  9. In Error Location, complete one of the following:

    • Select Top of Page to display validation error messages at the top of the page.

    • Select Field and "Price" to display validation error messages inline next to the Price field.

  10. Click Save

Item Picker

Search Results

Basics

Search results display at the bottom of the Item picker.

Screenshot of an example of the Quote Item Builder’s search results

You can add price book items in the search results to a quote.

Selecting the Fields for Search Results

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "object" in the Quick Find box, then select Objects

  4. Click Price Book Item

  5. Under Search Layouts, click Edit next to Search Results

  6. Complete the following:

    1. In Available Fields, select the fields to include

    2. Click Add

    3. In Selected Fields, select the fields to remove

    4. Click Remove

    5. In Selected Fields, change the order

    6. Select Override the search result column customizations for all users

    7. Click Save

Picker Width

Basics

You can set the width of the Item picker to control how far it displays across the page.

Setting the Picker Width

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "custom setting" in the Quick Find box, then select Custom Settings

  4. Click Manage next to FX Settings

  5. Click Edit

  6. In TktItemBldr PBI MaxFlyoutWidth, specify the picker’s width when it flies across the page

    Use a width between 500-1000.
  7. Click Save

Custom Lookups

Basics

The Custom Lookups feature improves how lookups work on the Item grid.

This powerful feature gives you the ability to:

  • Limit the records that display available in lookups

  • Define the fields that display in lookups

  • Define the fields analyzed for keyword searches in lookups

Examples

Contact Lookup

Here’s an example of how you can configure a Contact lookup.

Setting Value Impact

QueryFilter

(LastName=NULL OR LastName LIKE 'S%')

Only contacts with a blank last name or a last name starting with the letter "S" display available for selection.

QueryFields

FirstName, LastName, FX5__Office__r.Name

The listed fields display for contacts in search results.

KeywordSearchFields

LastName

Keyword searches analyze the last name of contacts.

OrderBy

LastName

Contacts sort in alphabetical order by last name.

Equipment Lookup

Here’s an example of how you can configure an Equipment lookup.

Setting Value Impact

QueryFilter

(FX5__Office__r.Name LIKE 'H%')

Only equipment linked to offices starting with the letter "H" displays available for selection.

QueryFields

Name, FX5__Description__c, FX5__Office__r.Name

The listed fields display for equipment in search results.

KeywordSearchFields

Name, FX5__Description__c

Keyword searches analyze the name and description of equipment.

OrderBy

Name

Equipment sorts in alphabetical order by name.

Configuring Custom Lookups

Scenario

As an example, we will show you how to configure a Contact lookup.

  1. Add a CSF_Settings static resource:

    1. Open a text editor

    2. Enter the following to name the static resource:

      window.csf_settings = {
    3. Enter the identifying code for the Quote Item Builder and Item grid:

      window.csf_settings = {
        qib: {
          maingrid: {
    4. Enter the API name of the lookup:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
    5. Enter a SOQL query to restrict the records that display available for selection in the lookup:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
                "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')",
      Refer to the SOQL reference documentation for more information on how to write SOQL queries.
    6. Enter the fields to display for records in search results:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
                "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')",
                "QueryFields": "FirstName, LastName, FX5__Office__r.Name",
      In this example, the First Name, Last Name, and Office fields display for records.
    7. Enter the fields to analyze in keyword searches:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
                "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')",
                "QueryFields": "FirstName, LastName, FX5__Office__r.Name",
                "KeywordSearchFields": "LastName",
      In this example, keyword searches analyze values in the Last Name field.
    8. Enter the field by which to sort records:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
                "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')",
                "QueryFields": "FirstName, LastName, FX5__Office__r.Name",
                "KeywordSearchFields": "LastName",
                "OrderBy": "LastName"
      In this example, records sort in alphabetical order by last name.
    9. Add braces { } to end the lookup configuration:

      window.csf_settings = {
        qib: {
          maingrid: {
            "Contact__c": {
              "Contact__c": {
                "QueryFilter": "(LastName=NULL OR LastName LIKE 'S%')",
                "QueryFields": "FirstName, LastName, FX5__Office__r.Name",
                "KeywordSearchFields": "LastName",
                "OrderBy": "LastName"
              }
            }
          }
        }
      };
      Every left brace { should have a matching right brace }.
    10. Save the file with "CSF_Settings" as the file name.

  2. Upload the CSF_Settings file to FieldFX Back Office:

    1. Access FieldFX Back Office

    2. Switch to Salesforce Classic

    3. From Setup, enter "static" in the Quick Find box, then select Static Resources

    4. Click New

    5. In Name, enter "CSF_Settings"

    6. In Cache Control, select "Public"

    7. Click Choose File

    8. Select the CSF_Settings file

      When you upload a new CSF_Settings file, the lookup configurations in the new file replace any existing lookup configurations.
  3. Test the Contact lookup.

    1. Open the Quote Item Builder

    2. Open the Contact lookup

    3. Verify that the lookup works as configured

Classification Filters

Basics

Classification filters give you the ability to sort items by classification on the Item grid and Item picker.

Setting Up Classification Filters

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. Add a Catalog Classification field to the Quote Item object:

    1. From Setup, enter "object" in the Quick Find box, then select Objects

    2. Click Quote Item

    3. Under Custom Fields & Relationships, click New

    4. Select Lookup Relationship

    5. Click Next

    6. In Related To, select "Classification"

    7. Click Next

    8. In Field Label, select "Catalog Classification"

    9. Click Next

    10. Click Visible twice

    11. Click Next

    12. Select the page layouts on which to include the field

    13. Click Next

    14. Click Save

  4. Grant field permissions:

    1. Grant users Read and Edit permission for the Catalog Classification field on the Quote Item object

  5. Run a script for the Catalog Classification field:

    1. Access Workbench

    2. Select UtilitiesApex Execute

    3. Enter the following script:

      System.debug(FX5.FXWorkerLauncher.DoWork('FX5.CustomFieldInfoHandler', null));
    4. Click Execute

Barcode Scanning Feature

Basics

The Barcode Scanning feature gives you the ability to scan barcodes on items to add them to quotes.

This feature is ideal when you need to add large numbers of parts and/or supplies to quotes.

Setting Up the Barcode Scanning Feature

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. Add a Barcode field to the Price Book Item object:

    1. From Setup, enter "object" in the Quick Find box, then select Objects

    2. Click Price Book Item

    3. Under Custom Fields & Relationships, click New

    4. Select Text

    5. Click Next

    6. In Field Label, enter "Barcode"

    7. In Length, enter "255"

    8. Click Next

    9. Click Visible twice

    10. Click Next

    11. Select the page layouts on which to include the field

    12. Click Save

  4. Update page layouts for the Equipment object:

    1. From Setup, enter "object" in the Quick Find box, then select Objects

    2. Click Equipment

    3. Under Page Layouts, click Edit next to a page layout for FieldFX Back Office

    4. Add the Barcode field to the layout

    5. Click Save

    6. Repeat steps b to e for other page layouts as needed

  5. Configure FX Settings:

    1. From Setup, enter "custom setting" in the Quick Find box, then select Custom Settings

    2. Click Manage next to FX Settings

    3. Click Edit

    4. In Equipment exact match search field, enter "FX5__Barcode__c"

    5. In PriceBookItem exact match search field, enter "Barcode__c"

    6. Click Save

  6. Grant field permissions:

    1. Grant users Read and Edit permission for the Barcode field on the Equipment object

    2. Grant users Read and Edit permission for the Barcode field on the Price Book Item object

  7. Run a script for the Barcode field:

    1. Access Workbench

    2. Select UtilitiesApex Execute

    3. Enter the following script:

      System.debug(FX5.FXWorkerLauncher.DoWork('FX5.CustomFieldInfoHandler', null));
    4. Click Execute

  8. Add barcodes to equipment:

    1. Open the Equipment tab

    2. Open the Equipment item

    3. Click Edit

    4. Click in the Barcode field

    5. Scan the barcode on the equipment

    6. Repeat steps b to e for other Equipment items as needed

  9. Add barcodes to price book items:

    1. Open the Price Book Items tab

    2. Open the price book item

    3. Click Edit

    4. Click in the Barcode field

    5. Scan the barcode on the item

    6. Repeat steps b to e for other Price Book Items as needed

Scanning an Item

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. Open the quote

  4. Click Quote Item Builder

  5. Click in the Barcode field

    Screenshot of the FieldFX Back Office showing the Price Book Item Barcode field
  6. Scan the barcode on the item

    The item now displays in the Item grid.

    You can also add an item manually by typing the barcode and clicking Add.

Quote Item Builder Button

Basics

The Quote Item Builder button displays at the top of a quote in FieldFX Back Office.

Screenshot showing the Quote Item Builder button in FieldFX Back Office

Changing the Name of the Quote Item Builder Button

  1. Access FieldFX Back Office

  2. Switch to Salesforce Classic

  3. From Setup, enter "translation" in the Quick Find box, then select Override

  4. In Package, select "FieldFX Base Package"

  5. In Language, select "English"

  6. In Setup Component, select "Button and Link Label"

  7. In Object, select "Quote"

  8. Double-click the Button or Link Label Override column next to Quote Item Builder

  9. Enter a new button name

  10. Click Save

Hiding Quote Item Builder Components

Basics

To make things easier for users, you can hide unused components on the Quote Item Builder.

Hiding Components on the Quote Item Builder

  1. Add the pageSettings_QIB FX Setting:

    1. Access FieldFX Back Office.

    2. Switch to Salesforce Classic

    3. From Setup, enter "custom setting" in the Quick Find box, then select Custom Settings

    4. Click FX Settings

    5. Under Custom Fields, click New

    6. Select the Text data type

    7. Click Next

    8. In Field Label, enter "pageSettings_QIB"

    9. In Length, enter "255"

    10. Click Next

    11. Click Save

  2. Select the components to hide:

    1. Click Manage at the top of the page

    2. Click Edit

    3. In pageSettings_QIB, enter the names of the components to hide (use commas to separate the values):

      • Enter "HideBarCodeReader" to hide the Barcode field

      • Enter "HideBulkEdit" to hide the Bulk Update button

      • Enter "HideCopy" to hide the Copy Selected button

      • Enter "HideDelete" to hide the Delete Selected button

      • Enter "HideHeader" to hide the Quote Details section

      • Enter "HideItemSearch" to hide the Keyword Search field above the Item grid

      • Enter "HidePicker" to hide the Item picker

      • Enter "HideSelectChildren" to hide the Add Child Items button for dynamic parent items

      • Enter "HideSortByMostRecent" to hide the Sort by Most Recent option above the Item grid

      • Enter "HideStagePricing" to hide the Apply Stage Pricing button

    4. Click Save