13 replies [Last post]
FredJones's picture
Offline
Joined: 08/09/2007
Juice: 80
Was this information Helpful?

I have a store, 90% built using Ecommerce and now I am running into problems. We need that most products use a zone-based shipping schema, as in either a base price plus price per kilo (like Ecommerce) or to define the price for each weight range. Then we need that SOME products have free shipping.

And of course an order with both types of products will correctly show the shipping charge for regular prods and none for freeshipping items.

Can ubercart handle this? If so I will consider switching. I think it will require us to re-enter our entire product line, but at this point, I can't get ecommerce to do what I need.

Thanks.

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6846
Re: Free Shipping and Regular Shipping

Übercart can do that. The weightquote module has a base rate and a price per weight unit, which is set to the store's default weight unit. While you can set up default amounts, you can also specify what price per kilo you want each product to have. Setting the free shipping products to $0/kg, you take care of orders with mixed products.

To handle completely free shipping, set up a flatrate quote method that costs nothing. With Workflow-ng, you can set the free shipping method to be displayed only if the order has only the free shipping products. For the weightquote method, set it to display when the order has any other products in it.

lindsayo's picture
Offline
Bug Finder
Joined: 03/04/2008
Juice: 86
Sorry to be dense...

I'm trying to do this, have free shipping for one particular product. I have tried using the workflow-ng module but I can't seem to make this work.

I create a flat-rate method I call FreeShip. The values are set to $0.

I'm not really sure what to do next. The options in workflow-ng don't seem to make sense for this problem.

By creating the FreeShip method, there are now two shipping methods in cart checkout screen for all the products that have weights. One is the real time USPS lookup rate, and the other is free. Gee, which will the client choose? For the product I want to ship free, I have no weight set, and only the FreeShip method shows up.

So you can see this is only a partial solution.

Guidance For Dummies would be appreciated.

-L

-----
Five Rings Web Design
www.fiveringswebdesign.com
Drupal site dev, graphic design, HTML/CSS layouts, site maintenance, ...

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6846
Re: Sorry to be dense...

On the Workflow-ng configuration for FreeShip, you want to add a condition called "Check an order's products". It's only for one product now, but you might add more, so choose "Order has any of these products" under Inclusive mode. If an order has other products, you don't want them to choose FreeShip, so choose "Order has only these products" under Exclusive mode. Finally, find your product in the list and select it.

Since that product has no weight, USPS doesn't show up, but it might not be a bad idea to add the same condition and "NEGATE" it so that it will show up in opposite cases.

lindsayo's picture
Offline
Bug Finder
Joined: 03/04/2008
Juice: 86
Still not working for me...

In Workflow-ng, I created the correct event:

Invoked on event: Getting shipping quote via FreeShip

Then I set the condition "Check an order's products" just as described above with exclusive and inclusive buttons.

Chose my product.

For Actions, just "Fetch a shipping quote".

In this screen, it says, under Arguments Configuration:
Order: Order
Quote method: Quote method

Shouldn't that Quote method be "FreeShip"??

What am I missing here?

-----
Five Rings Web Design
www.fiveringswebdesign.com
Drupal site dev, graphic design, HTML/CSS layouts, site maintenance, ...

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6846
Re: Still not working for me...

Arguments Configuration is an advanced feature of Workflow-ng that we haven't needed to use yet. In theory, you can write actions that work on different kinds of things (nodes, authors, etc.). All of Übercart's actions only make sense on one kind of thing. Orders and quote methods in this case. There's only one choice, so you can ignore it.

It sounds like it's been set up correctly. Does it work?

lindsayo's picture
Offline
Bug Finder
Joined: 03/04/2008
Juice: 86
Nope

"It sounds like it's been set up correctly. Does it work?"

Nope.

I have no idea why it wouldn't. I did everything just as you said. Are there some other setting somewhere that have to be just so for this to work?

The weight of the product is 0, the shipping cost is set as 0.

Not sure how to proceed from here.

-----
Five Rings Web Design
www.fiveringswebdesign.com
Drupal site dev, graphic design, HTML/CSS layouts, site maintenance, ...

eclauset's picture
Offline
Joined: 09/18/2008
Juice: 25
Re: Nope

This isn't working correctly for me, either. I have it set up as described above and the products with non-free shipping work OK, but an order with only free shipping items returns an error in the shipping "undefined: Please enter the package weight." so it looks like it's still trying to get a price quote from USPS, which doesn't like weight = 0

I'm willing to hack the module, just not sure where to start. If weight = 0 I want it to ignore the USPS option.

eclauset's picture
Offline
Joined: 09/18/2008
Juice: 25
Re: Re: Nope

I started over and I think it's working correctly now -- I had to add rules to the USPS domestic & international workflows to specify that they do not apply to the items with free shipping. It would be great if there was just a checkbox to override the default shipping method and offer free shipping on any item.

Bruiseviolet's picture
Offline
Joined: 10/22/2010
Juice: 159
Re: Re: Re: Nope

try the free shipping quote module

elraun's picture
Offline
Joined: 02/05/2009
Juice: 6
can't get free shipping

i'm new to UberCart and i'm running into the same problem and can't figure it out. some of our products are free and have free shipping. if they ship with non-free products, then shipping should be charged appropriately. we are using canada post for regular orders.

if there is a step-by-step howto for this, please point me in the right direction. i've searched and can't find it.

here's what i've done:

i set up the free products. they have a price of $0.00. their weights are 0 and dimensions are 0x0x0.

i edited the workflow for "Shipping quote from Canada Post" by trying different combinations of conditions such as "check weight > 0" and "check the order total" > 0.

i also tried to set up a "free flat rate" shipping method. i set the base rate and the default shipping rate to 0. then i created a new workflow with the condition that the order total = 0 and an action to "Fetch a shipping quote" but there were no options under "order" or "quote method" so i guess i'm doing something wrong there.

so, when i go to checkout, there is always a shipping price. in fact, now there is always a shipping quote even when there is no address. and worse, if i click the "click to calculate shipping" button, even once the address is filled in, i get this error: "There were problems getting a shipping quote. Please verify the delivery address and product information and try again. ..."

i've been struggling with the cart for a couple of days so any help would be greatly appreciated.

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15438
Re: can't get free shipping

I didn't quite follow all that you've done to setup, but the gist of it is I'd recommend using a new product class to handle all the free shipping items. Then, add a flat rate shipping method called "Free shipping" that will always be $0. You can add conditions to the Wf-ng configuration (you're in 1.x, right? if not, do it through conditional actions) so that the free shipping method only appears with a condition like this:

If order contains a product of class... and add conditions for any product type besides the free shipping class. Then check the Negate box.

This will make it so the free shipping item will only show up when the only products on the order are for free shipping. Then you can just reverse the process for the calculated shipping. Use the same conditions but don't check the negate box.

elraun's picture
Offline
Joined: 02/05/2009
Juice: 6
Thanks!

Thank you so much.

I had to reset the Canada Post shipping work flow but after that, everything worked fine. I didn't realize there were different product classes (node types) that were configurable so I was trying to find another criteria to apply the shipping methods. Just one of the drawbacks of coming into a project after it is already set up. I probably still wouldn't have realized that I needed to set the conditions in both shipping methods.

Thanks again.

doublejosh's picture
Offline
Joined: 09/26/2009
Juice: 55
75% there. Last step help needed.

Looks like there is no clear answer for this in V2.

1. Setup flat rate shipping method as "Free Shipping" base price 0, unit price 0.
2. Set condition to be greater than or equal to a certain dollar amount cart total.
3. Set conditions on the other methods negated, so they don't show up.

Partial success!

How do I inform the user at the cart stage (before they get to checkout and before they enter their address information) that they qualify for free shipping?

It seems to me the problem lies in the fact that Conditional Actions has no triggers that could fire early enough. Looks like WorkFlowNG could setup a condition like "Check an order's products" which could be accomplished as soon at the cart page was reached.

PS: The "display message to user" action in Conditional Actions does not seem to be working with my Free Shipping method.