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

Rebates in CPQ - Rebate Programs - Implementation Guidelines

Overview

The intent is to provide the list of eligible Rebate Programs, on a line item in Smart CPQ Quotes. This rebate information is retrieved from Enable Trading Programs through a dedicated integration. It requires some specific implementation guidelines to be followed in CPQ.

Additional implementation is expected on Enable Trading Programs, which is not addressed in the current documentation.

Behavior

This integration between PROS Smart CPQ and Enable Trading Programs provides the list of elligible programs for a line item.

The data is updated and displayed on demand by the user, for one line item at a time.

Authentication keys

Authentication keys should be provided for each tenant by Enable to PROS and store in PROS environments by the cloud administration team.

CLOUD DEPLOYMENT

These are three API related settings that need to be setup as part of custom plugin deployment for cloud team (specified in CSC ticket)

  • ENABLE_URL - the end point of api call, provided by Enable.
    • For example : https://partner-api-uat.enable.com/predicted-earnings/
  • ENABLE_EARNINGS_CLIENT_KEY - the client key of Enable api call, provided by Enable
    • Example : 297ba145d6f5071b253633c2f2a9735945d0ee08e0be6d7412457d9518b60279b89ca9b27b95159

      7e8bd45c0e02bbad6b28e4670767385175712db64511aabcec

    • ENABLE_EARNINGS_SUBSCRIPTION_KEY - the subscription key of Enable api call, provided by Enable
    • Example : df4e4fdda1144df8809c94e9dfffabcb

The service account provided to CSC ticket for Quoting must have API_SUPER_USER role enabled.



Quote implementation

The implementation only focuses on the Performance Quoting module.

Therefore all implementation tasks described below are to be done in the Quote Designer.

FIELDS

Following fields are needed.

  • Customer ID :
    • contains the ID of the customer as known by Enable
    • mandatory

COLUMNS

Following columns are needed to send data to Enable. Related cells should be added to line templates for line items that should receive the list of rebate programs.

  • Product ID :
    • contains the SKU of the Product as known by Enable
    • format Text
    • can't be null
  • Currency
    • must be a Currency
    • can't be null

Additional optional columns can be sent to Enable to filter down to fewer eligible programs and program lines.

  • format can be STRING
  • defined in DP setting

Following columns are needed to retrieve data from Enable. Related cells should be added to line templates that will receive predicted earnings information.

  • External ID
    • data type : Text
    • should not be computed
  • Reference
    • data type : Text
    • should not be computed
  • Description
    • data type : Text
    • should not be computed
  • Start Date
    • data type : Date Time
    • should not be computed
  • End Date
    • data type : Date Time
    • should not be computed
  • Program Type
    • data type : Text
    • should not be computed
  • Currency
    • data type : Text
    • should not be computed

LINE TEMPLATE

A dedicated line template should be created to capture the Rebate Program data. The type of the Line Template should be SPECIFIC.

Columns

These are columns to be defined as cells in this Line Template. User Input must be set to true, do not assign session state to these columns, so they are not editable in UI.

  • External id
  • Reference
  • Description
  • Program Type
  • Start Date
  • End Date

CUSTOM PROCESS

In the Quote model, a Custom Process should be declared that references :

  • The custom code reference
  • No trigger for the execution of the Process
  • List of DP Settings
    • View id for retrieving existing rows in program line template
      • SETTING = "rebateProgramTemplateView"
      • VALUE = the name of the view that returns the rows in rebate program line template
      • Required : yes
    • Component id for program lines
      • SETTING = "rebateProgramTemplateComp"
      • VALUE = the name of the component that returns the information of rebate program line template, include at least one column, any column. The purpose of the component and view is to get existing row ids. No need to define it as grid or export component
      • Required : yes
    • View id for retrieving existing rows in product line template
      • SETTING = "productLineTemplateView"
      • VALUE = name of the view that returns the rows in program line template
      • Required : yes
    • Component id for program lines
      • SETTING = "productLineTemplateComp"
      • VALUE = the name of the component that returns the information of product line template. It should contain columns that are required to execute Enable program line api. No need to define it as grid or export component.
      • Required : yes
    • Line template for Rebate Program display
      • SETTING = "rebateProgramLineTemplate"
      • VALUE = name of the rebate program line template that will be populated from Enable api call
      • Required : yes
    • INPUT
    • Customer Account mapping :
      • SETTING = "customerAccount"
      • VALUE = name of the field containing Customer ID
      • Required : yes
    • Currency mapping :
      • SETTING = "currency"
      • VALUE = name of the column containing currency, must be a Currency data type
      • Required : yes
    • Product ID mapping :
      • SETTING = "sku"
      • VALUE = name of the column containing Product IDA list of settings with following values
      • Required : yes
    • Product ID mapping :
      • SETTING = "uom"
      • VALUE = name of the column containing unit of measure associated with the product
      • Required : no
    • Additional values for optional Filters values
      • SETTING = the key of the filtered
      • VALUE = name of the column containing the filtered value, must be a string column
      • Required : no
      • Example
        • DP setting, where TurnoverTypesCol is a column id in the line template

          {

          "key": "TurnoverTypes",

          "value": "TurnoverTypesCol"

          }

        • Enable api call request, the value of TurnoverTypesCol column is InvoicePriceSales

          {

          "dimensions": {

          ...

          "filters": {

          "TurnoverTypes": "InvoicePriceSales"

          }

          }

          }

    • OUPUT
      • External ID mapping
        • SETTING = "externalID"
        • VALUE = name of the column that should store External ID
        • Required : yes
      • Reference mapping :
        • SETTING = "reference"
        • VALUE = name of the column that should store Reference
        • Required : yes
      • Description mapping :
        • SETTING = "description"
        • VALUE = name of the column that should store Description
        • Required : yes
      • Start Date mapping :
        • SETTING = "startDate"
        • VALUE = name of the column that should store Start Date
        • Required : yes
      • End Date mapping :
        • SETTING = "endDate"
        • VALUE = name of the column that should store End Date
        • Required : yes
      • Program Type mapping :
        • SETTING = "programType"
        • VALUE = name of the column that should store Program Type
        • Required : yes

VIEW

A new view should be created, filtering only on the dedicated Rebate Program Line Template.

UI

A dedicated page with 2 grids should be created.

One will display the list of Line items (restricted to those that may apply for Rebate Programs if not all of them do).

A refresh action, referring to the Custom Process, should be declared in order to manually refresh

the rebate program list for the selected line (one only). This action should be added to the product line grid.

The action should be enabled only if one row is selected.

One will display the view filtered on the Rebate Program Line Template, and display SYS_ROW_ITEM, Reference, Description, Start Date, End Date, Program Type and Currency columns.