A customer of mine asked to be configure his e-shop to be able to deliver into a country outside of the EU, as Mondial Relay do not do it. I think I proceeded properly but once I test, it says : “No shipping method available”.
What I do
- In WooCommerce > Settings > General > Ship to specific countries, I add the country I want to ship outside EU.
- In WooCommerce > Settings > Shipping > Add a shipping zone I add this new country.
When you add the ne shipping zone, you have to configure the shipping method. As it is outside the EU, I select the shipping method Flat Rate.
You have to know that when you choose Flat Rate, you have to define classes and set an appropriate class for each product.
Create shipping class for Flat Rate
In WooCommerce > Settings > Shipping > Classes, I simply add 3 classes : small, standard and big.
Back to shipping
- Go back to WooCommerce > Settings > Shipping > Shipping zones, and select the recently added country.
- Click on Modify.
- Now you’re on the edit page of the country you’ve added, click again on Modify.
Now you see that all the 3 classes have been added and you have to define the price for each one.
Just set the price and click on Save.
Test the shipping to the new country but still got “No shipping method available”
And now, when you add a product to your shopping basket and validate the order.
You set a address in this new country, and WooCommerce says “No shipping method available”.
I checked everything and everything seems to be ok, but I keep getting stuck !
Finally found the solution to “No shipping method available”
I finally land to the page WooCommerce > Settings > Shipping > Shipping Settings.
With nothing to loose, I checked the box to Activate the debug mode.
Go back to testing, and … oh ! When selecting to ship to my new country, it select instead the rest of the world.
My mistake was that I forgot to drag and drop the new country before the rest of the world.
Fixing that and everything went back to an expected situation.
So keep in mind, WooCommerce seach the shipping method from first to last, and when it finds something that match, it takes this one. So you always have to put the rest of the world as the last solution.