Right now I am using Flat Shipping rates. I want to implement below rule

up to 500gms - INR 100
501 to 1000gms - INR 50
1001 to 1500gms -INR 200
1501 to 2000gms - INR 250 and so on...

Is there any way to set this rule ?

  • which Magento version ?
    – Pawan
    Commented Dec 23, 2018 at 2:36
  • I am Using 2.2.6 - community edition. I don't want to add/calculate distance in this rule. Commented Dec 24, 2018 at 3:06
  • If this is not possible, can we restrict cart based on weight? Ex. User only allowed to add up to 2000gms of products. Commented Dec 24, 2018 at 3:10
  • it is possible, See my answer and let me know if have any issue.
    – Pawan
    Commented Dec 24, 2018 at 5:19

1 Answer 1


You can use Table Rates shipping method instead of Flat Shipping.

Go to Stores -> Configuration -> Sales -> Shipping Methods

Switch to Store View to website

Now enable Table Rates and choose Condition: Weight vs. Destination

Final Settings will be:

enter image description here

Now Export Sample CSV and add your actual data like:

enter image description here

Now clear cache and see result on front-end

Hope above will help!

  • Hello Pawan, Thanks for the solution. It worked for me. Cheers. Commented Dec 28, 2018 at 8:27
  • Great! You can accept answer and upvote
    – Pawan
    Commented Dec 28, 2018 at 11:16
  • Just one correction. Change weight to KG Ex. 0.501, 0.1001, 0.1501 as Magento excepts value in kg. Else for Magento 501 is 501KG. Commented Dec 28, 2018 at 14:28
  • you can adjust as per your requirement, this is a general solution. please do needful thing if answer helped you!
    – Pawan
    Commented Dec 28, 2018 at 16:18
  • @NirajNagar, You can accept answer, So it will be beneficial for other users too.
    – Pawan
    Commented Jan 3, 2019 at 1:28

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.