You are here:
Data Processing Engine Templates with Rebate Management
Rebate Management has Data Processing Engine (DPE) templates to help you aggregate transactions by different criteria and manage other rebate processes. Examples of processes are: converting order records into transaction journal records, validating ship-and-debit transactions, and calculating payouts at the parent-account level.
Required Editions
| Available in: Enterprise, Unlimited, and Developer Editions that have Rebate Management enabled. |
The program manager selects an active data processing engine definition in the Calculation Definition field of a Program Rebate Type record. The definition used in a rebate type drives how transaction data is filtered and computed for the program members. Each template processes data differently. How a member’s transaction records for a payout period are processed and aggregated depends on the eligibility criteria of a rebate type and the customizations within the definition.
For orgs that have both Rebates and Channel Revenue Management enabled, enhance the out-of-the-box templates to filter for transaction journals with a valid status. This ensures accurate aggregation and payout calculations.
Rebate Management comes with these Data Processing Engine templates.
| Template | Purpose | Additional Details |
|---|---|---|
| Aggregate by Member | Filters each program member’s transaction journal records and aggregates the data. In the Rebate Member Product Aggregate object, one record is created for the aggregated data per payout period for each rebate type per member. | Use this definition if a member’s benefits don’t vary based on products or product categories. |
Aggregate by Member With Custom Node (Beta) This feature is a Beta Service. Customer can opt to try the Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at Agreements and Terms. |
This template is similar to the Aggregate by Member template but it uses a custom logic to evaluate eligible transaction journals for each rebate type in place of a formula node. | Use this definition if a rebate type has a large number of filter conditions for eligibility criteria and product eligibility to evaluate transactions that qualify for rebate payouts. |
| Aggregate by Member with Aggregate Item Details | Filters each program member’s transaction journal records and aggregates the data. In the Rebate Member Product Aggregate object, one record is created for the aggregated data per payout period for each rebate type per member, and in the Rebate Member Aggregate Item object, one record is created for each qualified transaction journal record.In Spring '24, we updated the Aggregate by Member with Aggregate Item Details DPE template. If you used the template to create a DPE definition before Spring '24, we recommend that you create a definition using the updated template or modify your existing definitions based on the updated template. In Spring '24, we updated the Aggregate by Member with Aggregate Item Details DPE template. If you used the template to create a DPE definition before Spring '24, we recommend that you create a definition using the updated template or modify your existing definitions based on the updated template. |
Use this definition if a member’s benefits don’t vary based on products or product categories and you want to view the transaction details of each aggregate record for a member. |
| Aggregate by Account | Uses the Account field on the Transaction Journal records to filter and aggregate the data. In the Rebate Member Product Aggregate object, one record is created for the aggregated data per payout period for each rebate type per account. | Use this definition to evaluate each Transaction Journal record of an account against the rebate programs that the account is a member of. To reward a member with multiple payouts for different rebate programs, it isn’t necessary to create separate transaction records to create the association between a member and a program. The definition assesses each transaction of an account and aggregates the values based on the rules of each program that the account is a member of. |
| Aggregate by Product and Member | Filters transaction journal records and aggregates the data by member and product. In the Rebate Member Product Aggregate object, one record is created for the aggregate data of each product per payout period for each rebate type per member. | Use this definition if a member’s benefits for a rebate type vary by product. |
| Year Over Year Growth Aggregate using Member | Aggregates transaction journal records of a member for the current period, compares the records with the previous year’s records for the same period, and calculates the year-on-year growth. In the Rebate Member Product Aggregate object, one record is created for each member. The record shows the aggregate values for the current and previous years for the same payout period. | Use this definition if the benefits vary by the amount or degree of growth in revenue or quantity between the previous and current years. |
| Process Per Transaction using Member | Extracts data from Transaction Journal records for a member for a rebate type for a payout period. In the Rebate Member Product Aggregate object, one record is created for each transaction. | Use this definition if the payouts are calculated at each transaction or claim level for a member. |
| Account Hierarchy Member Aggregate using Member | Uses the account hierarchy setup to aggregate the subaccount transactions at the parent-account level in the Transaction Journal. The records are created in the Rebate Member Product Aggregate object. | Use this definition if multiple accounts in a hierarchy are members of the same rebate program. |
| Ship & Debit Program Aggregate using Member | Compares and validates the claim amount submitted by a member with the values in a ship-and-debit rebate program. Based on the validation, if the claimed amount matches the rebate program benefit setup, the claims are processed to aggregate the data and calculate the payout amount. If the claim doesn’t match the rebate program benefit setup, an error description is populated in the related Transaction Journal record. | Use this definition if you use the ship-and-debit rebate program model. In the ship-and-debit rebate program incentive model, the enrolled members, typically distributors, receive special benefits when they sell products to a preferred ship-to account. |
| Insert Orders to Journal with Member | Extracts data from Order records to create similar records in Transaction Journal. You can modify the template to copy data from other Salesforce objects to the Transaction Journal object for rebate processing. | Use this definition if you want to get the transaction records for program members from your Salesforce org. |
| Rebate Calculations Post Processing | Updates the last calculation date of the rebate payout, sets the payout status to calculated, and closes payout periods with payout calculation dates in the past. | Use this definition with the Rebate Orchestration Flow 2. |
- Specify the Journal Type for Channel Partner Inventory Management. The Journal Type determines how the Transaction Journal is used within Channel Partner Inventory Management processes. If the Journal Type is left blank during creation, the system defaults the Usage Type to Rebates.
- Configure DPE filtering on Status for Rebates Transaction Journals. Rebates DPEs do not automatically exclude records based on the Transaction Journal Status field. If customers intend to use the Status field (for example, Approved, Rejected, or Pending) to control which records generate aggregates or payouts, they must explicitly configure filters in the Rebates DPE definitions. For example, to ensure that only eligible records are processed and to exclude any status other than Approved (such as Pending or Rejected), include filter logic such as: TransactionJournal.Status = 'Approved'.
- Review legacy records for compatibility. If existing Rebates Transaction Journal records default to a Pending status, note that DPEs do not filter by Status by default and will process all PoS transactions. Ensure that the appropriate DPE filter logic is configured so that the correct records are processed and unintended records are not included or excluded.
- Aggregate Payouts by Account (Example)
This example shows how you can use the Aggregate by Account template to aggregate transaction records for an account that’s added as a member in two rebate programs. - Aggregate Payouts by Member (Example)
This example shows how you can use the Aggregate by Member template to aggregate transaction records for a program member for two rebate types. - Aggregate Payouts by Member with Aggregate Item Details (Example)
This example shows how you can use the Aggregate by Member with Aggregate Item Details data processing engine (DPE) template to aggregate transaction records for a program member for a rebate type along with the transaction details of each aggregate record. - Aggregate Payouts by Product and Member (Example)
This example shows how you can use the Aggregate by Product and Member template to aggregate transaction records for a program member for two products. - Calculate Year Over Year Growth Aggregates by Member (Example)
This example shows how you can use the Year over Year Growth Aggregate using Member template to compare aggregate values for the same payout periods for the current and previous years. - Process Per Transaction Per Member (Example)
This example shows how you how you can use the Process Per Transaction using Member template to process each transaction record of a member and generate a payout amount for that transaction. - Calculate Payouts for the Parent Account (Example)
This example shows how you can use the Account Hierarchy Member Aggregate using Member template to aggregate values for all accounts within a hierarchy. If you have multiple accounts within a hierarchy added as members to a single rebate program, you can offer payouts only to the parent account. - Calculate Payouts for Ship and Debit Programs (Example)
This example shows how you can use the Ship & Debit Program Aggregate using Member template to calculate, process, and validate payouts for ship and debit programs. - Insert Invoice Records Into Transaction Journals (Example)
This example shows how you can customize and use the Insert Orders to Journals with Member template to transfer records from a custom Invoice object to the Transaction Journal object.

