Published at: 2026-09-17
Configure Rebate Generation Rule
Rebate generation rules define specific rebate conditions and rebate content. For example, they can rebate 3% of each Sales Order total in the previous quarter, or rebate 50 for every 10,000 of net order amount for all customers under a distributor.
Overview
Rebate generation rules define the specific rebate conditions and rebate content. One rebate generation policy can contain multiple rules. Tiered rebates are usually implemented through multiple rules.
Before you start
[!IMPORTANT] - The rebate generation policy is configured. - The source object, rebate dimension, and applicable scope are clear.
Basic information
First select the rebate calculation source object. Sales Order is supported by default, and you can enable other objects in the backend options. Then select the rule type, which is the rebate type to generate: Amount-Based Rebate or Product Rebate.

Then maintain the specific rebate rule:

| Field | Description |
|---|---|
| Rule name | Enter the name of the rebate rule for user recognition. |
| Subject | Enter the activity subject for the rebate rule, such as North China Q3 Transaction Rebate. This becomes the subject field of the generated rebate form. |
Invoice Condition
Define which documents can generate rebates.

- Invoice Condition:
- Use the Automatic filter.
- You can select fields from the source object master object, such as Sales Order fields. For example, the order Order Date is later than
2022-11-01. - You can also select aggregation rules from the source object master-detail object. For example, Aggregation Rule. Transaction amount of beverage products last quarter is Greater Than or Equal To 10,000.
- Advanced document conditions:
- Used mainly for complex multi-source rebate scenarios.
- If the document condition involves only one source document, or if the field value can be judged directly, configure only the first Document conditions item. If the document condition involves multiple source documents, or if the field value must be calculated before it can be judged, configure Advanced document conditions.
- For example, if the customer can receive a rebate only when last year’s Shipping Amount minus Ordering Amount and Return Amount is at least 50,000, you can configure:
(Shipping Amount - Ordering Amount - Return Amount) >= 50,000.
- Product conditions:
- Define which products in the above document can generate rebates. For example, product name belongs to Face Cream.
- When the rebate generation policy uses Rebate by current document value and Rebate by transaction detail, you can configure Product conditions.

Rebate content
| Setting | Description |
|---|---|
| Usage Method | Select how the generated rebate form will be used. |
| Execution result | Shows the face value of the rebate form to generate. |
- Amount-Based Rebates can use Offset Payment Received or Allocated Discount.
- Product Rebates can use Rebate by Quantity or Rebate by Amount.
Calculation Scope
Rebate generation can use Rebate by Historical Cumulative Value or Rebate by Current Order Amount depending on the rebate policy.
Calculate by threshold
| Field | Description |
|---|---|
| Threshold condition | After the condition is met, rebate is generated in multiples based on how many times the threshold is met. When the rebate basis is Rebate by Transaction Documents, you can use a source document field or an aggregation rule as the threshold condition, such as order amount. When the rebate basis is Rebate by Transaction Details, you can use a source detail field or an aggregation rule, such as order product quantity. |
| Threshold value | The condition value that must be reached before rebate is calculated. |
| Rebate amount / Rebate quantity | The maximum rebate face value that can be generated each time the condition is met. For Amount-Based Rebates or amount-based Product Rebates, this means Rebate Amount. For quantity-based Product Rebates, this means Rebate by Quantity. For example, if you set Order amount to rebate 5 for every 1,000, then 1,000 rebates 5 and 2,000 rebates 10. |
| Maximum rebate amount per generation | Sets the maximum face value for a single rebate form. For example, if you set Order amount to rebate 5 for every 1,000 and the Maximum rebate amount per generation is 200, then 1,000 rebates 5, 2,000 rebates 10, and 40,000 or more still rebates only 200. |
Calculate by full amount
- The rebate amount or rebate quantity can be calculated from a formula. Source document amount fields or aggregation rules can be used in the formula.
- You can also set a fixed value. This means the rebate form face value generated by this policy cannot exceed that fixed value.
- For more complex calculation relationships, you can use an advanced formula. For example, if no rebate is given for order amounts within 100,000 and 5% is given for the amount above 100,000, you can configure
(Aggregation Rule. Last year order amount - 100000) * 0.05. - You can configure multiple formulas. The system uses the smallest result. For example, if you set
Rebate Amount = product total x 0.2andRebate Amount = fixed value 500, then when Product total is 2,000, the final rebate is 400.
Use a custom function to calculate
When built-in calculation methods are not enough, you can use a custom function to calculate the rebate face value.
Calculation Scope
The rebate policy can also track the Current Order amount or historical cumulative value when it generates rebates.
Product conditions for the rebate form
The order must include the following products before it can use this rebate.
| Option | Meaning |
|---|---|
| All products | Any product on the order can use this rebate. |
| Specified range | Use any field on the product object as a condition. Only products that match the condition can use this rebate. |
| Designated Product | The order must include specific products before it can use this rebate. |
Rebate products for the rebate form
When the Rule type is Product Rebate, you can define which products the customer can receive as rebate products.
| Option | Meaning |
|---|---|
| All products | The customer can choose any product as a rebate product. |
| Specified range | Use any field on the product object as a condition. The customer can choose only products that match the condition as rebate products. |
| Designated Product | The customer can choose only specific products as rebate products. |
Configure rebate calculation from multiple sources
Sometimes you need to calculate rebates from multiple objects at the same time.
For example, you may need to calculate net rebates for a period based on both orders and return orders.
- The system supports rebate calculation from orders by default. You can also enable or extend other objects in the backend options.

- One cumulative rebate generation policy can support multiple source objects, such as both Order and Return Order.

- When you configure advanced conditions and advanced formulas in a rebate rule, you can use aggregation rules from multiple source objects.

Insert custom processing into rebate generation rules
When built-in calculation rules do not meet your needs, you can configure custom processing logic through a custom function entry.

- If the built-in document conditions still do not meet your needs, use a custom function as the condition.
- If the built-in execution result still does not meet your needs, use a custom function as the execution result.
- After the result is generated, if you still need to continue some actions, such as further rebate form amount calculation, use Add custom function processing.
Expected results and verification
- The rule can be saved under the policy.
- The system can generate the corresponding rebate forms according to the conditions.
- Multi-source and custom function settings can be saved and used in calculations.
FAQ
- If the rule cannot be saved, check whether the document conditions, product conditions, and calculation method are complete.
- If the calculation result is unexpected, check whether multiple formulas are configured. The system uses the smallest value.
- If the custom function does not take effect, check the function entry and return value.