We have ported our site to Magento 2.1.2 and from my best understanding the Magento standard FedEx Shipping Method can not properly handle shipping to both residential and commercial addresses.

In the Magento back end you can select Residential or leave it blank (Commercial). If you check it, it sets the Recipient.Address.Residential field. When residential is set, FedEx returns HomeDelivery rates. When it is not set, it returns Ground rates. These rates are not the same. Home Delivery costs more. So if I don't check it I will undercharge residential customers and if I do check it I will over charge commercial customers.

Is there a work around ? Is there a 3rd party shipping extension that handles this?

What the module should do is perform an address check, and based on what kind of address it is, show Commercial or Residential rates. The way the current module handles also has problems because there is only one "Free Shipping Method" so you can not choose Ground and Home Delivery.

I see that this question was asked in Dec-2016 (about Magento 1.9) but no one answered.

3 Answers 3


I think that there's a little bit of confusion over how the FedEx shipping is calculated through Magento.

In the Magento 2 admin area, you are able to tell Magento not to ship to residential addresses. This may be because you only want to ship to businesses, or you are selling products that need special handling or a loading dock to unload.

If you have this disabled, then your Magento 2 store will only ship to businesses.

Here's the screen in the Magento 2 admin: FedEx Configuration - Magento 2 admin

If you select "Yes" to enable residential shipping, then if the shipping address is a residence (house, apartment, etc) then FedEx will calculate shipping based on this destination.

It is more complicated and expensive for FedEx to deliver a package to a home vs. a business. A home is often empty during the day, so it may require multiple attempts to deliver. Most businesses have someone there during the day, and are clustered more closely, and as a result have slightly lower shipping costs.

I hope this clears up the confusion...

  • What about the free method part of the question ? I have the same problem for UPS. Feb 21, 2017 at 8:57

Thanks for the response.

No confusion here. The Residential setting in Configuration gets put in the Recipient address when Magento asks for a quote. Fedex will then only return Residential rates, or Commercial rates based on the setting.

That is not very good. I am not confused about it, I just don't like it. It does not fulfill our needs very well.

We try to sell to all customers.

If Magento performed an address check before asking for rates, FedEx would return the rates that are applicable to the customers Shipping Address. That is what some other platforms do.

The standard FedEx Method also does not handle Free Shipping to Continental US. You can work around this with a cart rule, but then you get balled up with the Residential problem again. (Plus the Cart Rule has some known bugs)


A company called WebShopApps made a module for Magento 1 that allowed the customer to select whether or not their address was commercial vs residential. I have used it and it works with FedEX. I believe they have ported it to Magento 2. Natively there is no way the default FedEx integration to Magento can handle address validation. This is odd, because the FedEx API offers this service. It just isn't implemented in Magento.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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