An HSN code (Harmonized System of Nomenclature) is a numeric product code used to classify goods. India follows the Customs Tariff's 8-digit version, and GST rate notifications list rates against these codes. Businesses must print 4 or 6 digits of the HSN on tax invoices and report them in GSTR-1, depending on their previous-year aggregate turnover.
If you sell goods in India and are registered under GST, sooner or later someone asks for your "HSN code". It appears on invoices, in GSTR-1, in e-invoices and e-way bills, and it is the key that tells you which GST rate applies. This guide explains what an HSN code is, how its digits are structured, and how it is used in day-to-day billing.
What does HSN stand for?
HSN stands for Harmonized System of Nomenclature. It is an international product classification developed by the World Customs Organization (WCO) and used by customs authorities in most trading nations. Every traded good, from live horses to laptops, sits somewhere in this system.
India adopted the Harmonized System for customs long before GST, through the First Schedule to the Customs Tariff Act, 1975. When GST arrived in 2017, the government reused the same classification for goods. GST rate notifications therefore describe goods with "chapter", "heading", "sub-heading" and "tariff item" references, and they expressly say these terms mean the entries in the Customs Tariff's First Schedule.
That is why GST rates are published as lists like "1905 — Pastry, cakes, biscuits..." or "8471 — Automatic data processing machines". The number on the left is the HSN.
How is an HSN code structured?
An Indian HSN code can have up to eight digits. Each pair of digits narrows the description.
| Level | Digits | Example | What it describes |
|---|---|---|---|
| Chapter | 2 | 85 | Electrical machinery and equipment |
| Heading | 4 | 8517 | Telephone sets and other apparatus for voice/data transmission |
| Sub-heading | 6 | 8517 13 | A narrower international sub-group |
| Tariff item | 8 | 8517 13 00 | India's national tariff line |
A few points help when you read codes:
- The first six digits are international. They come from the WCO system, so a 6-digit code broadly means the same thing in most countries.
- Digits seven and eight are Indian. They are national tariff lines and may not match another country's 8-digit code.
- Chapters are grouped into Sections. For example, textiles sit in Chapters 50 to 63, and food preparations in Chapters 16 to 24.
- Spaces do not matter. "8517 13 00" and "85171300" are the same code. Software usually stores the code without spaces.
Services do not use the goods HSN; they use SAC, which starts with 99. See what is SAC code for that side.
Why does GST use HSN codes?
HSN codes do three practical jobs in the GST system.
- They decide the rate. The rate notification for goods (Notification 9/2025 in its Integrated Tax and Central Tax versions, effective 22 September 2025) lists goods by HSN in schedules: Schedule I at 5% IGST, Schedule II at 18%, Schedule III at 40%, plus small schedules at 3%, 0.25% and 1.5% for items like precious metals and rough diamonds. Find your HSN, find the schedule, and you have your rate.
- They standardise reporting. The GST portal summarises outward supplies by HSN in Table 12 of GSTR-1. Without a common code, the department could not compare what thousands of sellers report.
- They connect GST to other systems. E-invoices, e-way bills and customs shipping bills all use HSN, so the same item is identified consistently from factory to port.
For a full view of the post-September-2025 rate structure, see GST rates and slabs.
How many HSN digits must appear on my invoice?
Notification No. 78/2020-Central Tax, dated 15 October 2020, set the minimum digits based on your aggregate annual turnover (AATO) in the preceding financial year:
| Previous-year AATO | Minimum HSN digits |
|---|---|
| Up to ₹5 crore | 4 digits |
| Above ₹5 crore | 6 digits |
The GST portal has rolled out matching checks in Table 12 of GSTR-1 in phases. In the phase that applies from the May 2025 return period, manual typing of HSN is no longer allowed; you choose from a drop-down list, and the portal fills in a "Description as per HSN Code". B2B and B2C supplies are also reported on separate tabs.
The details of the digit rule, including B2C nuances and e-invoice expectations, are covered in HSN code digits on invoice.
Worked example: how HSN drives the GST on a bill
A Pune electronics shop sells the following to a registered customer in Pune (intra-state, so CGST + SGST):
| Item | HSN | Rate (post 22 Sep 2025) | Taxable value |
|---|---|---|---|
| Laptop | 8471 | 18% | ₹50,000 |
| Bluetooth headphones | 8518 | 18% | ₹2,000 |
| Printed user guide booklet (bought-in) | — | check the current rate notification | not included |
For the two electronics items, both sit in Schedule II (18% IGST, i.e. 9% CGST + 9% SGST for an intra-state sale):
- Laptop: CGST 9% = ₹4,500; SGST 9% = ₹4,500
- Headphones: CGST 9% = ₹180; SGST 9% = ₹180
- Total taxable value = ₹52,000
- Total tax = ₹9,360
- Invoice total = ₹61,360
Notice the shop did not guess the rate. It looked up each HSN in the schedule and picked up 18%. If it had wrongly treated headphones as a different heading, the tax would have been wrong on every invoice line. For a quick check of such sums you can use the GST calculator.
Now take a second shop, a Nashik garment store, selling two shirts to a walk-in customer:
- Cotton shirt priced at ₹1,800 (HSN Chapter 62): taxed at 5% because the sale value is not more than ₹2,500 per piece. GST = ₹90.
- Linen blazer priced at ₹6,000 (Chapter 62): taxed at 18% because the value exceeds ₹2,500 per piece. GST = ₹1,080.
Same chapter, different rates. The HSN tells you where to look; the conditions in the notification finish the job.
Where else is the HSN code used?
Beyond the tax invoice, you will meet the HSN code in several places:
- GSTR-1 Table 12: an HSN-wise summary of outward supplies, with quantity in a Unit Quantity Code (UQC), taxable value and tax amounts. The portal also offers a "Download HSN Codes List" button so you can see the master list it validates against.
- E-invoices: the HSN field is mandatory for each line item in the e-invoice schema. Read more in what is e-invoicing.
- E-way bills: Part A captures the HSN of the goods being moved.
- Purchase invoices: your supplier's HSN helps you check whether input tax credit has been charged at the right rate.
- Exports and imports: shipping bills and bills of entry use the full 8-digit customs tariff item.
How do I find the correct HSN for my product?
The short version is: start from the product's material and function, find the chapter, then narrow down to the heading and sub-heading, and finally confirm the rate in the current rate notification. The GST portal has an HSN search tool, and the CBIC publishes the rate notifications.
A step-by-step method, with tips for tricky products, is in how to find HSN code. Industry-specific lists are also available for textiles and clothing, food products, electronics and medicines.
How should I set up HSN in my billing software?
The safest approach is to store the HSN once per item in your item master, along with the rate and the unit. Then every invoice, credit note and return uses the same data.
- List every product you sell, including variants that might fall in different headings (for example, cotton and synthetic versions of a garment).
- Assign the HSN at the level your turnover requires (4 or 6 digits), or use the full 8 digits if you also import or export.
- Record the GST rate from the current notification and the condition behind it (such as "sale value up to ₹2,500 per piece").
- Map a UQC (for example PCS, KGS, NOS) because GSTR-1 asks for quantity by unit.
- Review the master whenever a new rate notification is issued. The September 2025 restructuring is a reminder that rates do change.
Billing Software by Betterwork stores HSN/SAC on each item and carries it automatically into invoices, credit notes and the HSN summary for your GSTR exports, so staff do not have to type codes at the counter.
Quick check: is my HSN code still right?
Run this short checklist once a year, and again whenever a rate notification is issued:
- Does the product's material, processing or packing differ from when you first coded it?
- Does the tariff heading wording still describe it accurately?
- Has the rate schedule for that heading been amended?
- Do your invoices, e-invoices and GSTR-1 Table 12 all show the same code?
Common mistakes with HSN codes
- Using a code copied from a supplier without checking. Your supplier may classify the input, not your finished product.
- Stopping at the chapter. Two digits are not enough for invoices; the legal minimum is 4 or 6 digits.
- Ignoring value or packaging conditions. Garments above ₹2,500 per piece and "pre-packaged and labelled" foods are classic examples where the same code carries different rates.
- Using old rates. Since 22 September 2025, most goods are at 5% or 18%, with 40% for a set of sin and luxury goods. Old 12% and 28% references are mostly out of date. Notification 9/2025 has also been amended since (for example, by Notification 19/2025 from 1 February 2026), so always check the latest version.
- Mixing up HSN and SAC. A service invoice should carry a SAC starting with 99.
- Not updating after a rate change. An outdated item master keeps charging the old rate on every bill.
Key takeaways
- HSN is the Harmonized System code for goods; India uses up to 8 digits from the Customs Tariff.
- GST rates for goods are published against HSN codes, so the code effectively decides your rate.
- Businesses with previous-year AATO up to ₹5 crore must show at least 4 digits; above ₹5 crore, at least 6 digits.
- GSTR-1 Table 12 now uses drop-down HSN selection and separate B2B/B2C tabs.
- Keep HSN, rate and unit in your item master and review it after every rate notification.
This guide is general information, not tax advice. Rules last checked on 20 October 2026; confirm with your tax professional for your situation.
