I have an issue where a customer has an order that qualifies for free shipping, but the Flat rate shipping option still appears in the basket. But the flat rate shipping price is also zero. enter image description here

I have a cart price rule to apply free shipping on orders over £25.

Other solutions I have read say to turn off free shipping in configuration.

I have turned off free shipping in Stores > Configuration and set Flat rate to 'Show Method if Not Applicable' > No. Yet still it appears. Is there a little bit of PHP I could pop somewhere that IF free shipping applies THEN hide the other options?


  • Although 'Free Shipping' is turned off in Configuration > Sales > Shipping Methods, it almost seems like Magento is adding it back in via the Cart Price Rule, rather than solely amending the 'Flat rate' to zero.
    – Andy
    Commented Jul 20, 2023 at 10:42

1 Answer 1


Remove "Free Shipping" configuration because you don't need it (you already have "Cart Price Rules").

When your customer qualifies for free shipping it happens based on "Flat Rate" not in "Free Shipping".

or create plugin to disable flat rate shipping method when free shipping is actually enabled Source: Magento 2: Hide other shipping methods when free shipping is available

  • Free shipping configuration HAS been removed. It seems that selecting 'Free shipping' in the cart price rule brings it back as another shipping option rather than just reducing flat rate to zero.
    – Andy
    Commented Jul 20, 2023 at 13:01

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.