---
schema_version: "1"
id: f6bc2a4fb741dc99699af8688173b3b1060ee7d295595b0e71380c32bddf946a
title: Data Processing Engine Templates with Rebate Management
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/admin_rebates_dpe_templates.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_dpe_templates.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: f55e0aa5c5f70d58c5f9078f2415791eb826d2e78f8789ca32c125f0bae2019d
description: "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."
products:
  - Partner Cloud
  - Cross Cloud
  - Manufacturing
release: "264"
---
# 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

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions that have Rebate Management enabled.</td></tr></tbody></table>

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.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d35057e75">Template</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d35057e78">Purpose</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d35057e81">Additional Details</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Aggregate by Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if a member’s benefits don’t vary based on products or
            product categories.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">
            <p>Aggregate by Member With Custom Node (Beta)</p>
            <p style="margin-bottom:0;">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 <a href="https://www.salesforce.com/company/legal/agreements/" target="_blank">Agreements and Terms</a>. </p>
          </td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">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.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Aggregate by Member with Aggregate Item Details</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">
            <p>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.</p>
            <p style="margin-bottom:0;">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.</p>
          </td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">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.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Aggregate by Account</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">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.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Aggregate by Product and Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if a member’s benefits for a rebate type vary by
            product.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Year Over Year Growth Aggregate using Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if the benefits vary by the amount or degree of growth in
            revenue or quantity between the previous and current years.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Process Per Transaction using Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if the payouts are calculated at each transaction or claim
            level for a member.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Account Hierarchy Member Aggregate using Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if multiple accounts in a hierarchy are members of the same
            rebate program.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Ship &amp; Debit Program Aggregate using Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">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.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Insert Orders to Journal with Member</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition if you want to get the transaction records for program
            members from your Salesforce org.</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e75 ">Rebate Calculations Post Processing</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e78 ">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.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d35057e81 ">Use this definition with the Rebate Orchestration Flow 2.</td>

        </tr>
      </tbody>
    </table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-channel_revenue_mgmt-264-0-0-production-enus/0afcbbd8-b325-4d62-baa1-63243d1c10aa/images/icon_note.png)

Note When creating a Transaction Journal in an org where both Rebate Management and Channel Partner Inventory Management are enabled:

- 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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_aggregate_by_account_example.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_aggregate_by_member_example.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_aggregate_by_member_with_item_details_example.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_aggregate_by_product_and_member.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_calculate_yoy_growth_aggregates.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_process_per_transaction_per_member.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_calculate_payouts_for_parent_account.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_calculate_payouts_for_ship_and_debit.htm&release=264.0.0&type=5)**  
    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)](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_insert_invoice_records_into_transaction_journals.htm&release=264.0.0&type=5)**  
    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.