Code

Discussion on Table Rate Shipping for WooCommerce

Discussion on Table Rate Shipping for WooCommerce

Cart 21,735 sales

bolderelements supports this item

Supported

This author's response time can be up to 2 business days.

4125 comments found.

Hello, here is my question before buying: I would like to set shipping by weight but: If product A is 1 Kg and product 2.5 KG, I would like to charge the shipping for 1Kg and 2.5 kg and not 3.5 KG. Because products are sending from different location and I don’t went weight to be added to each other. Is it possible to do that ? Thx

Definitely! There are three other separation types you can choose. By default it would charge by order and thus charge 3kg, but you can also choose to charge per item, per line in the order, or per shipping class if you are using those. It will then find a shipping cost for each item or group separately, and combine them together to make one overall shipping cost for the customer.

I’m playing around with your demo and can’t figure out how to setup a local pickup option where it would charge proper sales tax since WC bases that off of shipping/billing address.

In other words, I want to present 3 options to customers 1. UPS 2. USPS 3. Local Pickup. If the customer is out of state and chooses the first two, then no sales tax. But if they are out of state and choose local pickup (I often have customers travel here) then it needs to charge them sales tax, despite their billing address being out of state.

Hopefully that makes sense. I realize that WC has local pickup built in as a shipping method, but I’ve found it to be problematic since it auto defaults to that, and I often have customers accidentally select it. We often have meet customers at events, so having local pickup/delivery options would be great.

I’m afraid taxes are handled through a separate module than shipping. The only thing shipping can handle tax-wise is disable it for any option it returns. So what you really need is a tax based plugin or script that will modify taxes you have setup. So you would have to setup taxes for everyone, but use a filter that removes it depending on the shipping option selected.

I was afraid of that, I was just hoping there was a “local pickup” option within this plugin. There are several local pickup plugins that allow for expanding features. I’ll keeping looking, thanks for your response!

Hi there, I want to disable shipping for certain products from certain zones. That’s why I created shipping classes and use conditions. However, I must always choose some shipping costs, which I don’t need. Is it possible to disable shipping at all showing the shipping option to exlain the reason for the customer?

I’m sorry, I don’t quite understand what you are asking. I do know that there is no way to explain to the customer why they are not receiving a shipping option, at least not through this plugin. There are messages plugins out there, and I have code snippet that briefly explains how to change the error message: http://www.bolderelements.net/support/knowledgebase/change-no-shipping-available-text/

I’m afraid I did not understand what you meant by “However, I must always choose some shipping costs, which I don’t need.” If you could please explain further I would be happy to help.

OK, I’ll explain what I need. We don’t ship certain items to ceratin countries or zones. How do you recommend preventing customers from certain countries from ordering those products using this plugin? Sure there must be some explanation of that available.

Generally the best way to do so is to use shipping classes. If you set the ‘Base Table Rates’ setting to ‘Per Class’, the method will require all classes in the cart have an option. So if you don’t define a cost for one of the classes, then it won’t be valid for shipping and the option will not be returned. This will only work if all items have a shipping class however. If you have items that do not have a shipping class, then you will need to instead add conditions to your table rate rows that exclude the shipping class you do not ship.

Hi, before I buy I need the answer to my question: I have added Shipping classes in Woocommerce. Light, Heavy, Extra Heavy products and each class has a price. But I want to add Location to affect the prices. I mean, a Heavy product may cost different shipping to different destinations. Can your plugin handle this scenario?

Certainly! It runs on the WooCommerce shipping zones. For each region you have with different costs you can setup a shipping zone and add a separate Table Rate method to it. That will give each region it’s own table so it can have it’s own set of rules and prices.

Hello ! I have a problem with Free Shipping option after I install this plugin Free shipping after $150 is not working can you assist me please ?

Absolutely! If you need help with a specific issue, please open a support ticket where you can share screenshots and more details regarding the problem.

http://bolderelements.net/support/tickets/new/

It’s been 2 days and nobody answer me !

My apologies, but support is only offered on business days. Your ticket will be responded to shortly this morning.

Hi, I’ve these errors; Warning: A non-numeric value encountered in /web/htdocs/www.xyz.com/home/wp-content/plugins/woocommerce-table-rate-shipping/deprecated/woocommerce-table-rate-shipping.php on line 388 Can you help me? Thanks

This is a warning that is generated by the legacy method. I’m afraid the code for this old method is no longer being updated. If you are not using the old method anymore, I would recommend deleting the old shipping zones that go with it (so long as you do not also have the Bolder Fees plugin running). Once they are gone, the legacy method will stop loading and the warning will go away.

If you are still using the legacy method, I would recommend looking into the new settings page which is added to the WooCommerce zones. The legacy method will continue to operate as far as I know, but it does return some warnings since it is not updated to the latest WooCommerce standards.

http://www.bolderelements.net/support/table-rate-shipping-woocommerce-4-0/

Pre-sale question: I need to set the following shipping prices: 5 items or less: $5.25. 6 to 10 items: $10.00. More than 10 items: $10.00 plus $0.80 per item. Can I check that your plugin can be configured for these options? Thanks

Certainly, this is a popular configuration with this plugin! The last one is a little tricky so I would recommend reading this article in the knowledgebase. The problem is that the shipping method cannot charge $0.80 starting at the 11th item. It will apply it to all items in the cart, but you will just need to adjust the $10 fee to account for this. You can see an example in the article.

http://www.bolderelements.net/support/knowledgebase/bundle-pricing/

Ok brilliant thanks!

Hi, I have a quick question on functionality. I’m using Dokan MultiVendor. Can I?

- Set different shipping rate criteria for each vendor - Calculate these rates in a variety of ways (flat, zone, weight) based dynamically on the vendor and seller location. - Give free shipping for a specific vendor at a set price - Will this all still work with a cart of mixed-vendors - Bonus: do you know of a plugin that would generate a shipping label from the Dokan seller order page?

I’m selling products that are generally available on the producer’s personal site as well so I need shipping parity or customers will abandon for the cheaper shipping option. If this all works you definitely have a customer!

Much thanks for your help!

Thanks a lot for the response. I have it set up and almost working correctly. My only problem is that I have shipping method ‘Vendor A’ assigned to Vendor A’s product, but shipping method ‘Vendor B’ is showing up in my cart. I must be missing something.

I think I’m misunderstanding/skipping the “ensure that the vendor is adding their shipping class to each row in their tables” part.

Side notes: I’d be happy to take this out of the comments if you’d prefer. I much appreciate your help thus far!! Also, I’ll be doing all of the setup so we miss any likelihood of someone accidentally messing something up, which makes this much easier.

I believe I got it how I wanted it, after a couple tests/experimenting. What I was missing was putting all the rates under one zone (I had multiple zones that were defaulting to the first one, I think) and Adding the constraint of “must include” shipping class to each shipping class. Thanks for the help.

If you want to see how its configured just to see another use case let me know.

Yes, that’s a common setup issue with the zones. It’s in one line of their documentation, but it would be more helpful to have something on the page itself stating that customers can only qualify for one zone, so any matching zones after it will be ignored.

I’m glad to hear that everything is going well now, but if you have any questions or concerns in the future, the support site can definitely be easier. This small comments section is very limiting so it’s easier for pre-sale questions. Thanks! http://bolderelements.net/support/tickets/new/

Hi there!

I have a specific question on using various shipping classes in one order and how to set the total shipping cost to equal the sum of the two classes.

I am working with different shipping zones and different products with various shipping fees (set by shipping class). Shipping fees adjust with each additional product added.

Here is the table I copied to my site via table rate plugin: https://printaura.com/shipping

Right now, the sum of the different products does not add up to make a total shipping cost. The table rates are all fine for individual entries but if I add 1 t-shirt and 1 coffee mug (each have different table rate) the shipping cost does not combine to make a total sum. Shipping is fine for the individual entry of 1 t-shirt OR 2 t-shirts OR 3… OR 1 mug OR 2 mugs etc… but if someone wants 2 shirts AND 1 mug = error! What do you recommend?

Thanks for the help, I’m eager to get this going!

No, the install button is a CodeCanyon thing. It connects you to a freelancer if you need help. If you are getting an error when you upload the plugin files through the dashboard, then either you have a plugin installed with the same folder name, or you are uploading the wrong package. By default CodeCanyon gives you a packaged file with documentation and licenses included. You need to unzip this to find the plugin installer inside.

Got it!!! Thank you :) Working on a new table now.

Awesome, that’s great news! I hope it goes well but if you have any questions you can open a support ticket anytime to leave screenshots and more information.

Our host found some issues:

PHP Warning: array_unique() expects parameter 1 to be array, null given in /nas/content/live/wp-content/plugins/woocommerce-table-rate-shipping/deprecated/woocommerce-table-rate-shipping.php on line 2271

PHP Warning: in_array() expects parameter 2 to be array, null given in /nas/content/live/wp-content/plugins/woocommerce-table-rate-shipping/deprecated/woocommerce-table-rate-shipping.php on line 2276

These are known messages in the deprecated method. They simply indicate that the table in the old method is empty. If that is true and you are no longer using the deprecated method, please delete the old shipping zones that went with it. This will tell the plugin you are done with the legacy method and it will stop loading.

Please note you cannot do this if you are also using the Bolder Fees plugin. If that is the case, please open a support ticket and I will gladly help you stop it from loading a different way. http://bolderelements.net/support/tickets/new/

Dear friends

There is a message on the plugin setting page (in Woocommerce settings- shipping-table rate), that says:

“As of Table Rate Shipping for WooCommerce 4.0, this settings page has been deprecated. It will continue to function over the next few updates to help with transition, but eventually it will be removed. It is recommended that you establish new Table Rate methods within the WooCommerce Shipping Zones to avoid future shipping complications.”

How should I understand it? Thank you be well Martyna

Hey I am working on applying the changes. You mentioned : “If you are working on this on a live site it is best to keep errors logged, not printed to the screen so that your customers do not see them. “

how to keep the errors logged?

Thank you Be well M.

The easiest method is probably to add a few lines to your wp-config.php file. WPBeginner has a nice, easy to follow tutorial for this: http://www.wpbeginner.com/wp-tutorials/how-to-turn-off-php-errors-in-wordpress/

Thank you, I will follow it now

Hi, the plugin seems great, but after working a few hours on your demo i couldn’t find a way to make it work for our shipping needs. If you can find a way, i’ll purchase instantly. - there are 2 kind of products: posters, and everything else - posters can be shipped in rolls or in envelope, the client has to choose - everything else has to add costs by weight rules, one price under 2kg, another price over 2kg - if order subtotal is more then 100 there is no cost. Now i made everything work except the subtotal option, witch works only if i set the table to calculate per order, but in this case the other rules don’t calculate the total shipping correctly in a mixed cart with both product categories. They work only with table set to “per line”... and then the subtotal option is skipped.

I made a screenshot of the options, can send it to you, if you say where. Thank you

It should take the title from the option itself. I’m afraid I cannot replicate the issue though, is it possible somebody else altered it? I only saw one zone with both Table Rate and Free methods in it. When I calculated for that zone, I saw two options titled ‘Versandkosten’ and ‘Roll’. When I increased the subtotal to $100 I saw one option titled ‘Versand kostenlos’. So I’m afraid I do not know what you mean by ‘Poster’.

It sounds like a code snippet from our support page, however. It’s possible it was still running. I could not see it personally, but I verified the theme’s functions and disabled anything not necessary. http://www.bolderelements.net/support/knowledgebase/change-shipping-package-title/

Whoow, how do you split shipping like that? I’m sure i could make use of this – have to investigate. Anyway, at the moment i was alone in the Demo and “Poster” showed up just like in your example on the column and between Subtotal and Total in bold. I was not referring to the titles next to the shipping price. I’m sure it’s going to be ok since you provide awesome support. Just for that and it is worth buying. Thank you, i’m in ;)

No problem at all, should you run into any issues or have questions, just let me know! If you want a quick way to split packages you can try my free plugin that does so. At the moment it is very basic but it should help illustrate how it works: https://wordpress.org/plugins/multiple-packages-for-woocommerce/

Is there a way to make the shipping cost to £0 but only on certain products, limited to users that have a specific role?

May I ask how you charge shipping for the other products first? By default, WooCommerce requires that one method cover all items in the cart, so the others would have to be calculated through here as well. The only way around this is to separate the cart into packages, which allows WooCommerce to offer separate shipping calculations for each package. I have a plugin here you can try for free if you think this is something you need:

https://wordpress.org/plugins/multiple-packages-for-woocommerce/

We use a UPS plugin and also a flat rate option for UK only. Would this make a difference? I figured I would need to create a new free shipping method? I will have a look into the plugin you sent me.

The flat rate option for the UK you could transfer to the Table Rate method to make this all work, but if you want to continue using the UPS plugin for some items, then you will have to split the cart up so that a different method can be used for each group.

Can this plugin handle conditional shipping? for instance, only show Y shipping method if X payment is selected?

It can handle conditional shipping but it all depends on the condition. Payment Gateways are not one of them because the API for that runs after shipping. To the best of my knowledge, you can only setup multiple shipping options, and then change the available payment gateways based on the shipping option selected.

http://www.bolderelements.net/support/knowledgebase/hide-payment-gateway-based-on-shipping-option-selected/

Hi There, I’ve not got round to upgrading your plugin from 3.6.5 – is there anything that I need to consider before upgrading to the latest version? Ie will I have to input my current list of table rates again or is there a quick solution (eg export and import etc) Many thanks!

You will indeed need to setup your rates again. Table Rate 4 switched from the old shipping platform to the new one within the shipping zones. This switch allowed the plugin to make many necessary improvements, but it became so different that there was no easy import/export from one to the other. However in many cases configuration was smaller due to new conditions and cost types so it’s a good opportunity to look over your settings again.

Please note that the legacy method is still included with the latest version, so your shipping will continue to run until you are happy with the new configuration. When you no longer need the old method, simply delete the old shipping zones and the legacy method will stop loading.

You can learn more about this update here: http://www.bolderelements.net/support/table-rate-shipping-woocommerce-4-0/

Hi! Is it possible (or will it be) to assign a base fee to shipping methods? It would be tremendously helpful if “flat fee” was a cost option we could add to methods, in addition to setting cost per class as is already possible. I use First Class and the base rate is minimum 20 USD. The problem is if someone orders two units, with the current lack of base rate I can either charge them $40, or undercharge for one unit.

Ok, I have a question and an observation of a possible bug.

Q: If I use “add surcharge to shipping” from the code above, could I change “cost * 0.06” to “cost + 20”?

I also had a strange observation.

For the world shipping zone (the only one I have) I added Table Rate Shipping as a shipping method. Base table rules are per class. User permissions are “everyone / admins only”, no settings on additional options.

I added Shipping Option #1. The title is DHL / FedEx. I have the following table rows:

- Shipping Class, includes “parts”. Cost $7, $3 for every 1 item(s).

- Shipping Class, includes “portable vaporizer”. Cost $17, $3 for every 1 item(s).

In my cart is 1 “part” and 1 “portable vaporizer”. On the checkout page, the shipping cost for DHL/FedEx is $30.

Everything is correct.

Now, I add a 3rd row. On this row I want to add a fixed cost to Shipping Option #1 (DHL/FedEx). I add the following row:

- Quantity, Greater than (>=) 1. Cost $10

After this I expected the price to go up to $40. On the checkout page however, the shipping cost for DHL/FedEx went down to $20.

I tried changing Base table rules from per class to per item, but it didn’t make a difference.

So, I tried changing the 3rd table row. I removed the condition of Greater than (>=) 1. The 3rd row was thus:

- $10 cost. No conditions set.

On the checkout page, the shipping cost for DHL/FedEx is still $20.

How is this intended to work, and is it a bug? What it seems to be doing is ignoring the first two rows, and only using the third row ($10 * 2 items in cart = $20)?

It sounds about right. If you are calculating Per Class, the the plugin will choose one row from the table for each class. There is no accumulative effect, just priorities. The first row has the lowest priority, and the last row has the highest priority. This is the general logic behind a table rate method. If you are looking to add costs on top of the price the table returns, then you will need to do so via code, or through the fees extension when it is available.

In regards to the question about the code, absolutely, you can change it to whatever value you need. It can be multiplication for a percentage based fee, or addition for a flat fee added to the cost.

Ok, I’ll just wait for the extension in that case. Thanks for your answer.

Can your plugin configure Free + Shipping? if yes there is some tutorial how to configure?

I’m not sure I understand your question. Are you looking to charge shipping on free items? Or have a mix of items that ship free and some that don’t? Either is possible, but I can’t really explain how until I better understand what you are trying to do.

That’s right, I want to offer some products in my store just pay shipping while other products have free shipping above a certain amount. Is it possible with your plugin?

Definitely! In scenarios like this I would recommend using shipping classes to define the groups you have. Then you can calculate shipping “Per Class”. This is when the table rate method separates the cart into groups based on shipping class, and calculates a separate rate for each group. This makes it possible to have different rules and different pricing for each group.

Ok I have setup tables for just about every country out here now, seems to be working as desired now.

But what I still can’t figure out is how do set a limit options from being selected, using a condition rule maybe?

  • Lets say you have an order that exceeded $500 and it ships outside the USA.
  • How do I prevent that Shipping option from showing and thus force select the next option that does allow an order with a value of $500+ as some countries do not allow you to use a low cost shipping if the value exceeds $500 for TAX / VAT / Customs paperwork.

Thanks so much for the great support :)

Love the shipping software, let me know when we will see version 4.2 as I now have some 50+ Hide Shipping Method Based on Subtotals that I need to setup. Looking for other ways to do the same in the meantime. Hope the update is not too far off. :)

Has this feature “Whole table conditions” been added, since we are now 3 months from this post, I’m really having a hard time using it with that feature missing. I must find a way to Hide Shipping Methods Based on Subtotals, even if I find something that can work with this plugin. It’s vital now. Thank you.

I’m afraid 4.2 is not ready, but I am just about wrapped up with this feature. It’s been a little trickier than expected to get working. If you would like to give it a try ahead of time, please open a support ticket and I will update the ticket when I am confident it is working well.

(Please note that these settings are placed within the method itself. There is no “single page” settings that can toggle multiple methods based on a specific condition.)

https://www.bolderelements.net/support/tickets/new/

Hello,

I am looking for a plugin to do the following. Please tell me if your plugin can be used. I already checked the normal Table Rate Shipping and also the Pro Plugin from JEM. Both didn’t work for my purpose. Th problem with JEM was only the multilingual, other than that it worked fine. - compatible with WPML multilingual - 2 different shipping types (package and pallet) - different prices for each shipping types depending on the shipping zone / country - different prices for the shipping types depending on the weight of the order - different products which will be shipped with one of each shipping type - also there must be a connection between product, weight and shipping type (product A and B both belong to shipping type Pallet but product A has less weight and therefore more of them fit onto a pallet. This must be defined separately)

Hope to hear from you soon.

Best Franziska

Sure, I would be happy to answer any pre-sale questions you have! In theory, my plugin should be able to do anything the other one can, but I’m not entirely based on your description. I may just be misunderstanding though. While this plugin does have product conditions, it is recommended to use shipping classes instead. You could certainly setup conditions based on class and weight, but I’m not sure what you mean by shipping type. How do you define which is sent via package and which is sent via pallet? Is it a particular item, the dimensions, or the weight? This plugin also handles volumetric weight if that is what you are looking for. I’m just not sure I’m 100% clear on your shipping model.

I’ve removed legacy and now can no longer disable products from shipping to certain countries as I could before. How can I resolve this?

Once you delete the shipping zones from the shipping zones tab you won’t be able to see the settings page anymore. So long as you are not running the Bolder Fees plugin this shouldn’t be a problem.

I can take a look if you open a support ticket, but it will require an active support package to do so, and this account does not show an active license for this plugin.

yeah its not on this account. Its on my buddies. I’ll have him send his info in a couple minutes

ok, I had to renew support but I’ve just opened a ticket.

by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey