Magento 2.2.3

We use only FedEx for shipping. FedEx shipping is setup and working fine, rates are being calculated correctly.

We want customers to be able to receive free shipping on orders over $50

Wholesale customers get free shipping on orders over $300

I set up the cart price rules. However, they are not being applied to FedEx, instead of $0, FedEx is still calculating a shipping price. I enabled flat rate shipping and the cart rules are correctly being applied to flat rate shipping, shows $0 if order is over $50. Both free table rate and FedEx rate show, which we don't want as that's confusing and we don't use table rate anyway.

How do we get the cart rule of free shipping rule to apply to FedEx? I have the correct free shipping method set under FedEx.

  • I am also facing same issue. Did you get any solution for this issue. Commented Dec 18, 2018 at 15:18

1 Answer 1


Magento 2 native FedEx module does not work with Cart Rules, simply because that option has never been implemented.

When you go to the page below (Marketing > Cart Price Rule > Add New Rule) and create a new Cart Rule with a Free Shipping option, that option only applies to the Table Rates module:

enter image description here

So in this case, you need to have the Table Rates enabled and configured in order to get that to work.

If you really need to add Free Shipping to the FedEx module, some customizations will be necessary:

  1. Extend Magento's native FedEx module
  2. Add a new custom option to the Sales Rule form (sales_rule_form.xml)
  3. Implement the Magento\Quote\Model\Quote\Address\FreeShippingInterface and add it as a preference to your di.xml. Here is a good example of how to do it.
  4. Overwrite \Magento\Shipping\Model\Carrier\CarrierInterface::collectRates and apply the free shipping to the methods of your choice

I won't share the code here because it is too extensive. However, I did implement all steps and shared it as a module on my GitHub:


All you have to do is to install this module. Do not forget to use the Wiki to make sure you configured it properly.

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.