Introduction
This article section introduces key concepts of the Rebates and how to configure the Rebates Capability to allow the creation of rebate agreements. With rebate agreements, the end-users will be able to define the terms & conditions for the rebates — and be able to calculate forecasts that tells them what the end result of the rebates likely will be.
The next article describes how to further configure the Rebates to be able to calculate the rebate amounts at the end of — and during — the rebate agreement’s validity.
Rebates
A rebate is a variable amount of money that is paid back by the retailer to the buyer at an agreed date, and under agreed conditions. The amount of money is often conditional, for example:
If the customer purchases items for more than
X
EUR between Jan 1st 2024 and Dec 31st 2024, the retailer should pay backY
% of the total invoice price at the beginning of the next year.
...
Some companies refer to rebates as bonuses.
Several languages do not have a translation for the word rebate. For example, in German and Scandinavian languages, the word rabatt means discount — while there is no other word for rebate.
Rebate Agreement (RBA)
A Rebate Agreement is an agreement of one or more future rebates; the validity date, the payout dates, the parties involved, the conditions, the amounts etc. In Pricefx, this is represented by the Rebate Agreement (RBA) data type.
...
Figure 2. The Menu bar in the Rebate Agreement detail page.
Rebate Agreement Header
In the Header section, there is
...
Figure 3. The Rebate Agreement detail page, where the header section opened.
Rebate Agreement Line Item (RBALI)
The Items section consists of a set of Line Items (RBALI) (Figure 4, A). Each Line Item represents rebate terms and conditions negotiated for a group of customers and group of products, commonly including impact of those conditions in the form of calculated Rebate estimations and forecasts. A Rebate Agreement may contain multiple Line Items of different types of rebates, for example:
...
Figure 4. The Interface for adding and editing Line Items on a Rebate Agreement.
Condition Type
Each Line Item in an Agreement references a Condition Type, which is an object that determines how a rebate is calculated.
...
Figure 6. Schematic representation of Rebate Agreement Line Items and Condition Types. The Line Item contains element input and outputs and a reference to a Condition Type. The Condition Type contains values of its Attribute Columns and a reference to a Calculation Logic.
Rebate Agreement Types
With Rebate Agreement Types you can speed up the process of creating new Rebate Agreements. A Rebate Agreement Type is a template that specifies the header, Condition Type filtering and workflow logics and the JSON configuration for dynamic tabs. You can define several Rebate Agreement Types and then quickly create Rebate Agreements based on these types.
Create a Rebate Agreement Type
Go to Rebates > Rebate Agreement Types and click Add Rebate Agreement Type.
...
In order for the rebate amount to be calculable, the Logic needs to produce at least one object of the type Rebate Record (RR). This is achieved with the Groovy API method rebateRecords.add()
. The Rebate Record holds a reference to the Line Item’s Rebate Type, and copies of all the Line Item input and output values. How the Rebate Record is used to calculate the rebate amounts is described in the next chapter.
Summary
A Rebate Agreement represents a contract between buyer and seller.
A Rebate Agreement has multiple Line Items, which corresponds to sets of rebate amounts.
Each Line Item references a Condition Type, which describes how to calculate a set of rebates (among other things, such as forecasts). Each Rebate Type references a Calculation Logic.
Several Rebate Types may share reusable parts in the same Calculation Logic. To make it possible for the Logic to behave differently for different Condition Types, use the attribute columns on the Condition Type to pass “settings” to the logic.
During the negotiation of the Rebate Agreement, the Rebate Calculation Logic typically outputs forecasts.
When a Rebate Agreement is submitted for approval, the Rebate Calculation Logics will produce Rebate Records, which are necessary to later calculate the Rebate amounts.