How To Assign Rates To Shipping Classes in Woocommerce Plugin

Aug 6 • Featured, Online Business, Web Design & Dev28 Comments

How To Assign Rates To Shipping Classes in Woocommerce Plugin

One of my clients had me set up his e-commerce site and recently, we ran into a simple issue with woocommerce. It’s a very basic question but I couldn’t readily find an answer to it anywhere – not even on the woocommerce documentation. And as I researched about it, I’ve seen other people posting the same question also.

It’s about setting up the rates or charges that you want to apply for particular shipping classes. Creating shipping classes for your products in woocommerce is very straightforward and the instructions are well laid out in the developer’s documentation. But it is how to assign rates to them that’s very hard to come by.

Most of the answers I found talk about buying the “table rate shipping” extension which costs $199 for a single-site license. I personally find it a big rip-off and an overkill if all you wanted to do is assign a simple flat rate charge for your shipping classes. I mean, think about it – what is the whole point of letting users create shipping classes if you can’t assign rates to them? Is it all so that we will buy the overpriced extension?

Fortunately, after about an hour of browsing through the settings pages in the admin area, I figured it out. This might be nothing to the experienced woocommerce users, but to the first time users of this plugin, this could save you hours of work, research and possibly money. So here’s how to do it:

  1. Let’s start with creating shipping classes. To do that, go to Products >> Shipping Classeshow to assign rates to woocommerce shipping classes step 1
  2. On the Shipping Classes page, create a shipping class just like how you would do it when manually adding categories or tags for your blog posts :how to assign rates to woocommerce shipping classes step 2
  3. Now that you have created a shipping class. We’ll assign it a rate, the amount you want to charge your customers for shipping of products under this shipping class. Go to WooCommerce >> Settings >> Shipping >> Flat Ratehow to assign rates to woocommerce shipping classes step 3
  4. Scroll down to Additional Costs. First select how you want to apply the shipping charge – on a per-item or on a per-order basis; then click the button + Add Cost :how to assign rates to woocommerce shipping classes step 4
  5. After clicking +Add Cost, a new entry (or rule) will be added where you can set how much charges you will apply to particular shipping classes:how to assign rates to woocommerce shipping classes step 5

    Don’t forget to click the Save Changes button when you’re done, to apply the changes.

So.. If you have come to this post and read this far, I’m assuming that you are asking the same question. I hope this post has helped you, saved you time and money by not buying the table rates extension. Of course that extension has additional features, but when you’re just starting out with your online business, setting up your e-commerce site can be very complicated and you just want simple solutions to simple problems like this.

Let us know what you think by leaving a comment below. Also, if you were able to find a better solution, you would make the world a better place by telling us about it below! ;)

Quick snippets about this post
Author:
Nimrod Flores
Date Published:
Title / Topic:
How To Assign Rates To Shipping Classes in Woocommerce Plugin
Rating:
5

Related Posts

  • Ilaria

    Thank you so much for this, Nimrod! You saved me the 250£ my developer asked me to implement this easy-but-hidden trick through an additional plugin, not to mention all the hassle and waiting time. What a satisfaction, thank you again for sharing :)

    • http://nimrodflores.com/ Nimrod Flores

      hi Ilaria, I’m glad to know you’ve found my article useful. even after more than a year already since I posted this. :)

  • AMK Custom Cycling

    Hi, Did you figure this out for International Shipping too? It works great for flat rate shipping but International Shipping always uses the ‘Cost’ entered on the International Delivery page and doesn’t add the extra amounts from the classes – or at least I can’t find a way to do it.

    Thanks

    • http://nimrodflores.com/ Nimrod Flores

      I haven’t actually tried doing exactly that, yet. But just thinking about it, I imagine the stuff I described in the above post wouldn’t really be applicable to international shipping.

      Because then, it’s more complicated. You’ll have to set different rates for different shipping classes and for shipping to different countries. For functions like these, I think the “overpriced” extensions will justify its cost already.

      Try looking into other extensions also, like the DHL, Fedex or USPS. I’m sure you’ll find what you want to do in one of those extensions.

      • AMK Custom Cycling

        Thanks. I really just want to have the same flatrate for International Shipping as for domestic but to add extra amounts for diffrent classes, exactly as you explained for flat rate shipping. I will have to explore the plug-ins.

  • Chris Humphrey

    Thank you!!!

    • http://nimrodflores.com/ Nimrod Flores

      You’re welcome! :)

  • Patricia

    Hi Nimrod, thanks so much for posting this. I am relatively new to woo commerce and could not figure this out but one question on google led me to your excellent answer. Much appreciated. Patricia, Ireland

    • http://nimrodflores.com/ Nimrod Flores

      You’re welcome Patricia. Thanks for the kind words. :)

  • Heather

    This has been a life-saver!!! Thanks so much :)

  • Boost Yourmin

    Hi Nimrod, Thanks so much for your article! I was just wondering if you knew of any way to show the customer how the shipping has been calculated?

    • http://nimrodflores.com/ Nimrod Flores

      I’m sure you can indicate it somewhere on your site how you calculate shipping charges. But when the actual amounts are displayed on checkout, only the breakdown can be automatically shown..

      just not sure if there are plugins that can show exactly how the computation is done on a per-transaction basis. Haven’t used one before, usually the breakdown is enough info for most people.

  • Pako Herrera

    Hi Nimrod, correct me if I’m wrong but you’re saying that I can set different shipping prices for an amount of products, let’s say:
    for 1 item i charge $5
    for 5 items I charge $3
    ???

    • http://nimrodflores.com/ Nimrod Flores

      That’s not exactly what I’m saying above but I’m sure you can also do that with the basic version of Woocommerce.. just not through the use of shipping classes.

      Shipping classes are like classifications for your products, think something like huge products and tiny products. (for example: bulldozers and needles)

      You create these classifications (shipping classes), then you assign them rates. Then in each of your product listing, you indicate its classification – whether it is a huge product or a tiny product.

      So using shipping classes won’t really be helpful in your case.

      • Pako Herrera

        Hey thanks for your fast reply.
        I see what you’re trying to explain, it’s helpfull but not what i’m lookign for.
        I think I’ll need to use those woo commerce plugins to solve my problem.

        Thanks for your help tho !

    • http://www.localbizranking.com.au Chris Vassiliou

      Hi Pako did you get an answer to this issue yet ?

  • Bob Cullison

    Hi,
    I would like filter the UPS plugin by shipping class, some things have flat rate, 1/2 ounce and some go UPS 3 1/2 pounds. How ? Bob

    • http://nimrodflores.com/ Nimrod Flores

      Hey Bob,

      You should consult the documentation that came with your UPS plugin. My post above only talks about the proper use of the shipping classes feature that comes with the basic version of Woocommerce.

  • Peter Altuch

    one more question on this matter if we are trying to set up rates based on zip codes in US and weights/measurements can it be done with the UPS plugin. it seems they do not support multiple zip codes for drop shipments. Our suppliers are located throughout the country so distance is a factor. What do I need to set this up?

    • http://nimrodflores.com/ Nimrod Flores

      I haven’t tried the UPS plugin yet. In my post above, I’m only referring to the basic version of Woocommerce, without any additional plugin.

      If you bought the UPS plugin, I’m sure they provide the documentation for using it. Please refer to it for proper usage.

      Further, from what I understand of the UPS plugin, it retrieves data straight from UPS themselves. So I think it’s safe to assume that if UPS provides different rates based on zip codes in the US, you should be able to do that with their plugin.

  • pam

    Hi Nimrod,

    This is a great explanation and this is the way I had my woocommerce site set up. However, my problem is that I need different flat rates.
    For example, most of my products ship with a $14 flat rate, but some other products are bigger and more expensive to ship, so I added additional cost on top of the flat rate and apply it “per product”. My problem is that someone needs lets say 2 of these bigger products, the first product will charge $24 shipping ($14 flat rate + $10 additional cost) and my second product will be $34 ($14 + $10 additional + $10 second product additional) is there any way to have some items to have the flat rate calculated as well on a product base without having to purchase the extension plugin?

    • http://nimrodflores.com/ Nimrod Flores

      Hey Pam,

      Check again step 4 above. When creating your shipping class, for the “Costs added…” option, select “Per Order” so that your customers will be charged only once for shipping even if they order multiple items (provided the items have the same shipping class).

      But if the multiple items have different shipping classes, my solution above will not be applicable for achieving what you want. You’ll have to work out a different shipping arrangement for your items.

  • Sian Thomas

    Hi Nimrod,

    I have followed your very comprehensive instructions but have the following query which I am hoping you can assist with. Having created the new shipping classes, how do you allocate different countries to those classes.

    The classes I want are:
    UK Royal Mail Standard Delivery with free shipping for orders over £20 which I have implemented successfully.

    I want to charge an additional fee for special delivery which I can implement using your method above however the 2 other delivery rates I want to apply is for Southern Ireland and Europe which is one fee and for the rest of the world which is for a higher amount. I have followed your instructions above but the question I have here is how to I assign different countries to each shipping class. Is it something I can do using your method?

    Your soonest help would be much appreciated.

    Regards
    Sian

    • http://nimrodflores.com/ Nimrod Flores

      Hey Sian,

      Unfortunately at the time of this writing, what you can do with the free version of the woocommerce plugin does not include that feature you described. You can only add shipping classes and assign rates to those shipping classes. Then they will be applied to all product items which you have assigned the shipping classes to.

      You can’t create different sets of shipping classes for each particular country you are serving. But this doesn’t mean you can’t do it, you just have to buy the plugin extension which has this advanced capability that you need.

      • Sian Thomas

        Thanks for the quick reply, admittedly disappointed in WP (not you) as its another way to part self with cash and was a feature of my previous CMS but will check out the link.

        • http://nimrodflores.com/ Nimrod Flores

          Yeah, I know it sucks.. but let me just correct you a bit, the woocommerce plugin is actually not part of wordpress as a product. Woocommerce is just a plugin for WP created by Woothemes.

          So if we should be disappointed at someone about this, we should be disappointed at Woothemes.

      • Anson Yuhas

        I actually had this same problem. I am in the US but wanted to assign different rates to Canada and eventually Europe. While creating a new product you can only choose one shipping class. After the product is created you can do a bulk edit and apply as many shipping classes as you would like. It looks like you may be only able to create 1 international shipping option but that is better than zero.

« »