Free shipping over Total amount not working

Firstly, I have read the knowledgebase article at:

[url]CS-Cart Documentation — CS-Cart 4.16.x documentation

To CS-Cart staff, please updatethis article, and others, to refelct the changes in 2.0.



I am trying to have my UPS shipping method give free shipping, when the cart total is over $99.00



I have created my shipping method and enabled it as well as created a cost dependency of “More than $99.00” with a rate value of $0.00.



When I save the dependency it appears to take. Upon visiting the storefront and adding a $200.00 product to the cart, I then proceed to view the cart and estimate shipping. The only shipping method shown is UPS ground with an associated delivery cost. No matter how I add the cost dependency or how many times I save the shipping method with the cost dependency, the charge for shipping always appears in the cart.



There are no item or weight dependencies for ths shipping method, other than the blank default ones the cart creates and will not let me edit or delete.



Can you please tell me if there is something particular to the cist dependency setup or are there any other steps I must take that CS-Cart did not document in their KB article?



I have attached a screen shot of my shipping charges dependencies.

Capture.JPG

You cannot add the free shipping dependency to any shipping methods that use real time calculation, they must be manual. This is covered in a seperate KB article, but not referenced or indicated directly in the article on setting a free shipping method over a certain amount. Since other forum posts have not made this clear, here are the two KB article entries for anyone who needs them.



[url]CS-Cart Documentation — CS-Cart 4.15.x documentation

[url]CS-Cart Documentation — CS-Cart 4.15.x documentation



However, it seems this does not resolve the issue completely, see my new post below.

After going back and testing the free shipping method, it seems to work but is counterintuitive or I’m missing something.



I currently have two shipping methods:

  1. A UPS ground that uses real time calculation
  2. A free shipping rule that uses manual calculation and a price dependency telling it to make orders over $99 free shipping.



    Here’s what happens:

    If I have over $99 in my cart and estimate shipping the expected occurs. I see both shipping methods listed and can choose which I would prefer. [although I would prefer it default to free shipping or only list the free method as we only offer one shipping type currently and make it free if your order’s $99.00; so having both is confusing/redundant. Any suggestions?)



    If I have under $99 in my cart and estimate shipping I still am shown both methods. How can I hide the free shipping mthods for orders under my price dependency since I cannot add the price dependency to my other shipping method (because it uses real time calculation).

I am in a hurry & can’t go into details, however, you might try a different approach here. Create a Free Shipping Promotion for order amounts over $99.00.



I just did this a month ago & it worked great!



Admin>Catalog>Promotions

Than you. I’ll try the promotions instead, but it wold be nice if CS-Cart responded either here on in the help desk to questions on functionalities and how they specifically work. The knowledge base and FAQ are pretty sparse.



If anyone knows how to make the shipping methods work as I described in the posts above, please chime in. While the promotions may let me do the same thing, the same may not be true of the next time I have a shipping issue and need to truly use the shipping methods to accomplish it.

Hello Jesse,

Just an FYI as you were initially reading details from the Knowledgebase for the older version 1.3.5 of CS-Cart.



Notice there is a seperate area for the newer Version 2.x

[url]CS-Cart Documentation — CS-Cart 4.15.x documentation

Hello Jesse,



Updated Knowledgebase article for topic you were initially looking for:

[url]CS-Cart Documentation — CS-Cart 4.15.x documentation

I am having a weird issue with the promotion. I have the following settings in 2.0.12,


  1. Free shipping promotion.
  2. Conditions, Match All →



    Total Products in cart >= 75.00

    Customer country = US



    When Group setting set to ALL and cart has $75.00 or more with US user, the promotion does not work. If I set Group match to ANY, the promotion works. I have tried various combo’s but can only get the Free Shipping promotion to work with the ANY group setting and there must be two conditions. Any pointers on why this is happening? Really weird.

You have the wrong condition set. Change ‘Total products in cart’ to ‘Order total’. Total products in cart specifies the number of items included in the cart.



Bob

[quote name=‘jobosales’]You have the wrong condition set. Change ‘Total products in cart’ to ‘Order total’. Total products in cart specifies the number of items included in the cart.



Bob[/QUOTE]



Thanks for that. I was not sure about that. I thought I tried Order total. Does the order total include taxes? So if someone gets $72 in products and taxes takes them over $75, will it trigger the promotion or does it have to be total of products?



thanks!

You know, it used to (incorrectly) work the way you described as I recall. But I just tried it now in 2.0.12 and it works properly - order toal includes product only.



Bob

I have a free shipping method set up already. I want to offer free shipping on orders with a subtotal of $75 or more. When the customer checks out, they should see the free shipping method with the option to select other methods and pay for faster shipping. If their subtotal is less than $75, the free shipping method should not show at all. How would this be achieved?

You need to set up a promotion with the bonus “Free shipping” which specifies your free shipping method. For your condition use:

Order subtotal greater $75



Bob

[quote name=‘grayloon’]I have a free shipping method set up already. I want to offer free shipping on orders with a subtotal of $75 or more. When the customer checks out, they should see the free shipping method with the option to select other methods and pay for faster shipping. If their subtotal is less than $75, the free shipping method should not show at all. How would this be achieved?[/QUOTE]



The way I did this was I setup a manual shipping method (make sure it is set for all suppliers). For my purposes I charge a flat rate for orders under $90 and shipping is free for orders over $90. So I made a rule in the shipping method that is “over $0.00 charge $x.xx” and another rule that is “over $90 charge $0.00”. In your case you may just want the manual shipping method to have the rule of “over $75 charge $0.00”.

ok we have exactly the same settings as you have but , we have found out that:



If you have rule of:



Over $100 free shipping so, anything bought 100 and over will be shipped free. this is fine.



but if we have a coupon code lets say : get 10% off today use " get10 " coupon code. and the buyer buys and item that cost $105 usd and uses "get10 " code. he should be paying:



(105 - 10%) + Shipping fee ( as the order will not be over 100 anymore)



but the system gives free shipping too. so the customers get 2 discounts…:confused:

Does anything change if you tick this box?

Admin > Settings > Allow customers to use single discount coupon only

I still can’t figure out how to hide the free shipping method when the order subtotal is below the $75 cost dependency. Any ideas?

In /skins/{YOURSKIN}/customer/views/checkout/components/shipping_estimation.tpl, I changed this:

```php {foreach from=$s_rate.rates key=key_id item=r}{math equation=“x + y” x=$rate y=$r assign=“rate”}{/foreach}


{$s_rate.name}{if $s_rate.delivery_time} ({$s_rate.delivery_time}){/if} - {include file="common_templates/price.tpl" value=$rate}


```To this:
```php {foreach from=$s_rate.rates key=key_id item=r}{math equation="x + y" x=$rate y=$r assign="rate"}{/foreach}
{if $smarty.session.cart.display_subtotal < $lang.text_free_ship_threshold && $shipping_id == 1}
{else}


{$s_rate.name}{if $s_rate.delivery_time} ({$s_rate.delivery_time}){/if} - {include file="common_templates/price.tpl" value=$rate}


{/if}
```
The same change would need to be made in /skins/{YOURSKIN}/customer/views/checkout/components/shipping_rates.tpl in 2 locations.

My free shipping method ID=1. And, my text_free_ship_threshold language variable is set to $74.99. This works with one caveat - I can choose free shipping when my subtotal is $75 or more, then reduce the subtotal and keep the free shipping method. I don't know how to reset the shipping method when the subtotal is below the threshold.

Anyone care to expand on this idea?

I have the same problem with the fact that CS-Cart uses subtotal vs order total to calculate all promotions. And yes, losing money after seeing customers walk away with free shipping and discounts which prior to CS-Cart would not have happened.



I asked support about this and was told I needed to have Order Total added as a condition listed in promotions and that was custom development. I believe the quote was $180. I have not decided to pay for the custom development yet because as I told them the way it works is not logical and should be corrected by the developers.