WooCommerce Advanced Shipping has been released some weeks ago, but never got introduced on here. Anyone who is looking for a nice allround shipping plugin for WooCommerce, I would recommend reading further in this article as it will explain what to expect from the plugin.

WooCommerce Advanced Shipping

Lets start with a small explanation what the plugin is and does. WooCommerce Advanced Shipping allows you to create (multiple) shipping methods. Of course no-one wants all shipping methods available for every person, state, country, weight, quantity, etcetera. This is where the Conditional Logic of the plugin comes in.

Conditional Logic

That might sound difficult and hard to some people, but I’ve made it as easy as possible in the plugin. All you need to do to create a condition rule is:

1. Select an condition
2. Select an ‘Operator’
3. Select/fill in a value

Selecting a condition

woocommerce_advanced_shipping_conditionsWhen clicking the ‘condition’ drop down you will see a list of conditions to choose from. Take a look at the screenshot on the right to see the conditions that are available when you install the plugin. Any of these conditions can be used to restrict the created shipping method.

Lets use Country for example in this post.

Selecting a Operator

In the operator you will find 4 options you can select from:

  1. Equal to
  2. Not Equal to
  3. Greater or Equal to
  4. Less or Equal to

I think #1 and #2 speak for themselves, when using the ‘Equal to’ operator, the (going to select) value should equal to the customers (shipping) Country.

When choosing the ‘Not Equal to’ operator,  it will exclude the shipping method from any customer that will have set his shipping Country to the selected value.

Selecting a Value

woocommerce-advanced-shipping-valueWhen you change the ‘Condition’ drop down, you will notice that the value field will display a loading icon and soon after will display a field. This is because not every condition has the same field type and possible drop down options.

When done loading (should take less than a second on most conditions), it can display a text field or a drop down. When there’s a drop down it will contain all the possible values you can choose from. In a text field you can set your own input value.

For this example, all countries will be in the drop down if you’ve set-up your shop to sell to specific countries.

End result for this simple example; Shipping method to the Netherlands is $10,-
woocommerce-advanced-shipping-netherlands

Combining conditions

woocommerce-advanced-shipping-combiningYou probably already noticed the ‘+’ button after a (each) condition. When clicking this button, it will automatically add a new condition row where you can set extra condition that needs to be met to allow the shipping method. This way you can combine it to set different shipping rates for e.g. weight, subtotal, quantity etcetera.

In the screenshot on the right you see thee browser screens, each with one shipping method created for shipping to the Netherlands. In the example the shipping costs are divided by the subtotal of the cart. If your order is more expensive, you will pay more shipping costs. Although there are three shipping methods, the user will only see one shipping methods with how the subtotal conditions are set-up.

Condition groups

woocommerce-advanced-shipping-condition-groupsFor those who’ve paid good attention to the screenshots might have seen the ‘Add Or group’ button below the condition. This button adds en entirely different condition group to your conditions. When working with conditions groups, all conditions in just one of the condition groups need to be met when the shipping method will be displayed. This way it will be easier to group shipping rates with the same name/costs without having to create new of shipping methods.

In the example in the right, this shipping method will display if a user has the shipping country set to; Netherlands OR France OR Germany.

Shipping method settings

Below all the conditions you’ve got a second box with some settings. In this settings area you can set the shipping title and some different shipping price options.

Shipping costs: Fill in the shipping costs you want to charge to the customer, empty or 0 is free. Only numbers are possible.
Handling fee: Extra handling fee, this is a one-time costs like shipping costs, this can be a number or a percentage (use percentage sign to set percentages. E.g. 5%).
Cost per item: Set the price that will be calculated per item, this includes quantity. This field can be a number or percentage.
Cost per weight: This fee will be multiplied by the amount of weight the customer has in his cart.
Tax status: Applies taxes if its setup in WC -> Settings -> Tax

Setting up cost per product / shipping class / category

If you have the need to setup some more advanced shipping cost, using the extra WAS Advanced Pricing extension would be a great addition. This extension allows you to add cost on a per product, shipping class and category basis. In addition to that, it also allows you to setup weight based shipping more easily and quickly from within one shipping rate.

With the WAS Advanced Pricing extension you can setup the advanced cost based on minimum and maximum quantities added to the cart, subtotal of the selected category / shipping class, or the weight of the selected category / shipping class products in the cart.

Within this extension it is also possible setup:

  • Cart and/or group subtotal percentage cost (e.g. add 10% of shipping class ‘A’ subtotal to shipping cost)
  • Setup cost per interval (e.g. add $2 shipping cost per each 10 quantity of shipping class ‘A’)
  • Easier then ever add cost per additional item in the cart

Examples

Pictures say more than a thousand words, so there are some screenshots on how you could use the plugin:

Test it yourself

You can always test the plugin out yourself via de demo website: http://was-demo.jeroensormani.com/

Hope you liked this introduction of WooCommerce Advanced Shipping. Feel free to post any questions or remarks about the plugin.

Oh, can’t forget to post where you can get this: Its available on CodeCanyon for a ridiculous low price of $17,-

Got a pre-sale or support question? Feel free to reach out to me!

Jeroen Sormani

I'm a professional WordPress plugin developer on a mission to create the best plugins for my clients. I'm specialised in developing general WordPress, WooCommerce and Easy Digital Downloads plugins.

Interested in talking about a WordPress project? Get in touch!

Follow me on Twitter

214 thoughts on “Introducing WooCommerce Advanced Shipping

Rheejee July 1, 2015 at 3:16 pm

Hello Jeroen,

I would like to try this plugin but here is my problem:

I have two shipping options UPS and USPS would it be possible to combine these two shipping options when a customer order any products?

Kind Regards,

Rheejee

jeroen July 1, 2015 at 3:51 pm

Hi Rheejee,

That is not possible with WooCommerce Advanced Shipping. WAS ‘only’ allows you to create new shipping rates, and not modify existing ones from carriers.

Cheers,
Jeroen

Tiffany July 16, 2015 at 4:02 am

Is there a way to combine shipping costs? For example, I have 1 product(lets call it product A) that costs $34 each to ship 2-day and another product(product B) that costs $45 to ship 2-day. If someone were to put 2 product A and 1 product B in their cart it should cost $113 for 2-day shipping. I will still need to do the same thing for overnight shipping too. Any help would be great.

Thanks,
Tiffany

jeroen July 16, 2015 at 5:57 pm

Hi Tiffany,

That setup would be possible with the WooCommerce Advanced Shipping – Advanced Pricing extension. You can read more about it here; https://aceplugins.com/doc/advanced-shipping-for-woocommerce/extension-woocommerce-advanced-shipping-advanced-pricing/

It will basically allow you to set a shipping price per product, which will be added up to one shipping rate.

(at the bottom of that page you’ll read how to get it 😉

Hope that helps!
Jeroen

Jeff Fisher July 20, 2015 at 9:05 pm

Hi, I am confused, and just a marketing guy not a code person.

I do not see it mentioned anywhere, and when I logged into the demo, I did not see the functionality either.

Will the plugin allow for both USPS and FEDEX shipping using weights and dimensions?
Thanks!

jeroen July 20, 2015 at 9:11 pm

Hi Jeff,

Nope, unfortunately not. WooCommerce Advanced Shipping ‘only’ allows you to setup your own shipping rates, its not connected to any shipping carrier plugin 😉

Hope that answers your question.

Cheers,
Jeroen

Uriahs July 27, 2015 at 1:55 am

Actually yeah you can, just find the cost per gram that they charge and set up the conditions for the shipping method. The dimensions condition will take alot of setting up but weights are easier. To answer your question yes it is as long as you know the rates from the courier.

Josh August 10, 2015 at 5:57 am

Hi there,

I just had a quick example that I wanted to check and make sure would work with this plugin before I bought it.

I know I can I have it so that If there is 3 x Books(category) in the cart it costs $4 postage for the first one and $1 for every extra.

However if I also add 1 x Vinyl Record(category) to the cart, I want the postage cost of the books to change to $1 for the first one and $1 for every extra.

So to spell it out.

Example A cart contents:
3 x Books – $4 + $1 for each additional = $6
TOTAL: $6

Example B cart contents:
2 x Vinyl Record – $9 + 2 for each additional = $11
TOTAL: $11

Example C cart contents:
2 x Vinyl Record – $9 + 2 for each additional = $11
3 x Books – $1 + $1 for each additional = $3
TOTAL: $14

Is this possible?

Cheers!
Josh.

jeroen August 12, 2015 at 5:48 pm

Hi Josh,

At the moment this setup is not possible. I am working on a update to make this possible with the WAS Advanced Pricing extension, but I don’t have an ETA on that just yet (expected in a few weeks).

Sorry I don’t have better news for you!

Cheers,
Jeroen

Josh August 17, 2015 at 12:22 am

Hi Jeroen,

Thanks for getting back to me. That’s alright, we’re not in a huge rush, even a month would be fine.

Is there anywhere I can stay up to date with plugin so I know when you have updated that extension?

Cheers.

jeroen August 17, 2015 at 6:54 am

Hi Josh,

You’ve got quite the confusing setup, now that I re-read it multiple times, I actually think it can be accomplished already with the WooCommerce Advanced Pricing plugin + the WAS Advanced Pricing extension!

(it can be accomplished by creating multiple WAS Advanced Pricing options based on; 1) Shipping class (per shipping class), 2) Shipping class (per item))

You can request that extension via the contact form here; https://jeroensormani.com/woocommerce-advanced-shipping/support/

(Again, your setup is a bit confusing, I’m about 90% sure it can be done as is 😉

Sorry for the earlier message saying it couldn’t be done ATM.

Jeroen

Josh August 27, 2015 at 2:04 am

No worries at all 🙂

I purchased the plugin and sent you a message via that form, just awaiting your reply.

Cheers!

jeroen August 27, 2015 at 7:33 am

Hi Josh,

I looked at my inbox and saw a message from you on Aug 24th, I replied that same day. Did you get my mail? (maybe spam folder as it did contain two attachments).

If not, please give me a shout over the email, works a bit better than via comments here 😉

Thanks!
Jeroen

Frank Tamminga August 11, 2015 at 8:11 pm

Hoi Jeroen,

I tried a thing on the demo site but cannot get it to work: The foundation that I create a new site for sells some small books and DVD’s in small quantities. In the Netherlands, as you may know, there is a shipping method with a reduced price if the package is basically in big envelope range: less than 380x265x32mm and 2kg.

I tried on the demo site to recreate this scenario. Added a few products with some dimensions. I have to say that I am only interrested in the combined height of the stack of products. In my case, the sum of the heights of the products.
Unfortunately it does not seem to work. Even though I added a condition to my shipping method, the method remained long after the stack reached the given boundary of 2.6 cm. (I have to take a foam envelope in account too). Do I make a mistake or is this not how your plug in works?

jeroen August 12, 2015 at 5:44 pm

Hi Frank,

The height/width/length conditions are setup to compare the given value against the Highest/Widest/Lengthiest products in the cart. This indeed may not work in your scenario. The reason it is like that is because when you stack items side-by-side for example it may fit multiple items.

I have a extension script available that lets you set a ‘volume’ condition, maybe that will work in your case?
The other option would be is to change the matching functionality / create a new custom condition to match the totalled height. For both I have example scripts available on how to add a new condition / change the matching functionality. This does require just a bit of technical/programming skills.

Hope that answers your questions 🙂

Cheers,
Jeroen

Frank Tamminga August 13, 2015 at 10:25 am

Hi Jeroen,

If you could provide me the two scripts… I will test which one would work best for my situation. I think that the second script will do the trick, but just maybe the volume option may be a bit more flexible in the end.

jeroen August 13, 2015 at 7:51 pm

Hi Frank,

Sorry I may not have been completely clear there, I got the ‘volume’ script ready and available, but if you want to change the actual matching functionality you’d need do get some custom coding done 😉 (I do got some example scripts available for that though).

If you want the volume script, please contact me via https://jeroensormani.com/woocommerce-advanced-shipping/support/ to get in touch 😉

Thanks!
Jeroen

Dave Votaw August 23, 2015 at 12:18 am

I notice that under Advanced Shipping Conditions you can set a rule based on “quantity.” But I am not sure what quantity means. Is it
a) the total number of items purchased for the whole order, or
b) the quantity of each item, line by line, in the cart.

What I would like is to be able to calculate shipping according to the total number of items being purchased. So if they buy 1-5 items – any items – the total shipping cost is $7. If they buy 6-10 items, the cost is $12, etc.

Thank you!
–Dave

jeroen August 23, 2015 at 7:25 pm

Hi Dave,

The ‘quantity’ condition is based on the total cart items.

So it sounds like thats perfect for you case 😉

Cheers,
Jeroen

Joel August 26, 2015 at 11:31 am

Hi Jeroen,
This might be to obvious to ask , can I add additional cost for another Item?
like: 1 item $8 2 $4 2 Items $12
I am having a hard time getting it to work in woocommerce, it worked for me for a while and no more

Thanks
Joel

TW August 27, 2015 at 8:06 am

Hi Jeroen,

i have a pre-buy question 🙂

I read about “Volume” script… Great! but i’ll need this condition:

on total items in a cart i need to calculate if volumetric weight is heavier than weight given and charge shipping based on the higher amount.

Is it possible to do this with your good extension?
As you can see i need also a field to add a Volumetric Divisor (For example 1mc=200kg) to calculate the volumetric weight… Can i do this?

Thanks in advance!

jeroen August 27, 2015 at 5:15 pm

Hi,

It is not possible by default with the plugin. I think you can create a custom condition that will match against the (1mc=200kg) amount and that will allow you to setup shipping rates where you compare the weight and the ‘Volumetric weight’ and set the shipping costs according to that.

Hope that makes sense 😉

Jeroen

TW August 27, 2015 at 2:38 pm

Other question… your plugin is Multilanguage compatible? WPML is ok?

Thanx… I’ll wait your info to buy your plugin!

🙂

jeroen August 27, 2015 at 5:17 pm

Hi,

There is no code specifically created for WPML at this moment (expected to do so soon). What I usually recommend is creating shipping rates based on the country and set the shipping title related to that.

Cheers,
Jeroen

david September 21, 2015 at 2:47 pm

Does this plugin work with Multiple Shipping Addresses plugin from woocommerce?
Multiple shipping addresses breaks an order up into multiple shipping orders so if a customer orders say 10 items he can ship it to 10 different addresses.

Thanks

jeroen September 21, 2015 at 8:37 pm

Hi David,

That would depend on the Multiple Shipping Address plugin and how it works.
If it works with shipping packages it should work, but do note that the WAS plugin does support shipping packages up till a certain point.

Can you tell me what your shipping goals are?

Thanks!
Jeroen

Emily September 24, 2015 at 9:23 pm

Hi Jeroen,
I am interested in this plugin, but I also have a couple questions. I’m planning on shipping to different ‘zones’ in the US but I need my two products to have separate, individual shipping costs. Can I designate the price of shipping per product per zone with this plugin? If so, how? I was also wondering is this an annual or a monthly ( plugin) fee?
Thank you!
Emily

jeroen September 25, 2015 at 9:58 pm

Hi Emily,

Yes, you can set that up.
To create a zone you will need the extra WAS Shipping Zones extension,
and to add separate cost per product the WAS Advanced Pricing extension comes in handy.

The plugin is sold on CodeCanyon, its a one-time payment for the plugin, and support is for 6 months (or you can buy extra 6 months on there for a couple bucks extra), more explained about that on CodeCanyon self (its their policy ;-).

Hope that helps,
Jeroen

Emily September 28, 2015 at 2:24 am

Hello Jeroen,
I really appreciate the support and answering my questions! It was very helpful, and made things clearer. The plugin (and extensions) look like what I’m needing (and looking for) in a shipping plugin and will definately be something that I will consider purchasing. 🙂
Thank you!
Emily

jeroen September 28, 2015 at 9:44 am

Hi Emily,

You’re welcome, I’d love to welcome you as a plugin customer 🙂

Jeroen

Adrian September 27, 2015 at 9:41 pm

Hello,
I need solution to do shipping cost depend from:
1. Weight
2. Country
e.g.
for UK:
For less than 500g – Price 5£
500g 2 kg – Price 7£
2kg to 5kg – Price 11£
5 kg to 10 kg – Price 15£
Over 10kg – Precio15£

For USA:
500g 2 kg – Price 10£
2kg to 5kg – Price 14£
5 kg to 10 kg – Price 18£
Over 10kg – Precio20£

To set above options – can I use your plugin?

jeroen September 28, 2015 at 9:43 am

Hi Adrian,

Yes this is possible to setup with WooCommerce Advanced Shipping.
It can be done by default with the plugin, but using the WAS Advanced Pricing extension it can be a bit easier to setup 😉

Cheers,
Jeroen

Adrian September 28, 2015 at 4:46 pm

Hi Jeronen,
you wrote: “It can be done by default with the plugin” – can you explain me a little bit more?:)

jeroen September 28, 2015 at 9:51 pm

Hi Adrian,

There are two ways you can setup your shipping needs:
1) Create separte shipping rates for country and weight scenario
2) use the WAS Advaned Pricing extension, to setup only separate shipping rates per country, and add the cost per weight via the pricing extension (so this would be a little bit easier as you need less shipping rates)

Hope that makes sense 😉

Jeroen

Adrian September 29, 2015 at 7:26 am

thanks,
re: 1)
Can I do without any plugin – just WooCommerce software only?
Could you tell me how can I do it? I spent much time to find some way.

jeroen September 29, 2015 at 10:03 am

Hi Adrian,

Sorry for the confusion here, both solutions I suggested require the WooCommerce Advanced Shipping plugin.
The #2 suggestion requires a extra extension on top of that to make it a bit easier.

Cheers,
Jeroen

Eki October 7, 2015 at 3:16 am

Hi Jeroen

I currently have 2 locations for my stock, and the offered products are different, so here is the rule I want to work:

Store A, sells item A, located on Country A.
Store B, sells item B, located on Country B.

-If customers want to buy JUST item A, they only will be charged with shipping fee from Country A.

-If customers want to buy JUST item B, they only will be charged with shipping fee from Country B.

-If customers want to buy item A and item B, then they will be charged with shipping fee from country A and country B.

My question is, can this plugin do this for me? The problem is simple but I always thought that there is no WC plugin that can combine shipping from 2 different locations, at one store. I always asked some developers and they said, create different store for each country, so that I have 2 stores, and the problem solved. I followed this but I am not satisfied with the result. I want to do ‘cross selling’ thing (item A and item B are related to each other, so it would be great to combine them into one shop), but the only problem is how to tell the store that if customer want item A and item B they will be charged with two shipping fees (because of the fact that A and B are stored in different locations).

If this plugin can do that, how to do so, in short description?

Thank you

Eki October 7, 2015 at 3:27 am

I am sorry if my previous comment could be confusing. The fact that this plugin is almost perfect for ‘TO’ countries (destination), basically I am asking what if there are multiple ‘FROM’ country, could I use this plugin to combine the shipping free from that different countries?

to USA, to UK, multiple options —> works
separated shipping from USA (particular item), separated shipping from UK (other particular item), multiple options —> ? (does it work?)

jeroen October 7, 2015 at 10:22 pm

Hi Eki,

It would depend on the exact shipping cost you need to setup. It is possible with the WAS Advanced Pricing extension to setup cost per category.

Another option would be to split the order into separate packages: https://jeroensormani.com/splitting-shipping-packages-in-woocommerce/

Hope that answers your question, please let me know if you have any other doubts!

Thanks,
Jeroen

Emily October 10, 2015 at 6:09 pm

Hello Jeroen,

I have one more question before purchasing plugin. Do the two extensions that you recommended have a fee? (WAS Shipping Zones extension and WAS Advanced Pricing extension)

Thank you for the assistance! 🙂
Emily

jeroen October 10, 2015 at 6:45 pm

Hi Emily,

If you send me a request for them via this form: https://jeroensormani.com/woocommerce-advanced-shipping/support/, I’ll send them to you free of charge 🙂

Cheers,
Jeroen Sormani

Emily October 11, 2015 at 3:10 am

Hi Jeroen,

Ok, thank you very much!! 🙂 I appreciate all the answers to my questions and great support!

Emily

Peter October 21, 2015 at 7:09 pm

hello Jeroen, I want to set up shipping for a client who sells large items, of various sizes, with different shipping costs for each item. I also want to further vary the shipping costs depending on 3 geographical zones – local, UK and rest of Europe. Is this possible with your plugin? Thanks!

jeroen October 21, 2015 at 9:06 pm

Hi Peter,

Setting those shipping scenario is possible when using the extra extensions Shipping Zones and WAS Advanced Pricing:
https://aceplugins.com/doc/advanced-shipping-for-woocommerce/extension-woocommerce-advanced-shipping-advanced-pricing/
https://aceplugins.com/doc/advanced-shipping-for-woocommerce/extension-woocommerce-advanced-shipping-shipping-zones/

Hope that helps 🙂

Cheers,
Jeroen

Peter October 22, 2015 at 12:41 pm

OK Jeroen, thanks for that info. So, how do I get the extensions – do they come with the Advanced Shipping plugin?

jeroen October 22, 2015 at 2:33 pm

Hi Peter,

After you purchased the WooCommerce Advanced Shipping plugin you can request the plugins – free or charge 🙂 – via this form: https://jeroensormani.com/woocommerce-advanced-shipping/support/

Cheers,
Jeroen

Peter October 22, 2015 at 3:17 pm

Great Jeroen, have just done that. Great service!

Leave a Reply