Quote Headers

Quote Headers can extend the default fields and behavior of Epicor CPQ quotes with additional enhancements to fill your business needs.

A quote header is smart, much like a configurator, in that you can add fields, define rules and option filters on the fields, and arganize these fields visually with tabs and other UI components. You can also reference these header fields in your workflow and outputs.

By default, quotes contain fields such as name, description, currency, and customer/contact. However, your business may require additional information to be filled out, such as a closing date, billing terms, and other quote-related data.

You can control viewing or modifying the fields on a quote header.

  • Permissions on the workflow and in the permissions screen can enable or disable viewing or modifying of all of the fields in a quote header. 
  • Visibility and validation rules can disable or hide individual UI elements within the quote header.

You can create multiple quote headers, but only one quote header can be used at any one time.

Quote Header Properties

Property Description
Name

The name of the Quote Header. This will only be used for admins' reference in the portal.

Short Description

A more detailed description of the Quote Header

Run Quote Rule When Saving New Quote If unchecked, the quote rule will only run upon changes made subsequent to the initial save. By checking this, the quote will also run when the quote is being newly saved.

UI Elements of the Quote Header

You can define fields and other UI elements to be added to the quote header UI. Quote Headers have a "Basic" page that cannot be redesigned or removed. But other pages can be added.

When drawn on-screen, the quote header UI is slightly different from that of a configurator.  Quote header pages are organized into tabs across the top of the quote screen, instead of down one side of the screen.   Groups on those pages also flow across the screen, instead of down.  For example, this quote header design has a "customer information" page added with two groups.

This"Customer Information" page appears after the standard "Basic" page, with the two groups appearing next to each other:

 

Option Filters

Just like configurators, quote header select fields can be narrowed down using option filters. Option filters in quote headers are defined identically to option filters in configurators.

Rules

Quote headers use similar rules to configurators, including value rules, validation rules, and visibility rules. In addition, quote headers have a quote rule type, which is run on the server each time a field changes. Because they are run on the server, you can make database calls, and perform logic which you may want to hide from the end-user.

Mass Updates

Since a quote header has access to all the child products within it, including configured products, you can use the quote header to make mass updates to all the products within a quote.

For example, a customer has configured several different custom doors on a quote. They can easily change the finish on all the door handles from silver to bronze, without having to open each individual door configurator in the quote.

To implement, create a quote rule that loops through all the products in the quote's products array, setting various fields. Here, for example, we ensure that all the child products "color" values match that of the quote header:

Mass updates may take time.
If you have many configurators in a quote, such a process could take many minutes to complete since any field update on a configurator causes the rule cycle to run on that configurator.

Usually, such mass updates are done at the quote header through an administrative page, visible only to select roles. Best practice would be to have in the quote header:

  • a dropdown to select which products to update
  • a dropdown to select which field to update
  • a field to enter the new value
  • a button to trigger the "mass update"

That button either contains the Snap code, or (since we try to avoid code hidden in a button rule) would call a function that contains the code.

Localizing your Quote Header

To localize your quote header to a new language, follow the same procedure documented for localizing configurators.

Was this article helpful?