Working with Rebate Manager

The page describes the basics of Accelerator use and provides examples with screen captures.

In this section:

User Roles

To use the Rebate Manager Accelerator, you need to have the following Pricefx user roles:

If you don't want a user to manage Rebate Types, you need to remove the user role Administer RebateManager.

Define Rebate Type

Go to Rebates > Condition Types, add a new Rebate Type, and define its properties:

Name

Name of the Rebate Type

Label

Label of the Rebate Type

Pricing Logic

Should be "RebateLogic"

Condition Type Name

Maps your rebate logic with an existing Rebate Type template. Select here a suitable Rebate Type.

Currently, there are more than 20 Rebate Types implemented. See their list at Rebate Types Reference (Rebate Management)

Target for

Maps your rebate logic with an existing Rebate Type template. Select one of these options:

  • Payment Period – Gets sales for every period to compare and calculate the rebate.

  • Annual – Gets sales for the whole year to compare and calculate the rebate.

Deposit Scheme

If 'Target for' is 'Annual', you need to define how to calculate the rebate value:

  • Non-Cumulative – The rebate value is calculated for the current period based on cumulative sales, then divided by the number of periods (12 months or 4 quarters, 2 for semi-annually, 1 year).

  • Cumulative – The same as with calculation of Non-Cumulative above, but the rebate value of the previous period is excluded. 

Payment Period

Maps your rebate logic with existing Rebate Type templates. Select: "Monthly", "Quarterly", "Semi-Annually" or "Annually".

If left empty, there is the "Payment Period" input in the rebate agreement with the same values.

Payout Days

Enter the number of days after the end date of the payment period when you want the payout.

If left empty, it is set to 1 day.

Customer Selection Level

Options are:

  • Header Level – Shows the customer group input in the header of a rebate agreement. At the line item level, the customer group input will be disabled and will inherit values from the header.

  • Line Item Level – Shows the customer group input both for the rebate agreement header and line items. If users change the value of the customer group for each line item, it takes priority over the header input value.

Customer Filter Logic

Name of Customer Filter Logic (suggested: CustomerFilter_Logic). 

You can change the customer filter as needed in this logic, so that you get the customers you need in the rebate agreement.

Product Filter Logic

Name of Product Filter Logic (suggested: ProductFilter_Logic). 

You can change the product filter as needed in this logic, so that you get the products you need in the rebate agreement.

Source Type

Options are:

  • DataMart – Rebate values will be calculated from Datamart.

  • DataSource – Rebate values will be calculated from Data Source.

Rebate Base Source

Source name

Rebate Base Field Value

Baseline field name in the Data Source

Rebate Base Field Quantity

Quantity field name in the Data Source

Rebate Base Field Customer

Customer ID field name in the Data Source

Rebate Base Field Product

Product ID field name in the Data Source

Rebate Base Field Date

Pricing date field name in the Data Source

 

These are the default values of some of the attributes in Advanced Configuration, so that users do not need to define them from scratch in each Rebate Type:

{ "sourceType": "DataMart", "sourceName": "SC_TransactionData", "baselineFieldName": "InvoicePrice", "quantityFieldName": "Quantity", "pricingDateFieldName": "PricingDate", "rebateFieldName": "Rebates", "customerIDFieldName": "CustomerId", "productIDFieldName": "ProductId", "payoutDays": 1, "paymentPeriod": "Quarterly", "targetFor": "Payment Period", "depositScheme": "Non-Cumulative", "customerFilterLogic": "CustomerFilter_Logic", "customerSelectionLevel": "Line Item Level" }

 

Options:

  • paymentPeriod – By default empty, it will then be populated on the line item level.
    Note: These attributes will be hidden in Rebate Types. If users define them in Rebate Types, these settings will be used, otherwise Advanced Configuration settings are used.

  • Pay To Input – It is based on Customer Selection and is also applied to Customer Filter Logic if this attribute is set.

    • If CustomerSelectionLevel = “Header Level”, Pay To input will be disabled for all line items and will be inherited from the header.

    • If CustomerSelectionLevel = “Line Item Level”, Pay To input will be in both on the Header level and Line Item level. If you have Pay To on the Header level in this case, line items will not inherit from this level. If you choose one Rebate Type with CustomerSelectionLevel = "Header Level”, Pay To will be disabled for line items for only this Rebate Type.

  • customerFilterLogic/productFilterLogic – If you want to set a filter for customers/products, you can use Customer Filter Logic or Product Filter Logic.
    Go to Calculation Logic, choose ProductFilter_Logic or/and CustomerFilter_Logic, and the input data that you want to filter.

    • Customer Filter Logic is set in Advanced Configuration.

    • Product Filter Logic is set in a Rebate Type in the Product Filter Formula column for a specific Rebate Type.

Create Rebate Agreement

Go to Rebates > Rebate Agreements and create a new Rebate Agreement.

If you have one “Rebate Agreement Type“, a simple button is used for new rebate creation; for more types a drop-down is present.

 

User input:

  • Start Date –  Enter the start date of the period for the analysis. 

  • End Date – Enter the end date of the period for the analysis.

  • Payout Date – Enter the payout date (not mandatory input because now we get the payout date in your Rebate Type in the 'Payout after (days)' column).

Header level:

 

Line item level:



Click the Add Line Item button and choose the Rebate Type you want to add and enter a value at the Line Item Level. 

You can set the following inputs:

  • Customer(s) – Allows you to choose one or more customers for the analysis.

  • Product(s) – Allows you to choose one or more products for the analysis.

  • Target – Allows you to enter the target for a specific Rebate Type.

  • Rebate – Allows you to enter the rebate for a specific Rebate Type.

  • Payment Period – Allows you to choose a period (Monthly, Quarterly, Semi-Annually, Annually). It will be disabled if you set this in Advanced Configuration Options.

  • Pay To – Allows you to choose a specific customer you want to pay to.

 There will be a warning  shown if you do not enter the required inputs Target, Rebate, Payment Period, etc. However, for two Rebate Types (Multi Increment Amount, Multi Increment Percent) this warning will show even if you already entered all values. You can still submit normally.



The system will show a warning message if users enter a negative value (except value 0). The sample format is ValidateInput: Multi Increment Percent – Target must be greater than 0.

 

Calculation Results:
 

Rebate Detail:

  • Baseline Value Field Label – Shows the field label to use for calculating the Baseline Value.

  • Baseline Quantity Field Label (*) – Shows the field label to use for calculating the Quantity.

  • Previous Baseline Value – Total sales for a validity period of the agreement – 12 months.

  • Current Baseline Value – Sum of the Current Baseline Value from the Rebate Records.

  • Previous Baseline Quantity (*) – Total quantity for a validity period of the agreement – 12 months.

  • Current Baseline Quantity (*) – Sum of the Current Quantity from the Rebate Records.

  • Previous Rebate – Rebate value based on sales from the previous period (current contract validity – 12 months) and current conditions.

  • Current Rebate – Sum of the current rebates from the Rebate Records.

Forecast:

  • Forecast Baseline Value – Sum of the Forecast Baseline Value from the Rebate Records.

  • Forecast Quantity (*) – Sum of the Forecast Quantity from the Rebate Records.

  • Forecast Rebate – Sum of the Forecast Rebate from the Rebate Records.

    How to calculate the forecast (simple calculation based on historical and current data):


    Forecast Baseline Value = Total Current Baseline Value + Forecast from Current Date to End Date (Number of days * Productivity per day)
    Forecast Quantity = Total Current Baseline Quantity + Forecast from Current Date to End Date (Number of days * Quantity Productivity per day)

(*): This element will only show when you choose one of these Rebate Types: Single Volume Total Amount, Single Volume Total Percent, Single Volume Per Unit.

 

Color coding:

  • Previous Rebate: Blue

  • Current Rebate > Previous Rebate: Green, else Red

  • Rebate Forecast / Accrual Forecast > Current Rebate: Green, else Red

  • If value does not change, it will be Dark Orange

Output values are displayed as rounded (to no decimals) in Calculation Results for both Rebate Agreement and Rebate Records. If these outputs are part of further calculations, the original (un-rounded) values are used.

Rebate Records

Go to Rebates > Rebate Records. Choose the Source ID that you want to check. This will show a Rebate Record for each period you already set before (Monthly, Quarterly, Semi-Annually, Annually).

  • Previous Baseline Value – Total sales for the Rebate Record validity (Payout period) – 12 months.

  • Previous Rebate – Rebate value based on sales from the previous period (Payout Period – 12 months) and current conditions.

  • Current Baseline Value – Baseline Value of current Rebate Record validity.

  • Current Rebate – Rebate value for the current period.

  • Forecast Baseline Value – Forecast sales for the current period.

  • Forecast Rebate – Rebate value for the current period.

Rebate Calculation

When a rebate agreement is created, the rebate logic will generate Rebate Records based on the payment periods. We need to run a rebate calculation to calculate data for the Rebate Records. The RebateManager Template provides a job "RR_Calculation" to run the calculation. This job runs every midnight (can be modified).

For details see Rebate Calculations.

Rebate Allocation

 To allocate a rebate value into the transaction Datamart, Datamart must have a column named 'Rebates'.

The RebateManager Template provides a Data Load named "Rebate allocation" to run the allocation. This job runs every midnight (can be modified). It then overrides the rebate value.

To calculate rebate allocation, you need data from Rebate Records (RR) and you need to meet these requirements:

  • Agreement Status == Approved

  • Status == Approved

  • Start Date (RR) >= StartDate (Feeder Formula in Rebate Allocation DL)

  • End Date (RR) <= EndDate (Feeder Formula in Rebate Allocation DL)

  • Applies to Customer Grouping, Customer and Product Grouping, Product

The formulas apply for each transaction in Datamart:

  • Rebates = (invoiceValue of a transaction in Datamart / current baseline value of Rebate Record) * rebate value of Rebate Record

Rebate allocation will only use the Advanced Configuration Options as implemented. The rebate logic will by default use the definition in Advanced Configuration, but if there is a definition on the Rebate Type level, it has priority.

 

Examples of PDF reports: 

  • Rebate Agreement PDF Report – Displays all details of a Rebate Type such as Product Group, Targets and Rebate. 

  • Last Month Rebate PDF Report – Overview of rebates paid in the last closed month. Each line identifies: Rebate Type, achieved Baseline value and the rebate to pay.

  • MTD (Month-To-Date) Rebate PDF Report – Exports the achieved rebate value for MTD (month-to-date) of payable rebates in the current month. Rebate lines display details about the Rebate Type baseline value and rebate value for a given month.

  • YTD (Year-To-Date) Rebate PDF Report – Overview of the achieved and paid rebates YTD.

Rebate Approval Workflow

Rebate Agreement Approval Workflow

The workflow logic for a rebate agreement should be set up as shown below:

Example for a condition setup:

If input/output is not used, you do not need to use the prefix 'line.' or 'header.'; only use elementName == "Condition". The list of all available variables for the Accelerator is available in Condition Expressions Values.

Rebate Record Approval Workflow

The workflow logic for a Rebate Record should be set up as shown below:

When the condition in Company Parameters "ApprovalCondition" is set up, we use an attribute code for the Rebate Record attribute. We do not need to add the prefix "folder." or "line." A list of all available variables is available in Condition Expression Values.

To check the approvals for Rebate Records, you must approve the Rebate Agreement first.

Example: