By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Related articles

DevelopersAPI guides



You might find that you have earnings duplicated from the same transactions because two program lines may cover multiple dimensions. For example, one program line’s earnings are calculated from all branches in Warwickshire and another's earnings are calculated from just the Warwick branch — you can see here that there is an overlap where earnings would be duplicated.

It is possible to handle this case in Enable's Trading programs with the use of deductions, where the user can select one or more program lines whose earnings should be deducted from the qualifying transactions, before the earnings are calculated for the current program lines. This is sometimes referred to as 'strung rebates'.

In Enable, deductions, by default, are calculated at the transaction level. The qualifying transacted value for each transaction line will only be reduced by earnings from that same transaction line from any deducted program lines.


For our example, a user is creating Program Line B, which gives a rebate of 1% on pipes and boards. However, Program Line A is an existing rebate of 10% on pipes. Let's assume in this case that the relevant transactions is $100 for pipes and $50 for boards.

Earnings without deductions

Without applying any deductions, Enable will calculate the earnings for Program Line A as 10% of $100 = $10 and the earnings for Program Line B as (1% of $100) + (1% of $50) = $1.50. The total earnings across both would be $11.50.

Earnings with standard deductions


If the user includes Program Line B in the Deductions area of the settings for Program Line A, earnings from Program Line B relating to pipes will be deducted from the qualifying turnover for Program Line A. This will mean that only the relevant transaction lines are deducted from the relevant program line. The earnings relating to pipes for Program Line B would be 1% of $100 = $1. This is then deducted from the transactions of Program Line A ($100). The earnings of Program Line B would then be 10% of ($100-$1) = $9.90. Adding this to the full earnings of Program Line B ($1.50), the total earnings across both is $11.40.

After the deductions take place, the transaction lines will be accumulated to determine qualifying transactions (based on deducted transactions), and the calculated earnings will be apportioned back to the transaction lines according to their contribution to the program line. This allows you to accurately report on your deductions down to the SKU level of your data.

Deductions only apply to the time frame of the series program line as they will not match any transaction lines outside of those dates.

Earnings with deductions at the program line level


Using the above example but ticking the setting 'Calculate deductions at program line level', all earnings from Program Line B will be deducted from Program Line A's transaction value. The qualifying turnover for Program Line A would be $100 - $1.50 (earnings of Program Line B) = $98.50. The earnings of Program Line A would therefore be 10% of $98.50 = $9.85. Adding this to the full earnings of Program Line B ($1.50), the total earnings across both is $11.35.

It is clear from this example that if configuring Deductions in program lines with a large number of transactions, the difference in the calculations of earnings would be significant.

Please note — For a program line where one or more program lines have been selected for the Deductions setting and a non-zero discount percentage has been entered, the discount percentage is applied first. That is, the relevant percentage discounts are applied before the earnings from the deductions program line(s) are subtracted.

Not useful
Very useful
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Still have questions?
Raise a ticket or contact our support team.