Cart Rules (Vouchers) Issues

I’ve been monkeying with the cart rules and have noticed a few things:

A value MUST be set for the “total available” and for “total available for each user” fields. For cart rules / vouchers that are to be automatically applied to all qualifying orders it would be ideal if these values could just be left at 0 and therefore be unlimited.
.
It’s not the end of the world to just set an absurdly high number for each one BUT there is no star in the BO indicating the field is required.

It would be great if it was possible to use negative values with Cart Rules to apply a surcharge for certain orders. We have a situation where orders over $2000 need an extra $25 handling charge and being able to apply this as a Cart Rule would be ideal. I tried manually editing the database table to put a negative value in but when a negative value was set the Cart Rule was no longer applied.

It would be great if there could be no expiry date set for Cart Rules. Again it is no problem to just set it to 2099 or some other far future date but leaving the field blank and having the rule never expire would certainly be a tidier solution.

Being able to set Cart Rules discounts or surcharges based on the payment type would be a killer feature. We take bank wire payments sometimes but for orders under about $1500 we charge a $50 fee for this due to what the bank charges us.

Being able to add a description for each Cart Rule that is shown to the customer would make it a lot easier for the customer to understand what discounts or fees they are paying, and why.

I’m sure some of these things are easier to implement than others, and I’ll probably hack together the “cart rules surcharge” thing myself. Just some thoughts for things that might make cool & useful features for future versions!

I’ve added the ability to have Cart Rules with “negative discounts” which become surcharges at checkout.

To do this:

In the classes directory, edit CartRule.php and search for reduction_amount. Everywhere you find reduction_amount > 0 change it to reduction_amount <> 0

Do the same thing again in Cart.php. There is only one location that needs to be changed in this file, at least in 1.0.3.

In the /controllers/admin directory, edit AdminCartRulesController.php. Find the following three lines and comment them out by adding // to the start of each line (in 1.0.3 they are lines 246-248 of the file):

Here in Japan shipments with a value exceeding 200,000yen (~$1850 USD) are now charged a $25 fee for export processing.

There have been a couple of other requests for this that I found online, like here and here so it seems I’m not the first person to hope for something like this.

It would also be fantastic to be able to set both a minimum and a maximum price for Cart Rules, rather than only a minimum price. We will have some very small parts to sell soon (~10 cents each, for example) and would like to be able to add a handling surcharge for orders under a certain amount.

I think the Cart Rules could become a very powerful tool with a few more options added.

Hmmz, interesting idea. I know that you can apply vouchers to the custom payments module and have seen changes like that before to charge extra for certain payment options. Let’s see if it’s possible to add.

IMHO, since local legislation differs from country to country it could be difficult to reflect in TB all possible modifications around the world. I’m not a programmer, but imho, it could be made as some kind of localization plugins or api?

IMHO, since local legislation differs from country to country it could be difficult to reflect in TB all possible modifications around the world. I’m not a programmer, but imho, it could be made as some kind of localization plugins or api?

There is no need for such complexity. The Cart Rules system is fairly limited in what it is able to do and could be made much more useful with a few minor tweaks. Especially the ability to use it for surcharges (not only discounts) and the ability to set maximum values, not only minimum values.

Hmmz, interesting idea. I know that you can apply vouchers to the custom payments module and have seen changes like that before to charge extra for certain payment options. Let’s see if it’s possible to add.

The minor changes I made to enable surcharges seem to work without any issues.

Unfortunately it’s a little beyond my PHP/30bz knowledge to be able to add a maximum value so that discount/surcharge ranges could be created. I think it would be useful for a lot of shops to be able to offer discounts for multiple price range blocks. One discount for orders between $100 and $199.99 but a different discount for orders $200 to $499.99, etc.

I did find a module that offers cart value ranges for discounts, among other features. I may end up purchasing it but it really does a lot more than what I need.