Option Maths Errors

Hi Forum,

I would like to know other peoples thoughs on this:-


I think there is an serious error in maths when working out multiple % options

STD = $100

SMALL = -25%

LARGE = +25%


WHITE = 0%

SILVER = +10%

NO PAINT = -10%

Therefore SMALL, SILVER PAINT = 82.50

cs-cart calculates $85

My customers will say i am cheating them.

( for example you would not work out the TAX from the original price you work it out from discounted price)


Thank you for the report.

Unfortunately, currently this is the default functionality. % option modifiers are calculated from the base price.

If this functionality does not suit you, then we can only suggest that in order to realize the desired feature you should try to contact our technical support team via Customer Help Desk or consider our custom development service.

Thank you.


Hi there,

I understand that this is how it was programmed, but I cannot understand how it can be used if it gives the wrong results, therefore the logic is wrong. This is not a custom request. Its like saying the tax should be calculated before the options which is simply wrong.

If you had a -90 % option for a 100$ product and another -20% option the price would -10$??!!

please try this product





Thank you for the reply.

In this case the main issue is that the price become negative. It is confirmed and we will fix it (the price should become 0).

But nevertheless, in accordance with the default CS-Cart functionality option modifiers are calculated from the base price. It is not planned to be changed in the nearest future.

Thank you.

I'm not sure what your example has to do with tax but If that is the way CSC does it then change your paint to 7.5% and move on.

Hi there,

My point was that TAX is calculated after price adjustments and not from the “base” price.

I feel that multiple options calculations should work in the same way. I cannot move on as the way cs-cart works does not fit with our busines model. Changing the paint to 7.5% would charge the customer the wrong price, so don't understand this?

If a store offers and additional 5% discount (for and option) your would expect to get this 5% from the price of the product option you have chosen and not from an origional “base” price…


STD BAG = 100% ( $100)

SMALL BAG = -25% ($75)

BIG BAG = +25% (125$)

a further 10% discount from another option discount should produce:-

$90, $67.5 and $112.5 respectively

currenly cs logic produces $90, $65, $115 which is the incorrect price…

am i missing someting?

thanks andy

Set all products at the smallest size and use + modifiers instead of minus.


Small+ 0

Med + 10%

Lge + 20%

no paint + 0

White paint + 10%

Red paint + 20%


Don't show the modifiers in the option automatically and work out the correct percentages to get the costs you want then type the correct amount manually in each option. Though could bet messy this way


Or set one option array with all combined:

Base Price $100

Small White 0%

Small No Paint -10%

Small Silver Paint +10%

Medium White +10%

Medium No Paint 0%

Medium Silver Paint +20%

Large White +20%

Large No Paint +10%

Large Silver Paint +30%


Thanks everyone for the suggestions.

Unfortunaley i am still stuck, we are a manufacturer and some products have 3-4 option groups that are priced proportionaly from each other. I calulated that one of our priducts has 2400 variants meaning, so no way they can be manually entered…

Thinking cap still on…



I could be wrong but I think you might be confused on how the calculation works.? Using your example in your original post, all of your percentages are going to be based off of $100 and not a carried value through the options. Does that make sense?

Hi Mr Tool,

This is exactly my problem, I need each option to be based on the previous options results.

$100 base - 90% option A1 gives $10

and a subsequent + 25% option B1 should bring the price to $12.50

The current cs math produces a price of 35$ (10+25)

(for my real priduct the options are length - material - LED colour - clip type - etc - all which proportionaly affect the final price



Sorry to go on about this but i am still stuck

and may have to move away from cs-c which is big shame…

simple example

SAND 1 TON = 1000$

SAND 1 BAG (100kg) = -90% = 100$



ECO GRADE = -25%

Please tell me how much you think 1 bag of Quality Grade Sand should cost?


(PS - This is just an example - some our our items have 2400 variant combination so entering them manually and maintaining them is impossible)


I think you want chained calculation in which the the percentage of one options depends on the subtotal of the previous options, instead of off the base price. This is what I interpret what you want.

I have many options, but use absolute amounts (dollar values) and not percentages. I also have the base amount of 0.00 and the amount is based on the options. Did you try this to see what happens? The first option has to put in the price.

I think that If I used percentages, I would calculate it the same way cs-cart does, off the main price and just adjust the percentages to what I want it to be.

The final amount changes based on the order of your options. Change the order and the amount changes.

Not sure if I have seen a cart have this kind of option/price dependencies without customization.

You may just need a developer to help you.

Have to demo'd another cart with the functionality that you want?


There is no way you can set this up that it will worked in a chained calculation. CS-Cart doesn't do that, whether it's percentages or dollar amounts.

In your original post - look at the logic that is getting the $85 price tag and you will see that:

(-25% + 10%) = -15% ($85)

CS-Cart will sum the options into a total and then apply it to the price.

In order to achieve what you want to do, you would have to make code changes to the software.

You want:

(Price -25%) = PriceX, then (PriceX +10%) = New Price