Developer forum

Forum » Ecommerce - Standard features » Limit discount to maximum the value of the product

Limit discount to maximum the value of the product

Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Guys,

I have a situation where a fixed discount (let's say $10) will result in negative value orderlines for products with price lower than $10.

How should I handle this? Is there a setting that can prevent applying a discount with a value higher than the price of the product? It should result in a $0 value orderline instead of a negative value orderline.

I am using an Order discount (Orderline discount, Exclusive), based on a list of vouchers, the discount is set to apply only once.

Thank you in advance for any solution.

Thank you,
Adrian


Replies

 
Nicolai Pedersen
Reply

Do we have a setting for that in the Checkbox cms?

Try this one - see dump.

 

Capture.PNG
 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

I have checked my solution for that checkbox and it looks like it is not checked.

Therefore the amount should not be negative, right?

If the cart is calculated in NAV (which I am not sure yet) should it take this setting into consideration?

The voucher list is in DW so I guess the discount logic passes through DW somehow.

Thank you,

Adrian

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

I just got the confirmation that we are NOT using live carts on this solution.

The solution is running on 9.3.6.

I have attached a screen dump of the cart.

Thank you,
Adrian

negative_discount.png
 
Nicolai Pedersen
Reply

If NAV calculates, Dynamicweb will not change anything.

But that is not the case here. The checkbox is for the entire order. Your example is for one orderline. If you removed the large orderline, the order total would be 0.

There is no feature to do what you want, except not including the products in the discount.

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

Thank you for the answer.

It's not what I was expecting but it is what it is. In my opinion the default approach would be to limit the discount applied to a product to the value of the product. it does not make sense to give money to a customer for selling a product. At least I donlt see any use case for this,

I am sure you have your motives to keep it like that, therefore I won't insist on changing it.

I will talk with Imar about a custom solution for this.

Thanks,

Adrian 

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Nicolai,

We ran into this on another site too and I'm surprised I haven't seen it more often. Would it make sense to have another "Checkbox CMS" wink setting for "Don't allow negative orderline prices"? Then a discount for a single orderline wouldn't impact the whole order for other orderlines that aren't related to that discount. 

Thanks,

Scott

 
Nicolai Pedersen
Reply

Hi Scott & Adrian

Instead of the general checkbox that will apply to all discounts on all carts, we could introduce a new feature in the discount matrix. I have 2 options in mind

  1. What if we changed the discount to support "100% discount" but capped at $10. Or 50% discount, capped at $15 etc. In this case you could give a 100% discount and set the cap at $10. A little more tricky to setup, but gives more options.
  2. Simply add a checkbox "Do not allow discount to be more than the product price" (your suggested checkbox, just on the discount instead.)
    • And what should then happen if I add 2 products of $6 and get a fixed $10 discount. Would the orderline end up being $2 because 6+6-10=2 or would I get $6 because 6-10, caps off at 0 and then $6 (normal price) for the second product?
 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

I agree the use case does not seem simple.I would go with the scenario that makes the most sense for the seller. We don't want them to pay the customer for buying the products, we don't want them to rip off the customer either. Both your scenarios make sense. I would go with the second option. Apply discount and cap it to the value of the first product, then the next product is normal price.

The first setup scenario can work as well as long as it is properly documented for the customer. But that approach can be implemented "behind the scenes" when you set the discount.

When you have a value set for $10 and checkbox "do not allow discount to be more than product price", the underlying rule would be 100% but no more than $10.

Either way you have the same decision to make. Apply to the first product or to the entire orderline.

I would go with applying to the first product.

Another approach would be to never apply the discount for products with a price lower than the discount value. This can be explained in the terms and conditions of the website when defining the rules for getting promotions. I am not sure if this is an actual use case but if I were to be selling something online, I would definitely prefer this option than giving products for free.

Thank you,

Adrian

 

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Nicolai,

I would think that #2 is on the right track. Doing it in the discount matrix is perfectly fine.

As for how it calculates it, how does it do it now if there are 2 products for the same discount? It would say that it should handle the price as it does now, but also ensure that no orderline price ever goes below zero. I believe that would mean that each product could get up to the discount amount, but that the total of all products would never exceed the total discount amount. As far as I know, the other logic is good with multiple products and a discount.

Scott

 
Nicolai Pedersen
Reply

Hi Scott

ok. If we apply the discount once for each product I could buy 1000 products priced $9 without paying anything or buy 1000 @ $11 for a total of $1000 instead of $11.000... So are you sure that would make sense?

BR Nicolai

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Nicolai,

That's not what I was thinking either. Basically, you should be able to keep your existing logic for how it handles multiple products. I assume that that part is working well already. The new feature would simply make sure that if a line price would become less than $0 because of a discount, that it's set to $0 instead. Would that do it?

If we were to explore how the discounts would work for multiple products, I guess that it would actually do what you said. If it's a dollar amount discount for a particular set of products, and all of those products were less than the discount amount, they would become free. The same would happen if it's a percent discount for 100%. If someone wants to create a promo like that, that's up to them. 

But the protection that we want is to make sure that they never get money back if a discount is more than the product.

Scott

 

 

You must be logged in to post in the forum