Change default weight unit for FedEx shipping in Magento

If your store offers multiple shipping methods to your customers, it’s important to align all shippers to use the same unit for weight.

This is becuase weight in Magento is not actually a particular unit. Weight to Magento is just a number, so theoretically, could be grams, kilograms, pounds, tonnes, you name it.

Realistically, you want to choose either pounds (lbs)or Kilograms (Kgs) as these are the main two used by shipping providers who deal with weight-based shipping estimates. The only thing that’s important is to keep whichever unit you choose uniform throughout the whole of your store. So if you use Lbs with UPS, you want to keep Lbs with FedEx etc.

Using Kg (as some stores do) poses a little snag, as FedEx shipping method in Magento only uses Lbs when calculating shipping estimate costs. However there is a quick fix to this:

Edit this file:

/app/code/core/Mage/Usa/Model/Shipping/Carrier/FedEx.php

…and update the value for LBS, changing it here for ‘KG’:

'RequestedPackageLineItems' => array(
'0' => array(
'Weight' => array(
'Value' => (float)$r->getWeight(),
'Units' => 'LBS'
),
'GroupPackageCount' => 1,
)

Hope this helps!

Useful post? Share it

Leave a Reply

Your email address will not be published.