Hope you do not mind all the questions, but the answers are very important. Hopefully they will help anyone reading this thread get a more detailed picture of what is involved (and the complexity involved with handling all scenarios involving dimensional shipping).

Originally Posted by
jimmie
... so no matter what is in cart dimensions never change ...
You are asking for trouble and incorrect shipping quotes if the dimensions sent to the shipping carrier (parcel or freight) never change. The bulkier a package, typically the greater cost to ship. If dimensions are sent in the quote request, the dimensions need to be specified for each package (or shipping container) to avoid an operating loss due to under-billing. This is especially true for freight, were one is always charged based on freight class (combination of volume + weight) and the overall weight.

Originally Posted by
jimmie
... freightquote module merged into advanced shipper ...
A quick look at the code from your post on the subject reveals a couple red flags in the shipping module portion of the code. For example if no freight class is present it defaults to the cheapest possible freight class. The code handling dimensions also fails to take into consideration a quantity greater than one.
For Example: One product which is 6x6x6 may fit in a 6x6x6 space, but five of those products will take up considerable more space (at least 5 times the volume - possibly more as square volume is used for most freight shipping).
Most of the freight API's I've worked with for quotes will ignore dimensions if the freight class is sent (thus quotes should usually be close if the freight class is correct and dimensions are wrong). However if the API uses the dimensions to calculate the class (and ignores the class or detects the class is incorrect) you may run into issues. You will also run into issues when an order contains large products and / or quantities (taking up more volume than the truck can carry); especially if the volume exceeds a TruckLoad.
From the shipping module in the other thread:
Code:
...
$product_list[] = array(
'Class' => (zen_not_null($data->fields['products_freightquote_class']) ? $data->fields['products_freightquote_class'] : '50'),
'ProductDescription' => $product['name'],
'Weight' => ceil($product['quantity'] * $product['weight']),
'Length' => ceil($data->fields['products_freightquote_length']),
'Width' => ceil($data->fields['products_freightquote_width']),
'Height' => ceil($data->fields['products_freightquote_height']),
...