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

Managing Discount Information

This step allows you to manage discount information for standard items.

Tip: Before addressing this step, make sure that at least one discount method has been defined.

Whereas pricing methods focus specifically on managing prices for the products in a collection, a discount method offers a convenient way to manage discounts on these catalog items. Discount methods can be used for multiple purposes:

  • Offer global or specific discounts during specific periods, for specific criteria (like market segments), without impacting the official list price for catalog items.
  • Automatically apply taxes all the while maintaining prices excluding value added taxes.
  • Set up customer-specific price contracts, enabling to specify discounts for a customer (or customer group) and for a product (or group of products) and for a given period.
    Warning: At present, volume-based discounting (discounts based on the item quantity) is not supported by the discount method.

A Discount Method allows specializing catalog item prices depending on different functional criteria. It represents a list of discount decisions that can:

  • Define a discount amount.
  • Define a discount percentage.
  • Define a new price that will override the original one.

Discounts methods are composed of discount aliases, discount ranges and discount types.

Definition: A Discount Alias represents a criterion that is important in order to decide which value to apply.

For instance, in order to determine the contractual discount, it is important to know the customer

group as well as the product group.

Definition: A Discount Range represents a specific variation or a specific aspect of that discount.

Once the discount method has been defined, discounts can be input for the products belonging to a workspace or a collection.

information: A discount is determined in a certain period, and for a certain currency.

The following shows an example of the pricing and associated discounts for one standard item:



In the above-mentioned figure, the column “Discount Type” mentioned the exact decision to apply.

Definition: A Discount Type represents the decision to be taken when applying the discount. The following discount types are available:

  • Override: all price ranges will be replaced by the corresponding discount ranges.
  • Amount: all discount ranges will be deducted as a fixed amount from the corresponding price ranges.
  • Percentage: the discount ranges will be applied as a discount percentage to the corresponding price ranges.

Activating discounts

When applying discounts on a pricing method, the configuration settings will have to be updated accordingly. In order to activate the discount method called “dmLoyalty”, the following setting will have to be added:

CPE.Settings.Session.PricingMethod[1].DiscountMethod=”DSCM/dmLoyalty”

For the above-mentioned example, the CPQ engine will then behave as follows:

  • Check the pricing methods to be executed
  • For each pricing method, look up the associated discount method
  • For each standard item and for each pricing method
    • Look up the price (= all price ranges)
    • Look up the discount (= all discount ranges)
    • Apply the discount decision corresponding to the chosen discount type
      Warning: When looking up the discount, only one line as to apply. If multiple lines are found, there will be confusion about which discount to apply. In this case, CPQ will not apply the discount and a warning will be logged.

      Do Not: During a session, a given pricing method can only be associated to 1 discount method.

Case OK

CPE.Settings.Session.PricingMethod[1] =”PRGM/pmDefault”

CPE.Settings.Session.PricingMethod[1].DiscountMethod=”DSCM/dmDefault”

CPE.Settings.Session.PricingMethod[2] =”PRGM/pmDefault2”

CPE.Settings.Session.PricingMethod[2].DiscountMethod=”DSCM/dmDefault2”

Case NOT OK

CPE.Settings.Session.PricingMethod[1] =”PRGM/pmDefault”

CPE.Settings.Session.PricingMethod[1].DiscountMethod=”DSCM/dmDefault”

CPE.Settings.Session.PricingMethod[2] =”PRGM/pmDefault”

CPE.Settings.Session.PricingMethod[2].DiscountMethod=”DSCM/dmDefault2”

Viewing product discounts

IN ORDER TO VIEW THE DEFAULT DISCOUNTS FOR A SET OF PRODUCTS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in. If only one discount method has been created, it will automatically be selected.

[Via the “Explore structure” explorer]

  • Choose the catalog or a collection by selecting its name or description. or

[Via the “Explore Labels” explorer]

  • Choose the label by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Execute the “Choose period” function after having selected the right period of interest.
  • Alternatively, execute the “Go to date” function and choose the date of interest.

[In the menu toolbar]

  • Optionally, execute the “Show ranks” function after having selected the ranges of interest.

[In the menu toolbar]

  • Optionally, execute the “Show Undiscounted Products” function in order to view the products for which no discounts have been entered at all.

IN ORDER TO VIEW THE DISCOUNTS FOR AN INDIVIDUAL PRODUCT, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the product table]

  • Select the product of interest

[In the menu toolbar]

  • Execute the function “Add to selection”

[Via the “Explore selection” explorer]

  • Choose a product by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Execute the “Choose period” function after having selected the right period of interest.
  • Alternatively, execute the “Go to date” function and choose the date of interest.

[In the menu toolbar]

  • Optionally, execute the “Show ranks” function after having selected the ranges of interest.

Building up the discount structure

IN ORDER TO CREATE THE DISCOUNT STRUCTURE WHICH IS NECESSARY TO ENTER THE DISCOUNTS FOR ALL PRODUCTS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Optionally, switch from the “Show Undiscounted Products” or “Show Discounted Products” function

[In the menu toolbar]

  • Execute the “Add period” function in order to create a new discount period. In the popup:
    • Enter a name for the period. Beware: the name has to be unique for a given discount method. It is the unique identifier of the period and cannot be modified once created.
    • Enter a Label for the period.
    • Choose a start date for the period
    • Click OK

[In the menu toolbar]

  • Optionally, execute the “Add alias” function in order to create a new discount criterion. In the popup:
    • Enter a name for the alias
    • Enter a CPE for the alias
    • If necessary, flag the “must exist” checkbox
    • If necessary, flag the “must be answered” checkbox
    • Verify and, if necessary, update the CPE type.
    • Click OK.

[In the menu toolbar]

  • Save
    Tip: The discount structure you have just created is global for the workspace meaning that it will be present for every product in every collection in the workspace you are working on.

    The supported CPE for the criteria can be either external CPE (e.g. CPE.Settings.Session.mySetting), static CPE (e.g.

    CPE.workspace/SI/SI001.workspace/BPS/bps1.BP/bp1.value), dynamic configuration CPE (e.g. CPE.workspace/CP/myCP.workspace/FO/myForm.FP/myFp.value), as well as relative configuration CPE (CPE.currentForm.FP/myFP.value)

Editing product discounts

IN ORDER TO EDIT DISCOUNTS FOR A PRODUCT OR A GROUP OF PRODUCTS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Optionally, execute the “Show/Hide Alias” function.

[In the product table]

  • Edit the discounts in the column “Current Discount”.
  • Update the “Discount Type” if necessary

[In the menu toolbar]

  • Execute the “Save” function.
    Warning:

    The Designer does not require you to redefine all discounts in a new period if they do not change, because on-the-fly discount inheritance is supported by the CPQ Engine. Indeed, the CPQ Engine will automatically look up the latest "valid" discount, even if it has not been defined in the "latest" period. In the Designer, an inherited discount is indicated between square brackets, as follows: [10]. When editing discounts, you can: - Enter new discounts: give a discount for a previously empty cell - Update discounts: update an existing or inherited discount - Remove discounts: empty a cell

    Beware that a discount is composed of multiple discount ranges. Therefore, whenever you change one range in an inherited discount, you will have to make sure that all other ranges are also updated.

Managing discount variants

information: A discount variant is a specific combination of discount alias values for a certain product.

In the event that no discount aliases have been defined, only one variant can be defined per product. However, if multiple aliases have been created, standard item discount can be defined for each variant (i.e. for each specific combination of discount alias values).

IN ORDER TO CREATE NEW VARIANTS FOR A GIVEN PRODUCT, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the product table]

  • Select a product and execute the function “Add to selection”

[Via the “Explore selection” explorer]

  • Choose a product by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Execute the “Insert line” function after having selected a variant in the product discount table.

[In the product table] For the inserted line:

  • Specify an operator and a value for each discount alias (or leave them empty)
  • Specify the discount in the column “current discount”
  • Specify the “discount type”

[In the menu toolbar]

  • Save

Deleting product discounts

IN ORDER TO DELETE A DISCOUNT RANGE FOR A SET OF PRODUCTS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Execute the “Choose period” function after having selected the right period of interest.
  • Alternatively, execute the “Go to date” function and choose the date of interest. [In the menu toolbar]
  • Optionally, execute the “Show ranks” function after having selected the ranges of interest.

[In the product table]

  • Empty the discount range cell of interest.
    Warning: Again, beware that a discount is composed of multiple discount ranges. If you “empty” one range, you will not have a “discount” any longer for that range.

IN ORDER TO DELETE A DISCOUNT FOR A GIVEN PRODUCT, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the product table]

  • Select a product and execute the function “Add to selection”

[Via the “Explore selection” explorer]

  • Choose a product by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the menu toolbar]

  • Execute the “Choose period” function after having selected the right period of interest.
  • Alternatively, execute the “Go to date” function and choose the date of interest.

[In the menu toolbar]

  • Optionally, execute the “Show ranks” function after having selected the ranges of interest.

[In the product table]

  • Empty all discount range cells for the chosen period.
    Warning: When all discount range cells have been emptied for a certain period and a certain product, the inheritance mechanism will take over again, meaning that the discounts from the previous period will be used by the CPQ Engine.

IN ORDER TO DELETE SPECIFIC DISCOUNT VARIANTS COMBINATIONS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest.

[In the product table]

  • Tick the checkbox of the line for the specific combination(s) you would like to delete.

[In the menu toolbar]

  • Execute the “Delete line” function.

[In the menu toolbar]

  • Save

IN ORDER TO REMOVE A WHOLE SET OF DISCOUNTS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Select the catalog or the collection for which you want to delete the discounts

or

[Via the “Explore Labels” explorer]

  • Select the label for which you want to delete the discounts

or [Via the “Explore Selection” explorer]

  • Select the product for which you want to delete the discounts

[In the menu toolbar]

  • Execute the “Show currency” function after having selected the currency of interest. [In the menu toolbar]
  • Execute the “Choose period” function after having selected the right period of interest.
  • Alternatively, execute the “Go to date” function and choose the date of interest.

[In the “Explore structure” explorer]

  • Click on the icon of the collection or the label for which you want to remove the discounts

[In the menu toolbar]

  • Execute the “Empty discounts” function. In the popup:
  • Choose the scope of the operation in terms of periods (all versus current)
  • Choose the scope of the operation in terms of currencies (all versus current)
  • Click OK.

[In the menu toolbar]

  • Save.
    Warning: The “empty discounts” function will empty the discounts for all products for the given period and currency, regardless of the displayed collection or label.

Working with periods

IN ORDER TO DELETE AN EXISTING PERIOD, PROCEED AS FOLLOWS:

[In the menu toolbar] - Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar] - Execute the “Remove period” function after having selected the period of interest.

[In the menu toolbar]

  • Save
    Warning: The period will be deleted for the complete discount method you are working on and thus for all products having discounts in that discount method.

IN ORDER TO CHANGE AN EXISTING PERIOD, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Execute the “Update period” function after having selected the period of interest. In the popup:
    • You cannot update the name of the period
    • You can update the label and the start date of the period

[In the menu toolbar]

  • Save

Working with discount aliases

IN ORDER TO DELETE AN EXISTING ALIAS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the product table]

  • Remove all variants that would lead to double records once the alias has been removed (double records are not allowed)

[In the menu toolbar]

  • Execute the “Remove alias” function after having selected the alias of interest.

[In the menu toolbar]

  • Save
    Warning: You can only remove aliases that are displayed. If necessary, display the to-be-removed alias using the “Show/hide aliases” function in the menu toolbar.

IN ORDER TO CHANGE AN EXISTING ALIAS, PROCEED AS FOLLOWS:

[In the menu toolbar]

  • Select the view corresponding to the discount method you want to work in.

[Via the “Explore structure” explorer]

  • Open the catalog or a collection by selecting its name or description>

or

[Via the “Explore Labels” explorer]

  • Open a label by selecting its name or description

[In the menu toolbar]

  • Execute the “Update alias” function after having selected the period of interest. In the popup:
    • You can update the CPE of the alias
    • You can update the alias type (if it has not been automatically detected)

[In the menu toolbar]

  • Save
    Warning: If you change the type of the discount alias, the existing content of that column will become invalid and thus it will be deleted.

Exporting and importing discounts

In order to mass-update discounts, you can also export the collection to a CSV file, modify discounts in a spreadsheet, and import the collection again.

When exporting discounts, all discount ranges are exported for all products in the chosen scope (collection or label, currency, period).

IN ORDER TO EXPORT DISCOUNTS, PROCEED AS FOLLOWS:

[Via the menu toolbar]

  • Execute the “show currency” function after having chosen the currency of interest.
  • Click on the “export” button.

[In the “popup”]

  • Choose a CSV delimiter. Default value = “;”
  • Choose a list delimiter. Default value = “~”
  • Indicate the decimal separator to be used in the export file.
  • Indicate the encoding to be used by the export file.
  • Click “ok”.
  • The export process starts. The browser will allow you to open or save the CSV file to a certain location.

The import process is completely incremental.

IN ORDER TO IMPORT CSV FILES, YOU HAVE TO SPECIFY THE ACTION TO UNDERTAKE IN THE CSV FILE ITSELF, BY PROCEEDING AS FOLLOWS:

  • For each variant to be inserted
    • Put a “I” in the first column (for “Insert”)
      • The corresponding line will be imported in the grid; if the line already exists an error will be displayed for that line.
  • For each variant to be updated
    • Put a “U” in the first column (for “Update”)
      • The corresponding line will be updated in the grid; if the line does not exist an error will be displayed for that line.
  • For each variant to be deleted
    • Put a “D” in the first column (for “Delete”)
      • The corresponding line will be deleted from the grid; if the line does not exist an error will be displayed for that line.
  • For each variant not to be changed
    • Remove the line from the CSV file, or
    • Keep the first column empty
      • All the lines in the grid which are not present in the CSV file or which do not have an action associated in the CSV file will not be changed.

IN ORDER TO IMPORT DISCOUNTS AGAIN, PROCEED AS FOLLOWS:

[Via the menu toolbar]

  • Execute the “show curre ncy” function after having chosen the currency of interest.
  • Click on the “import” button.

[In the “popup”]

  • Indicate the CSV delimiter used in the import file. Default value = “;”
  • Indicate the list delimiter used in the import file. Default value = “~”
  • Indicate the decimal separator used in the import file.
  • Indicate the import file encoding format.
  • Choose the CSV file to be imported.
  • Click “ok”.
  • The import process starts. This is an asynchronous process and you can continue to model. The Designer will inform you automatically when the process is completed.
  • [Via the menu toolbar]
    • Save.
      Tip:

      The import file should have the following heading:

      "Action(U/I/D)";"Column Workspace for workspace/STPG/discountMethod";"Column Class for workspace/STPG/discountMethod";"Column Product name for workspace/STPG/discountMethod";"Column Description for workspace/STPG/discountMethod";"Column Operator for ALIAS1";"Column Value for ALIAS1";"Range 1 for workspace/STPG/discountMethod";"Range 2 for workspace/STPG/discountMethod"; "Column Discount Type for workspace/STPG/discountMethod"