Kit Engine

Kit Engine calculates a price for a given product based on subcomponents and quantities defined in a standard BOM Data table.

A Kit Price is a sum of all of its subcomponent prices multiplied by provided quantities. There is no limit on how many levels of “subcomponent of subcomponent” are defined. If more than one level is present, we sum all the prices “at the bottom of the tree” using proper quantity factors.

The engine runs a cycle detection algorithm on the input BOM data. It throws an exception if a cycle is found.

This engine works properly only when all connected products are added to the same Price List or Live Price Grid.

Important notes:

  • This engine uses the re-run (“marked as dirty”) functionality of Pricefx. It means that you should not mix products that are used by other engines that mark items as dirty (e.g. Anchor Engine) in one PL/LPG. It can lead to undefined behavior and wrong results.

  • Because this engine doesn’t return a price after the first calculation, if it is used as Base Strategy, it will not be shown in the “Prices” popup. The strategy will appear only when the second calculation run completes.

  • If the used Price List or Live Price Grid are of the Matrix type, the engine assumes that the secondary key is used for storing the volume information and will search for a subcomponent product with the secondary key equaling to 1.

Input Parameters

Input

Type

Description

Input

Type

Description

SKU

String

SKU of the calculated product

BOM List

List

BOM List for the currently calculated product as returned by api.bomList() or in the same format.

Final List Price Element Name

String

Name of the element that keeps the Final List Price. It is used for subcomponent price lookups if the calculation is in the Net mode.

Final Price Element Name

String

Name of the element that has the Final Price. It is used for subcomponent price lookups if the Final List Price element is empty. It usually happens during Gross calculation.

Additional Engine Configuration

This engine does not have any additional configuration.

Default Strategy Calculation Parameters

SKU,BOM_LIST,FINAL_LIST_PRICE_ELEMENT_NAME,FINAL_PRICE_ELEMENT_NAME