Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Understanding Data Refresh in the Quote

Refreshing Columns and Fields

Refreshing columns/fields by refreshing datasources used for Line item data enrichment. This type of data is refreshed:

  • Explicitly when an end user (or an API) manually triggered a Refresh Datasource action
  • According to a Refresh Policy positioned on the datasource maps
    • None = no automated refresh (unless the entire line item is refreshed)
    • Once = only at line creation first time it is triggered
    • Each input = automatically depending on changes of the input parameters
      • when one of the input values of the map changes
      • or when one of the implicit/system inputs changes (a typical example of that is when a Pricing datasource returns a price in EUR and the end-user changes the currency to US
    • Reload = when a quote session if launched (quote is re-opened or created)
    • Each input and reload = when one of the event is raised.


  • When the complete Line Item structure is refreshed and re-evaluated (see below)

Beware that some datasource settings (as well as some input map parameters) can be flagged as "MANDATORY".

The datasource will not be refreshed while those elements are not populated.



Refreshing columns/fields can be done with data maps. See Quote Designer - Data source.

Refreshing Lines

  • Explicitly when an end user (or an API) manually triggered the Refresh Line action

As a consequence of the refresh of a product or bundle root line

  • in that case all sub-lines of that root product (i.e. the complete Bill of Material / product structure) are refreshed.
  • automatically when structural changes happens in the quote
  • See Automated Line Refresh Scenarios below

When a line is refreshed, the behavior is the same as if the line was deleted, then added again. All data providers (line and product data maps) are then re-executed. There are some specificities for Product Bundles, see below.

See Understanding Calculations in the Quote.

The only difference compared to an initial line creation is that User inputs and choices can be restored once the line is refreshed (this behavior can be configured on the refresh action).



Note: In some situations, when a product line item is refreshed, the matched line template may be different once the line is re-evaluated. As a consequence some user choices may be lost as the structure of the destination line template may be different than the original one. See Quote Designer - User Interface - Actions - Refresh for more details on the "Keep User Inputs" option.

Keep User Input for Products with Sublines

On the refresh action, the administrator can define if he wants to keep user choices (Keep user input).

In the context of a bundle and all products having sub lines (including configurations, subscriptions ...), when KeepUserInput = true :

  • the user choices on the root line are kept.
  • the user choices of the sub-lines are kept only if the elements of FPK have not been overriden by the end user
  • Indeed, when refreshing a product, the sublines are created from scratch, then matched to a potential existing subline, then user choices are kept. Thus, if user choices are part of the FPK, the new created line will not match an existing line in the quote, and then user choices are lost.

AUTOMATED LINE REFRESH SCENARIOS

Refresh line may happen with the user changes some elements of the quote structure or the quote/line item manually. Moving a FOLDER, a SPECIFIC or a BUNDLE_SPECIFIC line from a quote location to another one will not refresh the line item. It will check that the line can be inserted at that particular location in the quote but will not re-evaluate the line template of the line. On the contrary, for PRODUCT lines, copy/pasting or moving an existing line from one place to another one will follow a specific refresh mechanism:

  • When the destination location is the root QUOTE or a FOLDER
    • If the line template of the line that is moved or duplicated is authorized to be inserted at that location, the line is added as-is (no refresh)
    • If the line template of the line that is moved or duplicated is NOT authorized to be inserted at that location, an error message is raised.
  • When the destination location is a BUNDLE_PRODUCT or a BUNDLE_SPECIFIC (coming soon)
    • The line is refreshed. It is inserted as if it was a new line i.e. the template of the line will be re-evaluated
    • Once the line template is identified, the UserChoices/UserInputs of the source line will be applied to the new destination line.

Product Bundle Refresh Specificities

Bundle is a hierarchical product in the Performance Quoting module. (See Quote Data Manipulations Functions > Product Bundling)

On the refresh action, a dedicated setting drives how the bundles in the refresh scope must be refreshed (Refresh Bundle Mode):

  • Reset all - as for the line refresh, the behavior is the same as if the line was deleted, then added again. All data providers (line and product data maps) are then re-executed.
  • Reset non mutated only - only non mutated bundles will be refreshed.

MUTATED BUNDLES

When a bundle is added to the quote, the bundle is considered as non mutated (meaning the bundle structure is the same in the quote and in the catalog (which hosts the bundle definition). During the quote process, the content of the bundle can be updated and then the bundle can be considered "mutated". The following actions will mutate a bundle:

  • Changing the order of the sub lines (only the structural order is updated. Indeed, a sort on the grid may affect visually the order of the sub lines but it won't affect the structure. However, moving a line will update the structure)
  • Adding a sub line
  • Deleting a sub line
  • Changing the quantity of a sub line

RESET ALL

When a bundle is refreshed with the "Reset All" bundle refresh mode, the behavior is the same as if the bundle was deleted and then added again.

  1. The root line is refreshed.
  2. Sub lines are refreshed.
    • Reevaluate which products are included in the bundle by going through the Bundle kind of product link.
    • Reevaluate associated quantities.
    • Reevaluate sub lines order.
    • Refresh lines for already existing products.
    • Add lines for missing products
    • Delete lines for products that doesn't belong to the current bundle from the catalog (if some products/specific lines have been manually added by the user, then those will be lost.

RESET NON MUTATED ONLY

When a bundle is refreshed with the "Reset non mutated only" bundle refresh mode, the behavior depends on the "state" of the bundle (mutated/non mutated). For "Non mutated bundles", the refresh will be performed as for the "Reset all" mode. For mutated lines, the refresh won't affect the bundle structure (the list of products included in the bundle, the order of the sub lines and the quantities on the sub lines are not refreshed).

This means:

  • The root line is refreshed.
  • The sub lines are refreshed.
    • If the product is still part of the bundle, data on the link and product data are refreshed (except the quantity).
    • If the product is not part of the bundle anymore, only product data are refreshed (data retrieved from the product link are cleared).

Configurable Products Specificities

Refreshing a Configurable product follows the same rules as other PRODUCT-typed elements in the Quote:

  • On a full refresh, the associated Configuration Process is run again and all data sources in the product hierarchy - if any - are refreshed.
  • On selective/column refresh actions, involving some data sources or not, only the associated quote cells are updated. The Configuration Process is not run again.

Versioning

When refreshing the Quote from different sources, the Quote refers to data sources. It means that the value provided by the data source will be the new value for the corresponding refreshed part of the Quote.

In addition, the data source refresh is ruled by several parameters, the application date and version number among them being mandatory.

Based on those two parameters, here is how the versioning of Configurable Products is taken into account in the Quote:

  • All the Configurable Products in a given quote are all refreshed based on the same version number, whatever the version in which they have been added to the quote
  • During a Quote refresh, if the version number parameter has a value, all the Configurable Products already in the Quote, whatever the version in which they have been added to the Quote, must be run again in the version corresponding to the version number from the data source
  • During a Quote refresh, if the version number parameter is empty or not filled, all the Configurable Products already in the Quote, whatever the version in which they have been added to the Quote, must be run again in the version corresponding to the active version at the time given by the application date from the data source.

The version number stored in the Configuration XML structure at the Quote line level is never used when refreshing Configurable Products in the Quote.

Warning

Change Tracking

Change Tracking in the quote is not supported for Configurable Products.