WooCommerce: Configure Box Dimensions

The Problem.

There is a lot of confusion around on how too.

Box Size

Box Size


What is outer and inner length? Simple. Taking an example of an order for a single product, Inner length is the dimension of the product and Outer Length is dimension of the package.

Btw, the product dimensions can be updated at admin –> products –> edit individual product –> Product Data.

Product Dimensions

Product Dimensions

Notice by default weight measurement unit is set as “Kg” and dimension as “cm”. This can be changed to “lbs” and “mm” at Woocommerce –> Settings –> Product.

Product measurement Unit

Product Measurements Unit

We are coming back to protect the product as like glass, electronic items, etc, the product (inner) dimension and package (outer) dimension will differ.

For example, suppose a product has an inner dimension of 20x2x1 and need to consider shipping it as part of one single package. So, the outer box size should be 22x4x30. Notice only height changes as length and width remains same (think about deck of cards).

Likewise, we need to the packing style being followed for different products with different quantity.

Also, in case of heavy packing, Box Weight needs total weight which is sum of combined product and box weight, exceeds the entry in Max Weight, this box will not be the right one and so, another box will be chosen.


USPS Settings are located at WooCommerce –> Settings –> Shippings –> USPS. Few key configuration elements are explained here.

Parcel Packing Method.

Parcel Packing Method

Parcel Packing Method

By setting Parcel Packing Method drop to default, each product item from the order will be considered as separate package. Shipping cost will be calculated for each single quantity of the products in the cart.

Rest of the options are self explanato make it work.

Flat Rate Boxes.

Flat Rate Box and Envelope Setting

Flat Rate Box and Envelope Setting

Flat rate boxes and envelops are hard coded in the USPS plugin code itself. There are number of per-defined box sizes and corresponding rates which will be picked up auto your product dimensions and order quantities. This makes job easier, but it may not be suitable for all businesses.

Use Case.

I think a use case may help to get more clarity. Here is one.

case 1: “Red Bag” single quantity. Product dimension 7x 11x .75 weight 20.
case 2: “Red bag” quantity 20.
In first case, the best fit found is this predefined box (d29).
“length” => “12.5”,
“width” => “9.5”,
“height” => “1”,
“weight” => “70”,
“online price” => “5.70”
In second case, it will getting packed to two predefined boxes (d22a, d17b).
Box 1:
“length” => “23.69”,
“width” => “11.75”,
“height” => “3”,
“weight” => “70”,
“online price” => “15.80”
Box 2:
“length” => “11”,
“width” => “8.5”,
“height” => “5.5”,
“weight” => “70”,
“online price” => “11.30”
So, 15.80 + 11.30 = 27.10


There are a number of services listed, where we can enable desired services. For more details on services provided by USPS, go through below link.


Tip of the Day.

While testing, if you face the issue of updated product dimensions and rates have no impact on the cart page, you can try disabling shipping rate caching.

You can go to wooCommerce –> System Status –> Tools, and enable Shipping Debug Mode by checking it on.

WooCommerce System Status

WooCommerce System Status

All the best ūüôā

Comments (10)

  • Biorn

    Still a little confused on the box/packaging set up… Here is our scenario: We set up two custom boxes in the UPS plugin, but the shipping calculations defaulted to the bigger box.

    The issue for us is that different products have different boxes, so the bigger box should not be used with certain products. How do we assign specific boxes to specific products?

    The products we have are variable products, and each variable have a different number of units fitting in the box; based on weight and dimensions.

    And also, how can we (or the person making the order) view the number of boxes needed for an order after calculating the shipping cost?

    September 1, 2017 at 3:21 am
    • Anindo

      Hi Biorn,

      Thanks for reaching out to us. The plugin does not have an out of the box solution to map products to boxes. However, the shop owner can easily change the dimensions of the boxes from the individual order page. You can even add an additional box, if required.

      Alternatively, you can also adjust the cost of each box so that the price of the large boxes are compensated by providing a markup on the smaller boxes. For this we can provide you a code snippet.
      Any of the above should work for you.

      Regarding viewing the number of boxes, the shopowner can check it in the individual order page. He will have access to it.

      September 1, 2017 at 3:51 pm
    • Biorn

      Thanks for getting back to me. When you say “individual order page”, is that the product page?

      And where is it we can do this? I do not see anywhere in the product or product edit page where I can customize the box. These are variable products, so there is a different number or items in the box, depending on the item variation (mainly size).

      Also, I cannot see anywhere the number of boxes. Maybe I am missing the obvious…

      Thanks again for fast reply.

      September 2, 2017 at 1:20 am
    • Biorn

      did you get a chance to look at this? we are having problems with the plugin calculating the right number of items per box. And we don’t see anywhere to verify the correct number of boxes.

      September 7, 2017 at 2:31 am
  • kileykmurphy


    We have the following setup:
    – No more than two units fit in each shipping box
    – The height of our product is 5 in. but the units fit within each other, making the shipping height 6 in. for two units.

    Can your plugin make these calculations? (i.e. 1 unit shipping height is 5 in. but 2 units shipped would be 6 in.)

    April 11, 2017 at 11:01 pm
    • Anindo

      Hi Kiley,

      The first case can be easily achieved by defining the max box weight.
      However, the second case is a little tricky. Currently,under the existing algorithm, it is not possible to pack them as the plugin follows a stacking mechanism and stacks the products on top of another. So the heights are added.

      April 17, 2017 at 4:47 pm
  • Scott

    Hi, I was wondering how a padded envelope gets selected during the shipping calculation? I have several very light products but the checkout always selects the box when calculating. Is this related to this post? Thank you!

    January 24, 2017 at 8:18 am
    • Anindo

      Hi Scott,

      This depends on the plugin used by you.
      If you are using our USPS plugin, then you do not need to define the box. The plugin will automatically select the flat rate box based on the dimensions of the plugin. Flat rates are inbuilt in the plugin.

      However, if you are using our Stamps plugin, then the plugin will always select the box and send it to Stamps API. So in that case, you have to be sure whether your package is fulfilling the exact dimensions of the padded envelope.

      We suggest you approach our support team, if you cannot figure it out. They will guide you.

      January 24, 2017 at 11:48 am
  • Don

    We have now updated to 3.8.4
    The cart correctly calculates the number of packages and their dimensions based upon our table of boxs and product weights.
    Suppose we need to add a package for some reason. We see a button to “Add a Package”. Thats fantastic!
    Now suppose we need to remove a package because we fit everything in some smaller boxs.
    Should we delete all the weights and dimensions from that one package before generate packages?
    Or should we set them to zero?
    We need this flexibility as we sell plants which constantly changing dimensions and weight

    January 12, 2017 at 3:25 am
    • Anindo

      Hi Don,

      Thank you for the question.

      Currently, once a package is created, one cannot delete the package.
      However, addition of package can be easily done using “add package” button

      January 12, 2017 at 11:56 am

Leave a Reply