Rebate and Accrual Management Advanced Workflow

Understand the end-to-end workflow, the Data 360 integration, and the key decisions involved in each step.

Required Editions

Available in: Enterprise, Unlimited, and Developer Editions that have Rebate and Accrual Management Advanced enabled.

Prepare the Org

The Salesforce Admin enables Rebate and Accrual Management Advanced, and Data 360 in Setup. The Admin then navigates to Data Kits to deploy the Accrual and Payout Engine. This deployment is critical as it creates the Data Lake Objects (DLOs) in Data 360 required for high-volume processing. Finally, the Admin assigns the Advanced Rebate Admin and User permission sets. See Set Up Rebate and Accrual Management Advanced.

Note
Note Rebate and Accrual Management Advanced is available in Salesforce Go. We recommend setting up features for Rebate and Accrual Management Advanced using the Salesforce Go guided setup. To learn more about Salesforce Go, see Discover and Set Up Features With Salesforce Go.

Understand Data Lake Objects (DLOs)

The Accrual and Payout Engine uses a set of Data Lake Objects (DLOs) in Data 360 to stage, process, and transfer data between Salesforce Core and the calculation engine. Each DPE definition reads from and writes to specific DLOs during the accrual and payout calculation sequence. See Data Lake Objects in Rebate and Accrual Management Advanced.

Configure Data Processing Engine (DPE) Templates

The advanced engine uses a coordinated sequence of DPE definitions. The same six definitions calculate accruals, payouts, or both — the output produced depends on the Calculation Basis set on each rebate type.

DPE Description
Advanced Rebate and Accrual Pre-Processing - Rule Configuration Maps your program rules, tiers, dates, and anchors into metadata that Data 360 understands.
Advanced Rebate and Accrual Pre-Processing - Data Preparation Ingests raw data from Transaction Journals and member records into the Data Lake Objects used by the engine.
Accrual and Payout Engine - Delta Calculation Compares the current run with the previous run to identify which new or modified records are eligible for calculation.
Accrual and Payout Engine - Rule Processing Executes the actual financial calculations to generate accruals and payouts for the qualified transactions.
Advanced Rebate and Accrual Post-Processing - Source Generation

Aggregates the calculated results, including any automated adjustments, and writes them back from Data 360 to Salesforce Core, based on the Calculation Basis of each rebate type. For accrual results, it updates the Program Rebate Type Accrual Source, Program Rebate Type Accrual, and Rebate Program Member Accrual objects. For payout results, it updates the Program Rebate Type Payout Source, Program Rebate Type Payout, and Rebate Program Member Payout objects.

Advanced Rebate and Accrual Post-Processing - Status Update Closes accrual and payout periods once the period end date has passed and updates record status and the last calculation date. On accrual period closure, associated member accruals are set to Calculated; on payout period closure, associated member payouts are set to System Calculated.

See Data Processing Engine (DPE) Definitions.

Create Advanced Rebate Programs

Program managers design the rebate program and set the Execution Type to Advanced. They enroll partner accounts as members and define the independent accrual and payout details. See Create an Advanced Rebate Program.

Get Transaction Data for Accrual and Payout Processing

To run the Accrual and Payout engine, transaction data must be available either in the Transaction Journal object or directly in AccrualAndPayoutInputDayIngest_dll Data Lake Object in Data 360.

If your transaction data exists in Salesforce objects such as orders, convert it into the Transaction Journal format using one of the following methods:

  • Create a custom Data Processing Engine (DPE) to map your source object fields to the Transaction Journal.
  • Use standard integration techniques such as Bulk API or Data Loader to load data from external systems.

See Populate Transaction Data in Transaction Journals.

Once data is in the Transaction Journal, the pre-processing DPEs transform it into the input format required by the Accrual and Payout engine.

If your data is already structured in the required format, you can populate the DLOs in Data 360 directly and run the engine without going through the Transaction Journal.

Monitor Calculation Processes and Data

Admins and program managers track the progress and accuracy of calculations at multiple levels:

  • View Accrual Sources: Review the Rebate Program Member Accrual, Program Rebate Type Accrual, and Program Rebate Type Accrual Source objects to see aggregated liability data synced back from Data 360.
  • View Payout Sources: Review the Rebate Program Member Payout, Program Rebate Type Payout, and Program Rebate Type Payout Source objects to see aggregated payout amounts synced back from Data 360.
  • If transactions are missing from your accruals or payouts, use the AccrualAndPayoutTierStage_dll as the primary diagnostic tool. Check these fields:
Field What to Look For
NewStartDate__c / NewEndDate__c If null, the engine found no qualifying transactions for that member in the period for the given tier.
NewFromValue__c / NewToValue__c Use these to verify if the cumulative quantity is actually crossing the expected tier boundary
RowStatus__c Confirms whether the record was reprocessed or bypassed as Unmodified. A status of Unmodified is expected on re-runs where nothing changed — it's a problem only when you expect new or updated data.
CumulativeQualifierValue__c Compare against NewFromValue__c / NewToValue__c to confirm whether the cumulative quantity is crossing the expected tier boundary.
NewInputStart__c / NewInputEnd__c Use these to trace the first and last input transactions the engine counted in the tier.
NewInputStartOffset__c / NewInputEndOffset__c Use these to confirm the engine isn't double-counting or skipping input across tier boundaries. The offset accounts for the input measure value already counted in the previous tier.

See Data Lake Objects in Rebate and Accrual Management Advanced.

Approve Accruals and Payouts

The Program Manager can review the detailed accrual data in Rebate Program Member Accrual, Program Rebate Type Accrual, and Program Rebate Type Accrual Source objects. To view the final accrued amount for a member, refer to the Final Accrued Amount field on the Rebate Program Member Accrual object. Similarly, the Program Manager can review payout data in the Rebate Program Member Payout, Program Rebate Type Payout, and Program Rebate Type Payout Source objects, and review the final payout amount on the Rebate Program Member Payout object. After internal approval, use integration mechanisms such as APIs or Data Loader to pull these amounts into your ERP system.