Jump to content

Do not include taxes when calculating free shipping


Recommended Posts

I currently have my Shipping page set to 'Free shipping starts at $75' and it is working, however it seems to be checking against the product total + taxes rather then just the product totals.

 

In this case customers could order $67 worth of product and since it will check WITH taxes it will also give him free shipping.

 

Is there a way to have it not include taxes when checking for free shipping?

 

I have checked the forum, but all the solutions I have found seem to have only worked for older versions of prestashop and not 1.5.1.0

 

Thanks for any help!

Link to comment
Share on other sites

I had that problem and could not find a fix. I'm sure there is one so keep looking. That said, I had several different tax rates, but the lowest tax rate was 5%, my free shipping was $100 so I set my free shipping amount to $105.

 

On the site it was posted free shipping $100, not including tax. But by making the actual amount trigger $105, I created a workaround to the bug.

Edited by Bill Dalton (see edit history)
Link to comment
Share on other sites

  • 7 months later...

I had several different tax rates, but the lowest tax rate was 5%, my free shipping was $100 so I set my free shipping amount to $105.

 

On the site it was posted free shipping $100, not including tax. But by making the actual amount trigger $105, I created a workaround to the bug.

 

I'm not sure how this works around the problem for people who pay a higher tax. If you set your trigger to $105, then yes anyone spending $99 and paying 5% tax, still has to pay shipping. But someone spending $99 and paying 13% tax will get free shipping and that is not desired.

 

Also, I'm bumping this because I'm hoping by bringing attention to this again, someone will have an idea where to change the code to fix this problem. There is another (slightly older) thread asking the same question here: 

 

http://www.prestashop.com/forums/topic/158340-exclude-tax-from-free-shipping-calculation/?hl=free+shipping&do=findComment&comment=769671

 

... but also no solution there either.

Link to comment
Share on other sites

You misunderstand. You set up each shipping range for each tax range. You adjust the amount in relation to the tax. 

 

You setup the default for GST, this takes care of everyone adding to the cart. When they enter the address, and choose the province, you have the shipping range and carrier set up for that amount of tax. For example, New Brunswick free shipping amount after $113.

Edited by Bill Dalton (see edit history)
Link to comment
Share on other sites

Thanks for clarifying but I'm still missing something. When I set up my shipping ranges, which I assume is done when configuring a shipping carrier,

 

Shipping > Carriers > Click on a Carrier >  2 Shipping Locations and Costs

 

I only see the ability to set a shipping range for North America or Africa or Asia. I don't currently see any way to select shipping ranges for Ontario and another shipping range for Nova Scotia for example.

Link to comment
Share on other sites

Right, You could create a Zone and call it 13 and apply that Zone to Ontario, New Brunswick and Newfoundland. Or you can create a Zone for each province. I prefer the latter, it gives me more options for my shipping.

 

Regardless, you will create a carrier for each zone and each carriers range will be set up by amount, and the shipping range set to not charge for shipping at the minimum amount in regards to the tax you will charge for that zone.

Link to comment
Share on other sites

I think I finally figured out how to change the code to fix this problem. In:

 

classes/Cart.php,

 

in this method:

 

getPackageShippingCost()

 

find all 3 calls to

 

$this->getOrderTotal()

 

and change the first parameter from true (include taxes) to false (don't include taxes)
That seems to work, although it's better to copy the

 

getPackageShippingCost()

 

method and place it in

 

override/classes/Cart.php

 

and THEN change it and don't forget to delete

 

cache/class_index.php

 

so that it will be rebuilt or else the override won't be noticed)

Edited by batman42ca (see edit history)
  • Like 4
Link to comment
Share on other sites

×
×
  • Create New...