Extensions‎ > ‎

Dimensional Shipping

This page refers to Dimensional Shipping version 10.x. If you are using version 9.x or earlier, please visit the original Dimensional Shipping page.




Standard Magento lacks some of the features needed to calculate shipping accurately for FedEx, UPS and USPS. 
For example, you can't
  • Define dimensions for your products
  • Choose to ship some products separately
  • Choose to ship some products together in the same package
  • Add insurance to the shipping
  • Split a product that exceeds the carrier's weight maximum into multiple boxes
Our Dimensional Shipping extension gives you the ability to
  • Specify the dimensions of your products
  • Create different sized boxes for your products
  • Describe how different combinations of products are packed together for smart shipping
  • Ship some products in a separate box
  • Assign multiple box sizes to a product and choose when each box size is used
  • Split large products into multiple boxes with different dimensions
Whereas other solutions work by filling one box after another, Dimensional Shipping allows you to define exactly how your business packs different combinations of products.
When a customer goes to check out Dimensional Shipping works out how the products in the cart will be packed. Then it sends the dimensional weight and actual weight of the packages to your shipping carrier for accurate live shipping rates.





FedEx and UPS require you to have a web service account to retrieve shipping rates based on dimensional values in your store.
In May 2012 FedEx is switching off its CGI-based rate calculator, so you will need to switch to a web service account whether you are using our extension or not. You also need to have SOAP installed on your server. We cover how to switch across to retrieving Fedex Rates via their web service on our blog.
For UPS you need the XML-based shipping rates, which requires an access key, username and password. Read our blog to find out how to get set up with XML-based rates.
Warning: It is highly recommended to back up your server files and database before installing this extension. WebShopApps takes no responsibility for any problems you may experience as a result of installing this extension incorrectly. We recommend you install the extension first on a test site, not your live site, to carry out your own testing. Please visit the Disclaimer page for more information.

Installing the extension

    1. Switch off the Magento Compiler under System->Tools->Compilation.
    2. Ensure Cache is enabled in Admin.
    3. Extract all the zip archive(s). On some installations you may have a separate archive called WsaCommon & WsaLogger. These are required by the extension and must be installed.
    4. Copy the app directory from src into your Magento base directory overwriting any files. 
             Note: This does not overwrite any core files.
    5. Copy the contents of app/design/adminhtml into your Magento install.
    6. Log out of admin and log back in. If you do not do this you will be shown 404 Access Denied errors.
    7. Disable Cache in admin.
    8. Open the frontend of your website to force the extension to load (this makes sure that the sql updates within the extension are performed).
    9. If you are using the compiler you need to recompile via System->Tools->Compilation. (It will say here if it is compiled. If you are using 1.4 and it is compiled but disabled you may need to re-compile anyway).
      If you do not, you will see the error 'Call to a member function toOptionArray() on a non-object...' when accessing shipping methods. Fatal Errors for missing files might also be displayed.
    10. The extension should now be installed. Please check the backend to confirm.
    11. Re-index all data in Index Management (Configuration).
    12. Enable Cache in admin.
    13. You now need to enter your serial key. Instructions on how to do this can be found here.

Understanding Dimensional Shipping

This section is useful for getting the user to think about how the extension relates to the their business and what they are aiming to achieve. Try to get the user thinking of their business in the 'terms' used to describe the extension, e.g. shipping groups etc. Intended to prepare the user for the following 'Configuration' section.

The Problem

Before we dive into the extension lets take a look at the reasoning behind it's approach.  I apologise for throwing some technical terms in here but I feel it's important to explain what makes our extension popular.
Lets look at a common customer enquiry we see:
•I've got many products, with different dimensions and weights
•I've got X boxes
•Can you make my shipping rates accurate?
Let me start by saying on it's own there is no solution to the above. And anyone selling an extension that promises to resolve this is being lean with the truth.  Carriers such as UPS, Fedex, and Freight Shipping companies have invested a lot of money looking into this and they can't solve it, the problem is known to be the Bin Packing Algorithm and is non-computational.

One Possible Solution

One variation on the bin-packing algorithm is the first-fit approach. This is basically where you take a set of boxes and a set of products then try stuffing the products in based on a 'first-fit' approach (i.e if it fits pack and move to next item). When the box 'fills' in terms of volume move on. People like it because it's fast, but it's also known to be non-optimal, which when you are trying to make your shipping rates more accurate isnt great news. Shipping isn't academic, if you get your rates wrong you could lose all profit on your sale - this is real life. WebShopApps firmly believes that extensions using bin-packing techniques have a low level of accuracy. We have seen many customers try this approach because it seems easy on the surface, but then realise they are not getting any more accurate rates than not using dimensional weight.
There are some solutions which pretend to be emulating as the bin packing algorithm, but WebShopApps has looked at these and believes that extensions following this approach provide a very low level of accuracy. Packing purely based on the volume is not going to give good results. You could have 2 items with exactly the same volume, yet if you packed these into a larger box you would find maybe that you could fit 3 of one of the products and only 2 of the other. The reason - because when packing there is often clear space that is unused - objects dont fit snug, and they don't all fit the same amount.

An Intelligent Solution

WebShopApps believes products aren't just about weight and volume. We also understand from our experience of over 40,000 customers in the last 3 years that there are commonalities in the shipping rules. It's not just about stuffing boxes. It's about intelligent packing. It's about providing customers with an interface that gives them the maximum flexibility to set up their shipping to get the best set of rates.  We can't dictate how you pack, and every business packs differently. But we can give you tools that allow you to setup rules on how you pack.  We believe this gives a much higher level of accuracy than just throwing items in a box.
With the WebShopApps extension we don't just focus on volume and weight. We look at how full a box is in reality. So we ask you to define the maximum quantity of each item that can fit in a box. You might have a set of lotions and for the small lotions you can fit 50 in a box. But the large lotions you can only fit 20. With the WebShopApps extension we can work out from this how many to pack in a mixed box setup, and also given a set of boxes make a good estimate on the box to select and use for shipping. 

How do I want to use this extension?

Before configuring the extension, it is important that you think about what results you want to achieve. Consider how you group your products when you ship them and how this can be translated into shipping rules for the extension.

Answering the following questions should help:

  • Which of my products ship dimensionally?
  • Which of my products ship based only on weight?
  • Which of my products ship in multiple packages?
  • Which of my products ship separately?
  • How do I want different combinations of my products to be packed together?
  • What quantity of a product fits into each box?
  • At what point does a product need a larger box?

You should now be ready to configure Dimensional Shipping.


This is covered in a separate section.

Further Reading

Please follow these links to view examples:


See a demonstration of the frontend and backend of Dimensional Shipping.


We will be adding in FAQ shortly.



Before you do anything, we recommend you consult our general Troubleshooting page. Here you will find a list of the most common errors users encounter with our products and a set of simple solutions. 
Subpages (1): Configuration