How to Create Indian GST Tax Rule in Magento

How to Create Indian GST Tax Rule in Magento

Recently the Indian government introduced GST tax in the market to replace all those different taxes and bunch them together under a single tax class. This tax is popularly known as GST – Goods and Services Tax, “One Nation One Tax”. It’s a common indirect tax for the whole nation applied right from the manufacturer to the consumer to make India a unified market. A robust and comprehensive IT system would be required to implement GST regime in India. Whole Ecommerce community is in a race to quick implement the tax rule to streamline with this new GST tax.

When it comes to Ecommerce, how can Magento be behind in this race to the win? As per the Magento, considering its popularity and usability in market, more than 250000 stores run on this platform. Being the ruling Magento developers, we have come with the easy guide to create GST tax rule in Magento to quick start implementing GST to your Magento products and services.

Let’s learn to create GST tax rule in Magento

  1. First of all, create a new product tax class to easily identify while applying GST tax to the products. Go to Sales > Tax > Product Tax Classes and click on “Add New”. Name your tax class as GST to easily identify it while applying tax rules to products.1-create-GST-tax-class
  2. Create tax rates for both SGST and CGST. Indian goods and services have been classified under 4 tax rates, those are 5%, 12%, 18% and 28%. Take a look at tax rates to find your products fall under which category. Here, we are implementing the tax rule on one of the clients selling fish & meats and thus their products fall under GST rates of 5% and thus we need to create SGST and CGST tax rules for 5%.
    Go to Sales > Tax > Manage Tax Zones & Rates and click to Add New Tax Rate, and create tax rates for both CGST and SGST.2_CGST-SGST-tax-zones-ratesKnow that CGST and SGST are equally divided to half of the amount of tax rate. As per the rule declaration, store owners and sellers also need to bifurcate CGST and SGST taxes separately in the order details and invoices. So if the tax rate is 5%, you need to create SGST with 2.5% and CGST with 2.5% tax rates to show them separately in invoice.
    To bifurcate GST taxes to show separately in all the order related documents, go to app\design\frontend\base\default\template\tax\order\tax.phtml,
    Find below code:

    getValueProperties()?> rowspan=" 1 ">
                        
    

    Copy the whole file and paste at app\design\frontend\[theme_package]\template\tax\order And replace code as shown below:

    getValueProperties()?> rowspan=" 1 ">
                        
    

    Now go to System -> Sales -> Tax -> Shopping Cart Display Setting and set Yes to Display Full Tax Summary.

    Tax-settings-backend

  3. Create new tax rules from Sales > Tax > Manage Tax Rules. Click on Create New and set each options as shown below.create-ruleOnce you create and save both the rules, you can see them enlisted.

    3_CGST-SGST-tax-rules

  4. Now once you have created and saved GST tax rates and rules, you need to assign the tax class to your products. Here, we have only created tax rates for 5% but if you have wide range of products those fall under various tax rates, you need to create rates and rules for all and assign the related class to the products.4_assing-GST-to-products
  5. So we are done with creating GST tax rules in Magento and once it’s assigned to the products, you can see the detailed tax charges with the bifurcation of SGST and CGST taxes in cart, checkout, invoice, credit memo, shipment, my account order view and Emails.5_GST-applied-on-frontend

Understanding GST and creating tax rules in Magento is not rocket science but proper implementation can only lead to exact rules implementation and tax assignments. Above, I have tried to properly elaborate rules configuration along with the government terms and norms. Still if you have any questions or confusions regarding creating GST tax rules in Magento, don’t hesitate to contact me through commenting, I’ll be happy to help.

CTA magento 2 migration service
CTA magento 2 migration service
Previous Article

How to Create System.xml Configuration in Magento 2

Next Article

How to Create Categories Tree Structure in Magento Programmatically

Write a Comment
  1. PAYAL MISHRA

    Hii Sir,
    I am new in magento and i am working on GST section implementation above CGST AND SGST tax changes is not working in my site.Please help me.

    1. Hello
      Blog has very simple steps for the GST implementation,
      We are launching the Magento Extension too in meantime,
      You can ask us for Professional help by contacting us.

  2. Hi
    Its a great blog which helped me to implement GST to my magento website.Just Amazing.
    But at the final step, ie., 5th point, am getting shipping and handling price and tax price but the bifurcation of SGST and CGST taxes are not shown.
    At 4th point, Just INR is shown below the price and not the tax.
    Can you help me to sort this out please…

    1. To bifurcate GST taxes to show separately in all the order related documents,
      go to appdesignfrontendbasedefaulttemplatetaxordertax.phtml,
      Follow steps mentioned in blog.

      For 4th point Query, You need to change following setting in System > configuration > Sales > Tax Calculation Setting > Catalog Prices Set to Including Tax
      after that you can see Tax price in Product Price tab in backend

      1. step 5: have done the same as shown, but no changes
        step 4: Updated but its not showing the tax amount, but just showing [INR] [Inc. Tax]

  3. PAYAL MISHRA

    Hii Sir,
    I am new in magento and i am working on GST section implementation above CGST AND SGST tax changes is not working in my site.Please help me.

    1. Hello
      Blog has very simple steps for the GST implementation,
      We are launching the Magento Extension too in meantime,
      You can ask us for Professional help by contacting us.

  4. Hello,

    If we create new GST Tax Rule ,then we have to apply this new rule by opening every product on by one.
    Or can i just create new on and assign on every product by just on click.
    Please share your thoughts.
    Thanks in Advance.

    Regards,
    Munish.

  5. Hi
    Its a great blog which helped me to implement GST to my magento website.Just Amazing.
    But at the final step, ie., 5th point, am getting shipping and handling price and tax price but the bifurcation of SGST and CGST taxes are not shown.
    At 4th point, Just INR is shown below the price and not the tax.
    Can you help me to sort this out please…

    1. To bifurcate GST taxes to show separately in all the order related documents,
      go to app\design\frontend\base\default\template\tax\order\tax.phtml,
      Follow steps mentioned in blog.

      For 4th point Query, You need to change following setting in System > configuration > Sales > Tax Calculation Setting > Catalog Prices Set to Including Tax
      after that you can see Tax price in Product Price tab in backend

      1. step 5: have done the same as shown, but no changes
        step 4: Updated but its not showing the tax amount, but just showing [INR] [Inc. Tax]

        1. We have updated the blog,
          Some configurations, you must be missing, we have added those in blogs now,
          Please check and share your thoughts.

          1. Wow, awesome.
            Works perfect.
            Thanks a lot for such a helpful blog.

  6. Hello,

    If we create new GST Tax Rule ,then we have to apply this new rule by opening every product on by one.
    Or can i just create new on and assign on every product by just on click.
    Please share your thoughts.
    Thanks in Advance.

    Regards,
    Munish.

        1. Hey,

          You can use a CSV file for Bulk product updates rather than adding each product one by one in the admin panel. Make a CSV file with two columns “sku” and “tax_class_id”

          Regards,

  7. Hey,

    I have followed your step which you mentioned above, My theme supports the base file for taxation, so I have modified the base file. (appdesignfrontendbasedefaulttemplatetaxordertax.phtml)

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

    but still CGST AND SGST tax isn’t showing separate just “TAX” showing and also back-end price showing [INR] [Inc. Tax]

    Thanks in advance

    Regards,

      1. We have updated the blog,
        Some configurations, you must be missing, we have added those in blogs now,
        Please check and share your thoughts.

    1. We have updated the blog,
      Some configurations, you must be missing, we have added those in blogs now,
      Please check and share your thoughts.

  8. Hey,

    I have followed your step which you mentioned above, My theme supports the base file for taxation, so I have modified the base file. (app\design\frontend\base\default\template\tax\order\tax.phtml)

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

    but still CGST AND SGST tax isn’t showing separate just “TAX” showing and also back-end price showing [INR] [Inc. Tax]

    Thanks in advance

    Regards,

      1. We have updated the blog,
        Some configurations, you must be missing, we have added those in blogs now,
        Please check and share your thoughts.

          1. Krishnaprasad

            Hi, I have done same step and it didn’t worked for me. How to select bifurcated GST rate for particular product?

          2. Krishnaprasad

            Hi Sandy, I am experiencing below issue:
            The issue is how I can select the tax in “Price” tab in the product. Here I can select only one tax at a time(one of the bifurcated tax). After 4th step you have missed one step which is selecting the TAX rate. please help me to resolve this.

    1. We have updated the blog,
      Some configurations, you must be missing, we have added those in blogs now,
      Please check and share your thoughts.

  9. Nice post. Thanks! But this is not enough for setting up GST.
    If transaction is inter-state we need to levy IGST. This is not possible in your solution I guess.
    Also you have not mentioned the concept of HSNs.

  10. Nice post. Thanks! But this is not enough for setting up GST.
    If transaction is inter-state we need to levy IGST. This is not possible in your solution I guess.
    Also you have not mentioned the concept of HSNs.

  11. Hi…
    Thanks for the information!
    Please explain how to apply GST on Shipping & Handling Charges too. As per GST Rule we need to charge GSt on Shipping also with the same rate of Tax as is applicable on the chosen product in the cart/order.

    1. First of all, create a tax class for shipping and handling charges. Now create a tax rule to for the tax class particularly for GST. Now go to System –> Configuration –> Sales –> tax –> Tax classes and select created tax class from dropdown under Tax Class for Shipping.

      1. Krishnaprasad

        Hi, I have done as you said in blog. The issue is how I can select the tax in “Price” tab in the product. Here I can select only one tax at a time(one of the bifurcated tax). After 4th step you have missed one step which is selecting the TAX rate. please help me to resolve this.

        1. If you want to apply GST by product, then you will have to purchase our GST extension,
          That can help you to set up GST by category, by product or store wise.

  12. Hi…
    Thanks for the information!
    Please explain how to apply GST on Shipping & Handling Charges too. As per GST Rule we need to charge GSt on Shipping also with the same rate of Tax as is applicable on the chosen product in the cart/order.

    1. First of all, create a tax class for shipping and handling charges. Now create a tax rule to for the tax class particularly for GST. Now go to System –> Configuration –> Sales –> tax –> Tax classes and select created tax class from dropdown under Tax Class for Shipping.

      1. Krishnaprasad

        Hi, I have done as you said in blog. The issue is how I can select the tax in “Price” tab in the product. Here I can select only one tax at a time(one of the bifurcated tax). After 4th step you have missed one step which is selecting the TAX rate. please help me to resolve this.

        1. If you want to apply GST by product, then you will have to purchase our GST extension,
          That can help you to set up GST by category, by product or store wise.

  13. Fayyaz Khattak

    Helpful and beneficial post! I implemented it on one of the Indian stores I was maintaining.

  14. Fayyaz Khattak

    Helpful and beneficial post! I implemented it on one of the Indian stores I was maintaining.

  15. Rajat CopuBrain

    Nice Post. Thanks for your Support.
    I have one issue for Fashion ecommerce site.
    Here if subtotal is below 1000 then GST is 5% and above 1000 its 18%.
    Let me know can we achieve it.

  16. Rajat CopuBrain

    Nice Post. Thanks for your Support.
    I have one issue for Fashion ecommerce site.
    Here if subtotal is below 1000 then GST is 5% and above 1000 its 18%.
    Let me know can we achieve it.

  17. i m using in magento 1.9 i dont want to go for paid plugin so plz tell solution.

  18. It’s Works perfect. Thank you. but I need one help from you all. I am new to Magento. I created one E-commerce website using Magento 1.9 version. I assigned free shipping for particular products and also assigned “Shipping rates for other products using Tablerates” based on weight vs destination. While select product from both the criterias. It accept free shipping only not Tablerates. Kindly check the below link and let me know, is their any possibility to avoid conflict of free shipping and tablerates. Because we want free shipping only for applied products if i select free shipping product and other non free shipping products means it should show shipping rates not zero rate.

  19. My client has different GST with different products. How can I create multiple rules?

  20. My client has different GST with different products. How can I create multiple rules?

  21. Ashish Madankar

    I think appdesignfrontendbasedefaulttemplatetaxordertax.phtml this is not a right template we need to make changes in appdesignfrontendbasedefaulttemplatetaxcheckouttax.phtml

  22. Ashish Madankar

    I think app\design\frontend\base\default\template\tax\order\tax.phtml this is not a right template we need to make changes in app\design\frontend\base\default\template\tax\checkout\tax.phtml

  23. Hello in above you are using GST 5% but i want to use all tax classes like 5 % 12% 18% and 28% how to setup that….?

    1. You can create different Tax class and assign them to the products according to Rate.

  24. Hello in above you are using GST 5% but i want to use all tax classes like 5 % 12% 18% and 28% how to setup that….?

  25. Vidushi Jain

    I have followed the instructions .. And have been able to set up the tax classes .. but the Tax calculated isnt correct ..
    Sending Cards PABD103 1 ₹117.19
    Subtotal ₹117.19 (correct)
    Cash on Delivery fee ₹100.00 (price including Tax)
    Shipping & Handling ₹84.75 (excl Tax)
    Grand Total (Excl.Tax) ₹286.69 (amount is correct)
    ROI_CGST_14% (14%) ₹16.41 (correct)
    ROI_SGST_14% (14%) ₹14.39 (incorrect should be 16.41)
    CGST_Shipping (9%) ₹5.87 (incorrect should be 7.625)
    SGST_Shipping (9%) ₹5.87 (incorrect should be 7.625)
    SGST_COD (9%) ₹4.97 (incorrect should be 7.625)
    CGST_COD (9%) ₹4.97(incorrect should be 7.625)
    Tax ₹63.31 (correct)
    Grand Total (Incl.Tax) ₹350.00 (correct)

  26. sarath kumar

    Hi ,

    First of all a good blog.
    i am getting the values right for example i have given cgst and sgst 1.5% and the values are adding to the price.
    but one thing is in my cart page its not differentiating CGST and SGST its showing general Name “Tax “and showing both combined price 1.5+ 1.5% value.I have added the code in tax.phtml still its not workign anybody can help.

  27. I have followed the instructions .. And have been able to set up the tax classes .. but the Tax calculated isnt correct ..
    Sending Cards PABD103 1 ₹117.19
    Subtotal ₹117.19 (correct)
    Cash on Delivery fee ₹100.00 (price including Tax)
    Shipping & Handling ₹84.75 (excl Tax)
    Grand Total (Excl.Tax) ₹286.69 (amount is correct)
    ROI_CGST_14% (14%) ₹16.41 (correct)
    ROI_SGST_14% (14%) ₹14.39 (incorrect should be 16.41)
    CGST_Shipping (9%) ₹5.87 (incorrect should be 7.625)
    SGST_Shipping (9%) ₹5.87 (incorrect should be 7.625)
    SGST_COD (9%) ₹4.97 (incorrect should be 7.625)
    CGST_COD (9%) ₹4.97(incorrect should be 7.625)
    Tax ₹63.31 (correct)
    Grand Total (Incl.Tax) ₹350.00 (correct)

  28. Hi ,

    First of all a good blog.
    i am getting the values right for example i have given cgst and sgst 1.5% and the values are adding to the price.
    but one thing is in my cart page its not differentiating CGST and SGST its showing general Name “Tax “and showing both combined price 1.5+ 1.5% value.I have added the code in tax.phtml still its not workign anybody can help.

  29. Please help me this step. I have to change code in base file or theme file?

    I am confused. Please help

    appdesignfrontendbasedefaulttemplatetaxordertax.phtml,
    Find below code:

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount); ?>

    1
    2
    3
    4
    5

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount); ?>

    Copy the whole file and paste at appdesignfrontend[theme_package]templatetaxorder And replace code as shown below:

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

  30. Please help me this step. I have to change code in base file or theme file?

    I am confused. Please help

    app\design\frontend\base\default\template\tax\order\tax.phtml,
    Find below code:

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount); ?>

    1
    2
    3
    4
    5

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount); ?>

    Copy the whole file and paste at app\design\frontend\[theme_package]\template\tax\order And replace code as shown below:

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

    <td getValueProperties()?> rowspan=” 1 “>
    formatPrice($amount / ($percent/(float)$rate[‘percent’]) ); ?>

  31. Hi, After successfully, Place code and settings, IGST working fine, but if we can check in SGST and CGST system calculate SGST+CGST+IGST, Kindly assist where i am missing in configuration.

  32. LAVJI JHINGRAN

    SIR THIS BLOG IS VERY GOOD AND FOLLOWING THE INSTRUCTIONS OF YOUR BLOG I SUCCESSFULLY APPLY GST IN MY WEBSITE. SIR THANK YOU SOO MUCH FOR CREATING THIS BLOG.

  33. It’s Works perfect. Thank you. but I need one help from you all. I am new to Magento. I created one E-commerce website using Magento 1.9 version. I assigned free shipping for particular products and also assigned “Shipping rates for other products using Tablerates” based on weight vs destination. While select product from both the criterias. It accept free shipping only not Tablerates. Kindly check the below link and let me know, is their any possibility to avoid conflict of free shipping and tablerates. Because we want free shipping only for applied products if i select free shipping product and other non free shipping products means it should show shipping rates not zero rate.

  34. Hi, After successfully, Place code and settings, IGST working fine, but if we can check in SGST and CGST system calculate SGST+CGST+IGST, Kindly assist where i am missing in configuration.

  35. LAVJI JHINGRAN

    SIR THIS BLOG IS VERY GOOD AND FOLLOWING THE INSTRUCTIONS OF YOUR BLOG I SUCCESSFULLY APPLY GST IN MY WEBSITE. SIR THANK YOU SOO MUCH FOR CREATING THIS BLOG.

Leave a Comment

Your email address will not be published. Required fields are marked *

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨