Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

UPS Dimensional Weight Starting in 2015


Recommended Posts

Hi Everyone,


This is for all the OSC peeps who help design this stuff. I read that starting in late December of 2014, UPS is changing all of their rates for UPS Ground and UPS Standard to Canada packages to dimensional weight pricing. You can read about that directly from the UPS website at the link below.




I'm guessing there won't be a module for something like this because it's going to be something very intense I feel. To completely get it accurate, you would have to put the packaged dimensions (size) in for every inventory item. And, As you know, once you add multiple items to your cart, the box size changes.


To figure our Dimensional Weight, you calculate the cubic size of your package in inches by multiplying the height, by the length, by the width, Then you Divide the cubic size of your package in inches by 139 to determine the dimensional weight in pounds. Increase any fraction to the next whole pound.


So for example, if you have a box which is 14 Inches Wide by 10 Inches Tall by 10 Inches deep that weighs 2 pounds actual weight packed, UPS will charge you for a box which weighs 11 Pounds. Because 14x10x10 = 1400, then divided by 139 = 10.07 Pounds. Which rounds up to 11 pounds.


I feel this is going to be a nightmare. Hopefully, there will be an easy solution as for our company, we use UPS for all of our domestic shipping. I also heard FedEx will be following suit and USPS already does this for packages which are larger that 12x12x12.




Link to comment
Share on other sites



almost impossible.  Not sure what would work best...


Example:  width x tall x deep


Product A:  10 x 20 x 5

Product B:  8 x 13 x 6

Product C:  11 x 11 x5


Let's say that someone bought just product B.

Dimensional Weight is easy to work out:  (8 x 13 x 6)/139 = 4.489 (rounded up to 5).


Let's say they bought A and B.  

We could theoretically do this:  largest width X largest tall X largest deep, which would be 10 (a) X 20 (a) X 6 (b) / 139 = 8.63 (round up to 9)


Or if they bought all 3:  11 © X 20(a) X 6© / 139 = 9.49, round to 10.


This is probably as close as it's possible to get.  Alternative:


work out the dimensional weights for each product, and simply totalise them:


Product A:  10 x 20 x 5 / 139 = 7.19

Product B:  8 x 13 x 6 / 139 = 4.49

Product C:  11 x 11 x5 / 139 = 4.35


7.19 + 4.49 + 4.35 = 16.03 (round up to 17).


So, here we have two ways that theoretically could work, but the end total is massively different...



Link to comment
Share on other sites

It's going to be a matter of knowing the rectangular dimensions of every item, knowing the dimensions of every shipping box, and figuring out a way to pack the purchases most efficiently (i.e., the smallest box in your inventory). Don't forget to expand the size of delicate items to account for bubble wrap, foam, etc. Figuring the most efficient packing in a very short time (while shipping charges page is being figured out) is a challenge -- there are undoubtedly some heuristics for coming close to the optimum, which will have to do. Also don't forget to check for any penalties for boxes of excessive length or girth.

Link to comment
Share on other sites

Hi Gary and Phil,


Maybe it may be best to put a small pop up (or section) in the actual inventory item so when you add an item, it will calculate the dim weight

for that item based on the box size it would ship in?


Then you can just use that as the US shippable weight. We do that now for oversized boxes. We would just have to do it on every item. But on the smaller stuff, it's alot of repetitious work. Many changes to inventory weight.


Based on the UPS equation. Maybe a simple dim weight calculator or something like that? We can always go into the UPS software to figure it all out, but that is cumbersome. Depending upon how many different items you have.


I would say on 80% of our products, we can tell you what box they will ship in. If not, a simple tape measure will do the trick. The actual weight no longer matters using this method because 99 out of 100 times, the dim weight will be more. Which is why UPS is doing this. Unless you are shipping bricks of course. LOL. :)


My question is how will the new UPSXML module work with this change? From my experiences (ask Gary about that one), LOL. Whenever UPS or USPS comes up with a new brilliant idea, website shipping modules go down for a while. LOL. If the revised UPSXML works just on weight like the current modules do, then I guess a dim weight calculator built in will do the trick?


What do you think?




Link to comment
Share on other sites

Maybe it may be best to put a small pop up (or section) in the actual inventory item so when you add an item, it will calculate the dim weight for that item based on the box size it would ship in?

What is the scenario if a person is buying 3 products ? Can you get them all in one box ? How can we work that out, it's pretty much impossible. You'll need to come up with a way to get a quote that is not exact, but not too high or too low.


If you do it per product, and they purchase 3 products - should they then pay a totalised amount per product? Or should we take the longest, widest and deepest measurement and get a "near" price ?


Look at the example I gave above, and if neither of those scenarios work, come up with something that could theoretically work.


As for the UPS and USPS modules, I believe that they use weight as a deciding factor, and it would be relatively simple to take the higher of the "standard weight" or the "dim weight" and apply it for a quotation. Point is: how do we factor the dim weight for each order ?

Link to comment
Share on other sites

Both UPS and USPS have fields in the XML feed for width, length, and height. I beieve that UPS will require those values to be used, but I haven't found anything in the documentation that says specifically. Does anyone have that infromation?


I think this is the best approach:

1. For single product orders, use the values for width, length, and height from the database.

2. For multiple product orders, calculate the total volume, then use the longest dimension of all the products in the order and calculate the other two based on that volume. Possible add a percentage fudge factor in there.




See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Does anyone have that infromation?

Looking at the professionalism of both UPS and USPS in the way they bring changes to their customers, I suspect not even they themslves have that information. So long as a weight is passed (standard weight or dim weight), the other data (lengtgh, width, height) is likely not needed by U(s)PS.

Link to comment
Share on other sites

If you have a single item that needs a shipping box, it might fit diagonally in a shorter box (e.g., 10 inch product in an 8 inch square box) provided it's not too wide or thick. For example, a 1x4x10 box of chocolates will probably fit in an 8x8x4 container. Smaller items might still fit alongside it. It can get complicated!


In general, you would start with the longest product, to pick the minimum box size. Place it against two walls. Subtract that product from the box dimensions (you might end up with a non-rectangular volume left). If there are several ways to add the next longest product (always against a box wall or another product), recursively explore all of them, until you end up with all the products fitting in that box, or you have to go to a larger box or split the order. Consider splitting the order if the total shipping cost will be lower than going to a vastly oversized box. Also, if you have to wrap padding/cushioning around a product, you might be able to subtract that padding if it's up against another padded product (just use one thickness of padding). This is a fairly crude heuristic, and there are probably better (or at least, faster) ones, but it's a start.


Don't forget that you have to track your available box sizes, as you might run out of the right sized box and have to go to something larger. Whether you charge the customer extra for the additional dimensional weight, or write it off as a consequence of running out of boxes, is up to you.

Link to comment
Share on other sites

From the UPS website:


Effective December 29, 2014, dimensional weight will be used to calculate the billable weight of all UPS Ground packages.


Meaning yes, it's required. I still haven't found any description of what the web interface will do if you don't provide the dimensional information. From past experience with UPS, it's likely that a weight-based rate will be returned, then you will be charged the dimensional weight when you ship the package. Not good for business.


I agree about professionalism, or lack thereof. That's not likely to change.




See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Hi Everyone,


I think figuring out the dim weight of each single item will work for purchasing multiple items. At least for me it will.

Most of the time, we tend to over pack an item. So if 1 item fits in a 14x10x10. 2 of the same size item

will probably fit (speaking for myself) in an 18x12x10. Which dims out to 16 pounds. If each item is marked

11 pounds, then we would actually make out a little. I figure for the times where the box oversizes

and we would lose money on shipping, that we would make it up on other shipments. This stuff always

has a tendency to work itself out in one way or another.


So at least for me, I would like something which can either be built into the inventory

which will give me the weight based on the dims. Or, I can leave it as is and spend one long weekend

at the end of the year and re-work all of my weights to dim weights.


But, here is the wild card ... As long as the new USPS/UPS module still works with pure weight. I think that is more of the problem.

Speaking for myself, I try to keep it as simple as possible. The more variables, the more the chance of something not

working right or affecting something else. 




Link to comment
Share on other sites

It sounds like you want the dim weight to be calculated for each product from it's dimensions. The total of all the dim weights (for the products being ordered) is to be used for working out postage if and only if that dim weight total is greater than the actual "real weight" of each product totalised.


A: 3 products ordered.


Total Real weight = 11 pounds

Total Dim weight = 16 pounds.


Use dim weight for shipping calculation.


B: 5 products ordered

Total Real weight: 21 pounds

Total Dim weight: 20 pounds


Use real weight for shipping calculation.

Link to comment
Share on other sites

I agree this is going to be a bit of a nightmare but the overall objective is to get people to ship more appropriately.  Stop companies shippnig small items in huge boxes which take up a lot of room on planes and trucks.


FedEx and UPS XML module both allow for dimensions.  I have only see FedEx in action so far.  As far as I understand you:


1 have to record the dimensions for each product.  

2. You also get to define the dimensions of your shipping boxes.

3. You can set individual products to ship in their own box.

4. Everything else is assumed to be put into one or more of your defined shipping boxes.  


So you have an order with 4 items. One ships on its own so its cost is calculated separate to the other 3.  The other 3 weigh less than the 70 lbs max limit per box so they are going to go into one box if they fit. IF not they are going to be treated as two or more boxes.  


But the issue is which box size?  I guess there is some formula that works out the best match.  And I am assuming it could be more than one box.  And if you have an item that does not fit a defined box then what?




I don't think we can just record the dimensional weight of each item and pass the total to the API because that you are going to be charged the dimensional weight of the actual shipping box.  


Also there are items that can be folded so what dimension are you going to use anyway? Folding does not make the lighter and theoretically not smaller.  But it can effect the size of shipping box they fit into.

Edited by FlyingKites
Link to comment
Share on other sites

  • 2 months later...

This change is happening on Dec 29 2014. 


Are people going to enter the dimensional weight for each product or try to calculate the dimensional weight for each box in the order using the UPS XML Dimensional Shipping features?


We have a customer testing the latter but no outcome yet.


Anyone tried the former to see how accurate the calculations are?

Link to comment
Share on other sites

  • 1 month later...

We have successfully implemented UPS dimensional shipping.  It does require some fine tuning in terms of product dimensions and box sizes to get it to calculate correctly but that effort is largely on the user side although we did have to add a debugger to see what was being sent to UPS so we could then match rates with their site. 

Link to comment
Share on other sites

We have successfully implemented UPS dimensional shipping.

Did you make any changes to the UPS XML version or just implement shipping sizes in the product editing and set up the shipping sizes in the admin tool?


As well did you use the same logic for the Fedex module?





Peter McGrath


See my Profile (click here) for more information and to contact me for professional osCommerce support that includes SEO development, custom development and security implementation

Link to comment
Share on other sites

  • 2 years later...

Since the US Post Office has announced that they too will be implementing Dimensional Weight, I guess it's time to look into how to determine the box dimensions when shipping several different sized items together.


I did a Google search, and found this:




So, if ...


1) we had dimensions for each item we sell

2) we calculate the 'best' box size based on the algorithm above

3) compare that result to a database table of box sizes we use, and find the closest, but not smaller than, match

4) use that box size to determine the dimensional weight, keeping in mind that different carriers may apply a different 'weight' to the same box.

5) use the greater of the dimensional weight vs actual weight to determine the shipping cost


Does anyone think they can do this? This is all *way* above my skill level ...




PS: I did not find the actual code for the above link, but I did find this ...



Edited by ArtcoInc
Link to comment
Share on other sites

And since I'm dreaming ...


3) compare that result to a database table of box sizes we use, and find the closest, but not smaller than, match


Add the box weight to the database. Large boxes weigh more than small ones, and a single 'Package tare weight' doesn't work.



Link to comment
Share on other sites


The UPSXML module version 1.5 already supports dimensional weight. Read the dimensions.txt file that is included in the package.


I have no idea how good a job it does of this, or whether it even includes a packing algo to figure out how to put multiple items in a box. The last time I looked it did a poor job of this. Packing is considered a difficult problem, so the code can get quite complex.




Edited by kymation

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

That code might work, but it would take some testing to find out how well it works. I'm a bit concerned about loading the box data with method calls like thata. A large number of boxes might make that part slow. You could probabley use  a sampsle dataset to find out.


I'm not sure that this is worth the effort. Your shipping will never exactly match the result, resulting in cost differences on a certain percentage of shipments. The shipping cost could probably be adjusted so those differences will average out. That would be a lot easier than implementing a complex packing algorithm.




See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites



Jim, I have had dimensional weight greatly affect my shipping cost. I have lost money on some orders due to this. I could pad my shipping costs to compensate for the few orders that bite me, but isn't this what computers are supposed to do? Figure out stuff like this?


I have found an online business that offers (for a fee) the service of performing this calculation:




And, I don't think that their fee is too expensive.


(FYI: I have no affiliation with this company)



Link to comment
Share on other sites


...whether it even includes a packing algo to figure out how to put multiple items in a box. The last time I looked it did a poor job of this. Packing is considered a difficult problem, so the code can get quite complex.



That's putting it mildly. Fitting multiple items into a given box, or set of boxes, is indeed a complex Computer Science problem with many constraints. I would say it's on par with the Traveling Salesman problem. Besides the dimensions of the individual items, you have to account for any padding, total weight of the box, item incompatibilities (try shipping an anvil along with bone china teacups), and who knows what else. Certain items may have restricted shipping choices -- do you ship the other items by a different method, or is it cheaper to combine them into one box by allowed shipping method? All of these have to be looked at, by a method of semi-trial and error, without upsetting your host with all the CPU time you're taking. The whole point is to avoid oversized boxes where you're paying to ship a lot of air. That's why they now charge by dimensional weight (or actual weight, whichever is higher).

Link to comment
Share on other sites

@@MrPhil @kymation


I understand, and agree, that there is no simple answer.


For example, I have a large product that is curved. It may require a 12 x 12 x 12" box. But, due to its curvature, I can nest one within another, thus fitting two (or more) within that same box. Likewise, I can fit other products within that curvature.


But, I still find situations where, due to the size or shape of item(s), the final box size results in a significant dimensional weight -vs- actual weight discrepancy, and I loose money on the shipping (and, potentially, the whole order). I am tweaking products 'weight' to minimize this.


I guess that since there is no 'simple' solution, I may have to surrender to the fact that there will be occasional order on which I loose money on the shipping.





Link to comment
Share on other sites

It's very very (very!) difficult to get the logic in place to say;


Shopowner has 3 different sized boxes

a. 10x10x10

b. 10x40x20

c. 100x100x30


Product 1 fits in b

3 of product 1 fits in c

product 2 fits in c

1 of product 1 and 1 of product 2 fits in c


and so on. Multiply that out by (say) 10 different box sizes and (say) a few thousand products...and it becomes a nightmare really quickly.


I'd say "impossible" to get correct in every scenario, when dealing with orders of multiple products.

Orders of 1 product at a time: straightforward. product 1 fits in box size B, charge the correct amount for box size B

Link to comment
Share on other sites

@@ArtcoInc, in the UK, royal mail use a combination of weight and size.  I've been using these addons


http://addons.oscommerce.com/info/4473 - shipping modules


http://addons.oscommerce.com/info/4674 - individual product shipping methods (PSM)


the PSM addon defines which shipping method can be used for each individual product, and the shipping module defines the cost for each size and weight.



shipping methods

1 - Small, up to 2Kg

2 - Medium, up to 2Kg

3 - Large, up to 30Kg


product 1 - small parcel, 2kg

product 2 - small parcel, 0.5 Kg

product 3 - medium, 0.3 Kg

product 4 - Larger 3Kg



if customer buys product 1, they are offered shipping method 1 (small)


if customer buys product 1 and 2, they are offered shipping method 1 (small) but sent as 2 parcels @ 2 x small parcel rate


if customer buys product 2 and 3 they are offered shipping method 2 (medium)


if customer buys product 2 and 4 they are offered shipping method 3 (large)


I include in the product weight any weight for packaging (best guess !)


This seems to work for me. Hope I've understood your issue!




osC CE live - developing osC Phoenix adding modules with no core changes(awesome and easy!)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...