On this page, you will find a list of components used in the Rebate Manager package and their technical description.
Groovy Logic
Logics
Logic Name | Default Label | Description |
---|---|---|
RebateLogic | [RM] Rebate | |
RebateHeaderLogic | [RM] Header |
|
ProductFilter_Logic | [RM] Product Filter | |
CustomerFilter_Logic | [RM] Customer Filter | |
Dashboard_Rebates | [RM] Dashboard Rebate Agreements | Logic for a dashboard with the same name. It handles input generation, portlet generation, data fetching, etc. |
Dashboard_CustomerRebates | [RM] Dashboard Customer Rebates | Logic for a dashboard with the same name. It handles input generation, portlet generation, data fetching, etc. |
Dashboard_RebateTypes | [RM] Dashboard Year To Date by Rebate Type | Logic for a dashboard with the same name. It handles input generation, portlet generation, data fetching, etc. |
RebateRecordCalculationFeeder | [RM] Rebate Record Calculation Feeder | Finds and calculates rebate records. |
RebateAllocationFeeder | [RM] Allocation Feeder | |
RebateAllocation | [RM] Allocation | |
RebateAgreementReport | [RM] Rebate Agreement Report | Logic supporting a report of the same name. |
MonthlyRebateReport | [RM] Monthly Rebate Report | Logic supporting a report of the same name. |
MonthToDateRebateReport | [RM] Month To Date Rebate Report | Logic supporting a report of the same name. |
YearToDateRebateReport | [RM] Year To Date Rebate Report | Logic supporting a report of the same name. |
RM_ConditionTypeFilter | [RM] Condition Type Filter | Filters only those condition types which are suitable for the rebate agreement. |
Rebate_ForecastType_Configurator | [RM] Forecast Type Configurator | |
RM_RebateAgreement | [RM] Rebate Agreement | Workflow logic defining the rebateagreement workflow type for rebate agreements. |
RM_AgreementRecord | [RM] Agreement Record | Workflow logic defining the rebaterecord workflow type for rebate records. |
Libraries
Library Name | Default Label | Description |
---|---|---|
RebateTypesLib | [RM] Condition Type Library | Defines all compensation types. When you have a new condition type, add a new element to this library to define functions for this condition type. |
RebateProcessingLib | [RM] Processing Library | Provides common functions used in the rebate accelerator such as utilities for dates manipulation, inputs, record fetching, etc. |
RebateDashboardsLib | [RM] Dashboard Library | Provides common functions used in dashboards of the package. |
Rebate Type Attributes
(Rebate) Condition type attributes are needed for the rebate logic to calculate the rebate value and rebate records.
Attribute | Attribute Name | Default Label | Type | Description |
---|---|---|---|---|
formulaName | formulaName | Pricing logic | Drop-down list | Sets a logic to run the rebate. The value should be "RebateLogic". |
attribute4 | ConditionTypeName | Condition Type Name | Drop-down list | Sets a rebate type template for the current rebate type. The value is set to "Rebate Type Name" in the Company Parameters below. |
attribute9 | TargetFor | Target For | Drop-down list | Defines the target input for a period or annually. Values: "Payment Period", "Annual" |
attribute11 | DepositScheme | Deposit Scheme | Drop-down list | Defines the calculation type for a rebate value. Values: "Cumulative", "Non-Cumulative" If Target For = "Payment Period", users do not need to set a value for this attribute. |
attribute3 | PaymentPeriod | Payment Period | Drop-down list | Defines the payment period for a rebate type. Values: "Monthly", "Quarterly", "Semi-Annually", "Annually" If users do not set a value for this attribute, there is the "Payment Period" input in the rebate agreement with the same values. |
attribute5 | PayoutDays | Payout Days | Text field | Enter the number of days after the end date of the payment period when the user wants the payout. |
attribute1 | CustomerSelectionLevel | Customer Selection Level | Drop-down list | Values:
|
attribute2 | CustomerFilterLogic | Customer Filter Logic | Text field | Name of the Customer Filter Logic. Note: Customer Filter Logic must have the 'Nature' attribute set to "Customer Input Filter". |
attribute15 | ProductFilterLogic | Product Filter Logic | Text field | Name of the Product Filter Logic. Note: Product Filter Logic must have the 'Nature' attribute set to "Product Input Filter". |
attribute10 | SourceType | Source Type | Drop-down list | Values:
|
attribute6 | BaseSource | Rebate Source Name | Text field | Name of the Data Source / Datamart. |
attribute7 | BaseFieldValue | Rebate Base Field Value | Text field | Name of the baseline field. |
attribute14 | BaseFieldQuantity | Rebate Base Field Quantity | Text field | Name of the quantity field. |
attribute12 | BaseFieldCustomer | Rebate Base Field Customer ID | Text field | Name of the customer ID field. |
attribute13 | BaseFieldProduct | Rebate Base Filed Product ID | Text field | Name of the product ID field. |
attribute8 | BaseFieldDate | Rebate Base Field Date | Text field | Name of the pricing date field. |
Publishing Templates
Choose a Rebate Agreement and create for it four templates:
Name | Default | Template Input Type | Convertible to PDF | Preprocessing Logic |
---|---|---|---|---|
RA Templates |
| WORD |
| RebateAgreementReport |
Last Month Rebate Report | WORD |
| MonthlyRebateReport | |
MTD Rebate Report | WORD |
| MonthToDateRebateReport | |
YTD Rebate Report | WORD |
| YearToDateRebateReport |
Rebate Record Attributes
The following additional information is provided:
Attribute | Column Name | Default Label | Description |
---|---|---|---|
attribute1 | CurrentBaselineValue | Current Baseline Value | Baseline value (sales or revenue) in this period |
attribute2 | CurrentRebate | Current Rebate | Rebate value in this period |
attribute3 | PayToID | Pay To ID | ID of a customer who will be paid |
attribute4 | CurrentBaselineQuantity | Current Baseline Quantity | Base line quantity in this period |
attribute5 | ForecastBaselineValue | Forecast Baseline Value | Forecast base line value in this period |
attribute6 | ForecastQuantity | Forecast Quantity | Forecast base line quantity in this period |
attribute7 | Forecast | Forecast | Forecast Rebate value in this period |
attribute8 | AccrualForecastBaselineValue | Accrual Forecast Baseline Value | Accrual Forecast base line value in this period |
attribute9 | AccrualForecast | Accrual Forecast | Accrual Forecast rebate value in this period |
attribute10 | TruesUp | Trues Up | = AccrualForecast - Forecast |
attribute11 | AccrualMethod | Accrual Method | Accrual Method name (agreement input) |
attribute12 | SalesGoalIncreasePct | Sales Goal Increase % | Sales goal increase percent value (agreement input) |
attribute13 | ForecastType | Forecast Type | Forecast types (agreement input) Values:
|
attribute14 | AccrualForecastQuantity | Accrual Forecast Quantity | Accrual Forecast quantity in this period |
attribute15 | GeneralFilter | General Filter | Not used now, but defined in Accelerator |
attribute16 | Currency | Currency | Not used now, but defined in Accelerator |
attribute17 | CurrentCompensation | Current Compensation | Not used now, but defined in Accelerator |
Dashboard
Name | Logic | Description |
---|---|---|
[RM] Dashboard Rebate Agreements | Dashboard_Rebates | Shows rebates of an agreement. |
[RM] Dashboard Customer Rebates | Dashboard_CustomerRebates | Shows a rebate value of a customer and products from a date range. |
[RM] Dashboard Year To Date by Rebate Type | Dashboard_RebateTypes | Shows a rebate value of each rebate type from the beginning of the year to the current date. |
Company Parameters
RM_SC_ConditionTypes
This parameter saves the rebate condition type code and rebate type name. If an Accelerator supports a new rebate type, you need to add a new row in this table.
The value of the "Condition Type Name" column will be shown in "Condition Type Name" in the Rebate Agreement Types section.
Column Name | Description |
---|---|
Condition Type Code | Must match the element name in Groovy Library "RebateTypesLib". |
Condition Type Name | Will be shown in "Condition Type Name". |
RM_CustomerFieldMapping
This parameter maps the Customer Master attribute (source field) with the Datamart field name.
You should check it and update based on the Customer master structure in your partition.
Column Name | Description |
---|---|
Name | Attribute name (source field) in Customer Master |
Datamart Field Name | Map with a field name in Datamart |
Description | Description of this mapping (if any) |
Note: You can get the source field in the Customer data source as shown below to fill in to the 'Name' column.
RM_ProductFieldMapping
This parameter maps the Product Master attribute (source field) with the Datamart field name.
You should check it and update based on the Product master structure in your partition.
Column Name | Description |
---|---|
Name | Attribute name (source field) in Product Master |
Datamart Field Name | Map with a Field Name in Datamart |
Description | Description of this mapping (if any) |
Note: You can get the source field in the Product Data Source as shown below to fill in to the 'Name' column.
Advanced Configuration Options
The element name "RM_AdvancedConfiguration" (to define configuration data) can be overridden on the rebate type level:
Name | Description |
---|---|
sourceType | Name of source types: Datamart, Data Source |
sourceName | Name of Datamart / Data Source used to query and allocate the rebate value |
baselineFieldName | Field name of Value Base which is used to calculate the base value |
quantityFieldName | Field name of Quantity which is used to calculate the base value |
pricingDateFieldName | Field name of the pricing date |
customerIDFieldName | Field name of Customer ID |
productIDFieldName | Field name of Product ID |
customerFilterLogic | Logic name of Customer Filter Logic |
customerSelectionLevel | Options: Header Level / Line Item Level |
payoutDays | Number of days after the end date of the payment period when the user wants the payout |
paymentPeriod | Options: Monthly / Quarterly / Semi-Annually / Annually If it is left empty, it will be populated on the line item level. |
targetFor | Options: Payment Period / Annual |
depositScheme | Options: Non-Cumulative / Cumulative |
Sample of "RM_AdvancedConfiguration":
{ "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" }
Rebate Calculation Feeder
Logic name: RebateRecordCalculationFeeder
Finds and calculates rebate records.
Rebate Allocation Feeder
Logic name: RebateAllocationFeeder
Allocates a rebate value into a transaction Datamart.
Rebate Approval Workflow
It is done using the Approval Workflow Library. For details see Lookup Table Support in Conditions.
Rebate Agreement Approval Workflow
Workflow logic name: RM_RebateAgreement
Rebate Record Approval Workflow
Workflow logic name: RM_AgreementRecord