---
schema_version: "1"
id: 40e1ad41bf7f7fdb3e6a05d6469041fa5998f0d9fb8d73467351e03dc031dcdd
title: Rebate Orchestration Flow
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/admin_rebates_orchestration_flow.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_orchestration_flow.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 9e92d4f61542532d6ac5dbcc4a600226d7b5497b81e8176f415deba5f98c491b
description: Run the Rebate Orchestration Flow to calculate rebate amounts and process payouts. It includes other predefined Rebate flows as subflows. The flow searches for data processing engine definitions with Process Type as Rebates and triggers the aggregation of data. Then, the flow runs the calculation process to generate member payout amounts.
products:
  - Partner Cloud
  - Cross Cloud
  - Manufacturing
release: "264"
---
# Rebate Orchestration Flow

Run the Rebate Orchestration Flow to calculate rebate amounts and process payouts. It includes other predefined Rebate flows as subflows. The flow searches for data processing engine definitions with Process Type as Rebates and triggers the aggregation of data. Then, the flow runs the calculation process to generate member payout amounts.

### 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>

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

Important We recommend that you use the Rebate Orchestration Flow 2 template to orchestrate rebate payout calculations. This flow template is simpler, better performing, and more scalable than the Rebate Orchestration Flow template. You can clone and use the Rebate Orchestration Flow 2 template as is for end-to-end rebate calculations, or extend and customize it to suit your business needs. See [Rebate Orchestration Flow 2](https://help.salesforce.com/s/articleView?id=xcloud.admin_rebates_orchestration_flow_2.htm&release=264.0.0&type=5 "Rebate Management includes a simpler and more scalable orchestration flow called Rebate Orchestration Flow 2. Just like the Rebate Orchestration Flow, this flow automates rebate records aggregation, calculation of rebate amounts, and payout processing. This flow includes a Calculate Rebate Payout for All Periods batch job that calculates the rebate payouts for aggregate records of all periods. The last execution date of the batch job is used to determine which aggregate records are used to calculate the rebate amounts and generate payouts. After payouts are successfully generated, a Data Processing Engine job closes the payout periods. This flow includes the other flows as subflows.").

The Rebate Orchestration Flow has these components:

<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="d27176e76">Template</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d27176e79">Purpose</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d27176e82">Additional Details</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e76 ">Run Rebate DPE Jobs</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e79 ">
            <p>Runs all active data processing engine definitions to generate aggregate
              records.</p>
            <p style="margin-bottom:0;">To be included in this flow, the Process Type of a data processing engine
              definition must be set to Rebates</p>
          </td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e82 ">Use this flow to automatically run applicable data processing engine definitions
            at periodic intervals.</td>

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

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e79 ">
            <p style="margin-bottom:0;">Calls the Calculate Rebate Payout batch management job to calculate the rebate
              payout amount from aggregated records, and update the rebate payout data in the
              Program Rebate Type Payout Source, Program Rebate Type Payout, and Rebate Program
              Member Payout objects.</p>
          </td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e82 ">
            <p>Use this flow to get visibility into the as on date or most current rebate amount,
              before the final payout calculation date for a period arrives.</p>
            <p style="margin-bottom:0;">The calculation takes the most current values in the aggregate object to update the
              payout amounts in various objects, then finalizes the values when the payout
              calculation date arrives.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e76 ">Calculate Rebate Amount</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e79 ">This flow is called by the Calculate Rebate Payout batch management job to
            process aggregate records and generate rebate payouts. The batch management job
            processes the records in manageable chunks.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e82 ">—</td>

        </tr>
        <tr class="">
          <td data-label="Template" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e76 ">Run Rebate Post Payout Actions</td>

          <td data-label="Purpose" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e79 ">Runs a series of actions to ensure that member payout records are closed on the
            payout calculation date for each period.</td>

          <td data-label="Additional Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d27176e82 ">When the payout calculation date for a period arrives, the payout status is set
            to Calculated and the payout period is set to Closed.</td>

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

## Objects Updated by the Rebate Orchestration Flow

When the flow runs, it aggregates transaction data and updates payout-related records.

The flow updates these objects:

- **Rebate Member Product Aggregate** — Stores aggregated transaction data used for payout calculations.
- **Rebate Member Aggregate Item** — Stores transaction-level details contributing to aggregates.
- **Rebate Program Member Payout** — Stores calculated payout amounts for each member.
- **Program Rebate Type Payout Source** — Stores payout breakdown by rebate type.
- **Program Rebate Type Payout** — Stores payout values at the rebate type level.
- **Rebate Program Payout Period** — Updated when payout processing completes.

![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

The Rebate Orchestration Flow can complete successfully and update the **Rebate Program Payout Period** status to Closed without generating payout records.

**Rebate Program Member Payout** records are generated only when:

- At least one **Rebate Benefit** is defined for the rebate type.
- **Rebate Member Product Aggregate** records are created by the DPE.

Payout records aren’t generated if aggregates aren't created because of a mismatch between the Program Rebate Type and the associated DPE definition.