I can not figure out how to have every order add 1 lb before shipping calculation i.e. if my total order weight is 2lb I would like to add one more lb to it before shipping calculation so that shipping charge is calculated of 3lb.


That's going to be somewhat complicated, as shipping calculations aren't done with a single weight per order. Take a look at Mage_Shipping_Model_Shipping::collectCarrierRates() and the line to $packages = $this->composePackagesForCarrier($carrier, $request); The description of composePackagesForCarrier() states:

Devides order into items and items into parts if it's necessary

What you end up with is potentially multiple packages, each with their own weight. You could always rewrite this method to add (1lb / number of packages) to each package's weight, but this seems clunky to me.

My suggestion is to rethink the need for this. Is the another way that your business model requirements could be met? Perhaps by adding a fee to the order, dynamically calculated by the shipping cost? (If $10 is quoted for shipping, maybe you add $1.)


I think it is the wrong way to do it. Why not just change the configuration for the shipping prices and reduce every number by 1?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.