Complicated discounts--need help with calculation logic

  • Profile Image
    Asked on January 08, 2016 at 01:44 PM

    Thank you for all your wonderful help throughout the creation of my complicated form.

    Now I am trying to set up some complex discount logic, and it's not always working the way I thought it would.

    If you look at all the calculation logic that I have applied to the field "Total Tuition", you will see that I have 9 double "combo-discounts" that I am trying to automatically build in to the form.

    I also have a separate "coupon code" discount (that I have manually set up based on support advice). I am wanting this discount to override any of the previous "combo-discounts" that have been applied.

    Often this set up is working fine, but there are a couple times when it's not. I will give you one example here:

    When a person selects a 5-day course (such as "Approaching Grade 1") AND a Waldorf Weekend AND a Eurythmy workshop, they only get one discount of $5 but they should really get two discounts--a $5 discount and a $110 discount, for a total of $115. 

    Overall, I've figured that there are 26 different "combo" possibilities--I'm wondering if I have to write a logic calculation for each one of those, as opposed to the generic 9 double-combos that I have already put in the form.

    Ultimately, I have to rework these calculations so that all of the different combinations of "combo-discounts" will add together rather than re-writing each other.

    Thank you so much for whatever help you can give.

    P.S. please disregard the screenshot upload; I can't seem to delete it.

  • Profile Image
    Answered on January 08, 2016 at 11:38 PM

    The ideal approach is to have two fields that will take the discount prices one for the $5 and the other $110 which will then be combined after that you calculate the total and subtract the discount price then add the resulting value to the final cost for the tuition.


    Based on the combo conditions you might have several fields for holding the discount values, I have done an example using the above scenario, let me know how it is.

    I have disabled the other conditions for illustration purposes.