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