Ubercart Combine Shipping

Contrib type: 
Module
Status: 
Complete and working
Moderation: 
Awaiting moderation

Downloads

Latest version: 
1.3
Compatibility: 
Ubercart 2.x

The purpose of the "Ubercart Combine Shipping" module is to provide a way of explicitly forcing the method of shipping for a product or product class. Instead of having three shipping methods enabled on the cart and providing a choice to the customer for the best price, you will be able to specify at the product level, which shipping method a particular product will ship with. For example, PRODUCT A will ship UPS, PRODUCT B will ship FedEx. When the customer checks out, instead of providing an option for UPS or FedEx to the customer, both the UPS shipping price and the FedEx shipping price will be combined into one single shipping price.

The Ubercart Combine Shipping module is designed to be very flexible from the standpoint that you "should" be able to mix and match any method of shipping for your site. While it's been tested primarily with UPS, Flat Rate and a custom Freight method, the modules design is for all possible shipping methods designed for Ubercart 2.x.

Before enabling the Combine Shipping module, it is recommended that you enable and setup the desired shipping methods and test them to make sure they are working first. For the most part, the Combine Shipping module does nothing but intercept the shipping methods at checkout and combines them instead of displaying them separately but it does add an additional layer to the shipping setup process and if the shipping isn't setup right to begin with, it will make it more difficult to troubleshoot the problem.

It is recommended to test the checkout process from start to finish. The easiest way to do this is enable the Payment method pack module under the Ubercart - Payment section, then enable COD (Cash On Delivery) which will let you submit a product without filling out payment information.

v1.3 Fixes
Bugfix which addresses Ubercart 2.7 issue where calculating shipping at the "review order" page would result in a $0.00 total.

---

D7 Roadmap

The D7 version of UC Combine Shipping is not slated until the later parts of the summer of 2012. The reason for this is because UC3 is in a constant changing status (still being dev status) and the fear is that this module will frequently break with the updates to UC3. We are waiting for a stable release of UC3 before posting a working version of this module. With that being said, things might change and decisions might be made to release a "use at your own risk" version of UC Combine Shipping until a stable version of UC3 comes out. This "use at your own risk" version is similar to the D6 UC2 version, but differs in enough ways that I really hate to post it. (it was uniquely developed to a customers request. Some things don't work in the D7 version like choosing a shipping method through UPS and FEDex, it's locked to one item for each and never displays what the actual shipping company is.) I expect to begin working with the developer on a version that is identical to the D6 version and have it available this summer (2012).


PreviewAttachmentSize
uc_combine_shipping-6.x-1.3 (2011-11-11)15.56 KB
joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
Re: Ubercart Combine Shipping

I just tried to use this module on a site using fedex and flat rate shipping modules. It will give me the flat rate price but gets an error on the fedex quote.

I think this is what it gives me. Object of class stdClass could not be converted to string in /home2/advenua8/public_html/includes/theme.inc on line 1180.

sambond's picture
Offline
Joined: 08/30/2011
Juice: 8
UPS Batteries

UPS Batteries
Yuasa batteries come in all shapes and sizes, from types no larger than a ten pence piece, to a battery system that can fill an entire room. It is important that you choose the correct battery for the job and to do this you will generally need two pieces of information, the battery load and the back-up times, if you are unsure of the battery you will need one of our team at Tahoe International will be happy to assist you.

We pride ourselves on the fact that our customers return to us time and time again for quality Yuasa batteries, due to our reliability, flexibility and our speed of service. So for all of your requirements regarding Yuasa batteries make Tahoe International your first and last stop.

sambond's picture
Offline
Joined: 08/30/2011
Juice: 8
Oak Furniture

Oak Furniture

Furniture is required in every set up. It is required in home,offices,public places etc. At New Wood Furniture we offer a huge range of Oak furniture. We stock many major brands and our portfolio includes, oak bedroom furniture, Chateau Oak Furniture, contemporary office furniture, oak living room furniture and oak dining room furniture. We offer quality items on Ash Furniture as well since it looks great and is particularly popular in the dining room furniture ranges and for occassional items such as sideboards.

joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
Re: Ubercart Combine Shipping

what is that about? ^

flipsta's picture
Offline
Joined: 08/31/2011
Juice: 10
Failed Quotes?

I'm trying to integrate your module into a client's site (first drupal/ubercart site so please forgive my ignorance in advance!) and the flat rate quote returns 0.00 (the base flat-rate price for the method), so it's not picking up on the product's flat-rate shipping price and returns an unspecified error for the UPS quote...

Any help with this would be greatly appreciated!

joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
Re: Failed Quotes?

Im getting the same thing. Fedex and UPS not working. I figured out that the flat rate shipping uses the base rate entered on the /admin/store/settings/quotes/methods/flatrate page. If you set base rate to 0 and use a custom price on the product page it ignores the custom price and puts 0. Hopefully this can be worked out soon so i can finally launch my site. lol

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
UPS & Flatrate

First off, make sure the UPS works with the Combine Shipping DISABLED. If the UPS isn't working without combine shipping, it isn't going to work with it. (Getting UPS, USPS, FedEx, etc. working in the first place can sometimes be rather "fun"...)

As far as the flat rate goes, if you want to specify the flat rate at the product level, make sure the "/admin/store/settings/quotes/methods/flatrate" Flatrate method is set to 0.00 for both the base price & the default price.

(Base price = starting price for all flatrate, if the Base is 5.00 and you tell a product to have a 10.00 flat fee, the total at checkout will be 15.00)
(Default Price = If the default price is 10.00, all products will inherit the flatrate shipping cost of 10.00 unless it is changed at the product level)
If you already knew this, sorry... You mentioned drupal / ubercart being a new experience...

I'm also assuming you went into the "Shipping Method" field for product content type and specified the key names for the flat rate options you have enabled? It gives I think two default flat rates out of the box... I usually just delete those and create two of my own called:

Free Shipping
Flat Rate Shipping

Those make a more sense to me than the default ones.

flipsta's picture
Offline
Joined: 08/31/2011
Juice: 10
UPS & Flatrate

Both shipping methods did work before enabling your contributed module. I had just literally got the client's UPS API key certified for production use, actually (that was fun...).

The flatrate method's base rate and default rates are both set to 0.00 with the product that I'm currently testing having a flatrate shipping value of 75.00. With the module disabled, it returns $75.00 as expected, however with the flatrate test product and a "standard" UPS product in the cart, the following is returned:

Flat Rate Shipping: $0.00

There were problems getting a shipping quote. Please verify the delivery and product information and try again. If this does not resolve the issue, please call in to complete your order.

No worries, I'm an old developer but I'm pretty new to the drupal/ubercart way of things so I'm taking the self-inflicted role of newbie for this case. Sometimes it's the little mundane things that cause all of the problems, so I definitely do not mind rehashing that a few times in order to make sure this isn't the case!

Shipping method cck field has been amended following your input, but the behavior persists. I've tried a few combinations of the key|value settings and also reset everything following the README info, with no luck.

I had a friend of mine look through the environment with me and everything looks good, however he mentioned that we may have a module conflict somewhere and I'm not even sure where to begin on that little adventure.

Can you think of anything else that would possibly cause this behavior with the quotes? I will continue to go through the module code to see if I can figure something out on my end.

Thanks for your help!

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
UPS & Flatrate

One thing that "might" be an issue is to have more than one shipping option for UPS. I know the module will work with UPS & Flatrate because I have a live production site running them both... However, the ONLY UPS shipment option I have enabled is "UPS Ground". I don't give an option for next day air, 3 day etc. Can you try doing just UPS Ground and see if it will take? I'm curious from a troubleshooting standpoint as that is one thing that we (myself and the programmer) never tested when creating the module. (Not sure if this is an issue with FedEx yet...)

Also, are you having any issues with putting only a flatrate product into the cart and it not pulling the rate specified at the product? joshpodcast let me in on his site and sure enough, you can set the flat rate of the product to $10.00 but when you checkout, it is $0.00 (the default rate) Just wanting to see if you confirm this.

flipsta's picture
Offline
Joined: 08/31/2011
Juice: 10
UPS & Flatrate

I can vouch for the flatrate issue here as well. My flatrate test product is set to 75.00 for flatrate with a base and default rate of 0.00 for that method "Flat Rate Shipping - Promotion". When the quote is generated on the first page of checkout, the value of $0.00 is added to the order for that method. This happens with "any flatrate" and "Flat Rate Shipping - Promotion" in every combination that I've tried as values for the cck field.

It also seems like it fails to grab a UPS quote regardless of options in the method. I'm not sure what I'm missing here but I will continue pushing through until I find the cause of the issue.

Thanks!

joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
Re: Ubercart Combine Shipping

Ive spent a lot of time trying to figure this out and im still having the issues mentioned above.. Im trying to get a hold of the developer now and pay to have this fixed. When and if its fixed I will give it back to the community so everyone will be able to use this since I think this could help a lot of people out.

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
Flat Rate Fix

For those of you having issues with the flatrate not pulling the quote from the product page, please try the updated uc_combine_shipping-1.0 version and test it out. The flatrate, UPS and FedEx appear to be working now.

joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
Re: Ubercart Combine Shipping

I just updated to the dev version and its working! Thank you!

flipsta's picture
Offline
Joined: 08/31/2011
Juice: 10
Quotes

The dev patch worked for me as well. Thanks for your help, sir!

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
Update to v1.0

I uploaded a new copy of the 1.0 release which should address the issues noticed from changes made in updating to UC 2.6.

joshpodcast's picture
Offline
Joined: 08/27/2011
Juice: 19
review order page

shipping is not being added to the total on the review order page when i have this module eneabled.

DGrey's picture
Offline
Joined: 10/27/2011
Juice: 3
Combine Flat Rates

Please help

I have the following below, enabled uc_combine, selected all to remove user selection from checkout and add all shipping quotes.

Case Shipment (if select case attribute) Should be combined with options below
Ontario and Quebec FREE (Over $60)
All other Provinces FREE (Over $100)
Ontario and Quebec Flat Rate (Less than $60)
All other Provinces Flat Rate (Less than $100)

Tested above without uc_combine and it works but gives user options to select.

Problem #1 - It is only showing case shipment total.

Problem #2 - I have another selection that I do not want to be combined (Pick Up $0.00) that the user should be able to select and removes all options above.

Please help not sure what how to configure properly for Problem #1 and totally clueless for Problem #2

Thanks for your help!

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
RE: Combine Flat Rates

DGrey,

I'm assuming that you have some custom conditional actions setup for the "Over $60, over $100 etc." flat rates?

#1) What are your flat rate methods?
#2) What are the conditions / condition groups for each rate method?
#3) Which "Shipping Method" do you have enabled for the product content type? I am guessing at this point you should ONLY have "any flat rate method" enabled for what you are trying to do.

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
RE: Combine Flat Rates

DGrey,

If you are not using any other shipping methods (IE Canada Post, UPS, FedEx etc.) then you don't really need the Combine Shipping module to accomplish what you are trying to do. In a sandbox, I was able to create three different flat rate methods, "Flat Rate", "Free" and "Customer Pickup". Using some conditional actions on each I was able to do what you were trying to do. The ONLY problem I ran into, was the inability to weight the "Customer Pickup". For some reason, it would always put it at the top, regardless of weighting the conditional action for it... : ( I haven't messed with flat rates much but I am very surprised there isn't a way to weight the order of how they show up to the customer...

Hope that helps and if you are curious on my conditional actions, let me know and I'll try to explain what I did.

davidarthur's picture
Offline
Joined: 11/10/2011
Juice: 18
Re: Ubercart Combine Shipping

This is a really useful module. I'm thinking of using this as a solution to separate shipments / preorders.
We sells magazines/books and event tickets. We'd like people who are buying an event ticket to also buy a book.
Event tickets ship a couple of weeks before the show but the book would be dispatched as soon as possible. With the combined shipping module the event ticket shipping is charged as an additional cost to the book solving that problem.

The only issue I have now is that you can only select 1 shipping method for a product with combined shipping. This causes a problem when you have different shipping rates for (in our case) UK and the Rest of the World.

I can change the cck field to be a multiple selection but this doesnt really work, it allows you to select them but it doesnt get honored as I suppose it's never been though of as an option. Any clues on how to implement this, I'm digging in the code now...

rprieto's picture
Offline
Joined: 11/11/2011
Juice: 4
Philsward, I have a site

Philsward,
I have a site configured with 2 product types. For one of them I have the flat shipping rates applied. But I have the problem with flat rates and UPS shipping rates. When I try to checkout the item which only uses the flat rates, in the review page it shows zero shipping cost. When I try to checkout a cart with items which works with UPS and FLAT RATE, in the review it shows ok.
I have Ubercart 6.x-2.6 and the UC_Combine_Shipping downloaded today. What could be wrong? I haven't modify any CA (there is any condition to the shipping CA).
Thanks,
Rodrigo

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
RE: Ubercart Combine Shipping Different Shipping Rates

davidarthur,

What are you using for your shipping methods? I am guessing flat rate? As far as the "choose rate" goes, you "should" be able to setup some conditional actions that will do what you are trying to accomplish. In doing some testing with DGrey's issue of having some "over x amount for these two areas, free, over y amount everywhere else free" etc, I was able to use some conditional actions to do what he was needing done. It took some playing, but worked out pretty slick.

I think in your situation, you will want to set the CCK Shipping Method field to "Any Flat Rate", then setup four flat rate items: Ticket Shipping UK, Book Shipping UK, Ticket Shipping World, Book Shipping World. Set the conditional action to charge the UK price if it's in the UK and the "world" price if it's outside the UK.

Kinda rough, but off the top of my head it sounds pretty good : )

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
RE: Philsward, I have a site

rprieto,

The issue you are having was part of a known issue introduced with Ubercart 2.7. Are you running Ubercart 2.6 or 2.7? (It should have worked fine with 2.6...)

Anywho, try the updated UC Combine Shipping 1.3 and see if that fixes it. Let me know if it still isn't working...

atozstudio's picture
Offline
Joined: 01/13/2012
Juice: 4
Order Review page shows/adds 2 shipping line items to subtotal

I'm having a slight issue using combine shipping. First off, we are using 2 flat rates: $0.00 for free shipping on certain products which we are calling Free Shipping, and various amounts for other products which we are calling Flat Rate Shipping). When choosing Flat Rate Shipping for a product, the shipping show properly on the initial checkout page. However, on the "Review Order" page, 2 line items show up for shipping (Flat Rate Shipping and Shipping Total). This in itself is not too bad, albeit a little redundant. The problem is both line items are being added into the subtotal. The final total is added up correctly, but it's a little confusing to users. I am using the most current version of uc_combine_shipping (1.3) and Ubercart 2.4, but I've tested it on 2.6 and 2.7 as well with the same results. If I disable uc_combine_shipping and manually choosing the Flat Rate option, this doesn't occur. Any ideas what might be going on? Thanks.

redcam's picture
Offline
Joined: 02/06/2012
Juice: 8
ubercart 3 and drupal 7

Are there any plans to port combine shipping to Ubercart 3?

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
Drupal 7

There is a functioning version for Drupal 7, however it was tweaked by the company sponsoring it, to accommodate their needs. It isn't as universal as the D6 version, but works... I have the update, just haven't had time to get it uploaded.

Over the summer of 2012, I expect to migrate some of my D6 websites to D7 and UC3. If you want the same functionality of D6, I suggest waiting until then. Otherwise, you can try out the D7 version to see if it suits your needs. These will ultimately have two different version numbers (i.e. 1.x -> 2.x) because of the difference in how they work.

Stay tuned and I'll try to get the D7 version up this week.

redcam's picture
Offline
Joined: 02/06/2012
Juice: 8
drupal 7

Thanks for the fast reply Smiling

I'm glad work is still being done on this module to move it into D7 / UC3

I was originally using D7 when I ran into the show stopping problem of not being able to combine shipping w/ UC3

The solution I went with was downgrading to D6 & UC2. I must say the UC combine shipping module saved the project

However, I would prefer to do the project w/ D7 to avoid an update in a few months, and essentially avoid additional costs for the client. The only thing stopping me from D7 is this one issue

If you are able to upload the D7 version it would be much appreciated. Otherwise, I'm ok with waiting till summer 2012, but would like to avoid this if possible

Thanks for spearheading this useful module

Cheers

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
D7 UC3 Update

I contacted the developer who is working on the D7 UC3 release and his recommendation at this point is to hold out on releasing a D7 version because UC3 is "constantly changing". He said he was able to get it working with an old dev version, but things have been changing so much that he is reluctant to post anything yet. He would like to wait until UC3 has a stable release (which according to the UC maintainers, won't be until the required modules release stable i.e. views, rules etc.) before releasing a production version of UC Combine Shipping

@redcam, what are your thoughts on this? Do you still want a D7 version, knowing that updating UC3 might break the combine shipping? Or are you still good with waiting until (hopefully the latest of) this summer?

redcam's picture
Offline
Joined: 02/06/2012
Juice: 8
D7 UC3

Hey philsward,

Thanks for looking into this. It seems the best option at the moment is to use D6 UC2 until something more stable is out.

Hopefully by summer things will be worked out. Until then im going to continue using D6

Thanks again

addison's picture
Offline
Joined: 02/08/2012
Juice: 3
Re: D7 UC3

his also means we have received considerably more input valentine Sms and translations from around the world. The Chamilo Association is getting more structured and has already collected enough funding Love Status to improve the documentation efforts and a series of little investments that will guarantee a better future for Chamilo.

davidarthur's picture
Offline
Joined: 11/10/2011
Juice: 18
Re: Ubercart Combine Shipping

Phil, first off thanks for your reply before and sorry for the delay in replying...

Your solution to setup up conditional shipping methods can handle most scenarios.

I'm currently hitting a scenario where combined shipping can't work and I cant see a solution other than changing the way this module works.
Example:

A Book has 2 shipping methods. 1 price for local and 1 price for international. These are selected by shipping country... and the node cck field is set to any shipping method, only 1 option would ever need to be presented to the user.
A Ticket has 2 shipping methods available to everyone, 1 for insured delivery and 1 cheaper option for uninsured delivery of tickets. The user will always have the choice of 2 options.

If the user has a book and a ticket in their basket on the checkout page they'll get the option of choosing the book shipping price, or the 2 ticket shipping prices. 3 radio buttons.
Combined shipping is grouping anything with Any shipping method together into 1 radio button group when in reality it should have separate radio button groups for each of the products.

Does this make sense? I hope i've explained clearly enough. I'm looking at the code to see a way of implementing this but you may have some suggestions that might help or be interested in developing this...

BTW have you though about taking this module to drupal.org so we can work from git and have a better versioning system?

Many Thanks,
David

philsward's picture
Offline
Joined: 09/15/2007
Juice: 112
Conditional Actions

@davidarthur
From what I can tell, you "should" be able to do everything you are needing to do, through conditional actions. While I personally am not a big fan of conditional actions (seems like they take forever to setup right) I think this method is going to be the best choice in what you are trying to do. I setup some mock conditional actions once, I don't remember if it was for your situation or someone else's and was able to show/hide the shipping methods based on different criteria. It took me a little while to get it right, but It does work.

Have you already tried this approach?

davidarthur's picture
Offline
Joined: 11/10/2011
Juice: 18
Re: Conditional Actions

I'm using conditional actions to show/hide international delivery options but in this instance we really do want the user to choose themselves whether or not they want insured or uninsured tickets. The problem is that when giving them this choice, they also get a 3rd radio option for the book delivery type (be it local, or international) because its shipping is set to Any and cannot be bound to one type in cck... because the pricing varies by destination. Does that make sense? It's difficult to explain Smiling