Shipping by Rules for VirtueMart

IMPORTANT ANNOUNCEMENT: Plugin development ceased, all plugins made available freely (GPL)

With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.

It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!

Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1


Problem with dimensional weight 19 Jul 2016 10:23 #1


I've read this post:
But it's not clear to me.
I set the dimensional weight in this way:
Name=fascia1; 2*(MaxLength*MaxWidth*MaxHeight)/10000>0.1; Shipping=6.55;
Name=fascia1; 2*(MaxLength*MaxWidth*MaxHeight)/10000<3; Shipping=6.55;

But I also need to set a cost per weight:
Name="0-5kg"; Weight>0.1; Weight<5;Shipping=12.77
Name="B5-15kg"; Weight>5.1; Weight<15;Shipping=19.15

And I'd like to have the billable weight to be the biggest one of the two values (dimensional weight and real weight).

Hope I was clear...


Please Log in or Create an account to join the conversation.

Problem with dimensional weight 20 Jul 2016 19:03 #2

Dear Carmelo,
The problem with the dimensional weight in VirtueMart in general is that the shipping company will base the dimensional weight on the dimensions of the package, while VM only knows the dimensions of each individual product. If you use the MaxLength etc. variables like you do, you might underestimate the dimensional weight considerably (image a user buys 10 products with the exact same dimensions...).

Anyway, to answer your question about using the bigger of the two values: You will need to define a custom variable holding the dimensional weight:
Variable=DimWeight; Value=2*(MaxLength*MaxWidth*MaxHeight)/10000
Variable=BillableWeight; Value=max(DimWeight, Weight)

Name="0-5kg"; 0.1<BillableWeight<=5;Shipping=12.77
Name="B5-15kg"; 5<BillableWeight<15;Shipping=19.15

Regarding your weight rules: The condition "Weight<5" means that the weight has to be strictly smaller (not equal) than 5, while "Weight>5.1" means that the weight has to be larger (not even equal) than 5.1. In particular, if you have an order that weighs exactly 5kg, none of the rules matches! I rather think you want to use 0.1<=Weight<=5 and 5<Weight<=15 (i.e. an order of 5kg matches the first rule, while an order that is just a little heavier than 5kg matches the second one).

Best regards,

Please Log in or Create an account to join the conversation.

  • Page:
  • 1

VM - Shopping cart


Cart empty

Login Formular