HSN and SAC Codes: How Product/Service Classification Drives Your GST Rate
Your GST rate isn't a judgment call: it's decided by the HSN or SAC code you assign. Get the classification wrong and the mistake follows you into every return after it.
CA Helper Editorial Team
How we research and reviewPublished · 7 min read
Key takeaways
- GST rate is decided by the HSN or SAC code assigned to what you sell, not by a seller's own sense of what rate feels fair.
- The number of digits you must report is tiered by annual turnover. Confirm the exact requirement for your turnover on the GST portal or your filing software rather than assuming a figure.
- Misclassification isn't only picking the wrong code. Carrying forward a rate that used to attach to a code before the GST 2.0 rationalisation of September 2025 is just as common, and just as costly.
- Getting a code wrong for one invoice usually means it was wrong for every invoice using that code, and it tends to surface as a GSTR-1 versus GSTR-3B mismatch that draws an automated notice.
- The GST portal's own HSN/SAC search facility is the authoritative place to look up a code, not a general web search or a code copied from somewhere else.
Every product and service supplied under GST carries a classification code before any rate gets applied to it: HSN for goods, SAC for services. That code isn't a formality you fill in and move past. It's the thing that actually decides which rate slab a sale falls into, since GST is fundamentally a classification-driven tax, not a negotiation. Two people can disagree about what feels like a fair rate for something they sell, and it won't matter: the code attached to the product or service settles the question, not either party's opinion of it. This matters more than usual heading into FY 2026-27, since the GST 2.0 rate rationalisation of September 2025 restructured the rates attached to a lot of codes without touching the classification system itself, which means a catalogue built on pre-2025 assumptions can now be quietly wrong even though the codes in it still look right. Here's what HSN and SAC codes actually do, what depends on getting them right, and how to set up your own catalogue correctly from the start.
What HSN and SAC Codes Actually Are
HSN, the Harmonized System of Nomenclature, is an internationally standardised system for classifying goods, originally developed for customs and global trade and adopted into GST to classify every physical product you supply. SAC, the Services Accounting Code, does the same job for services. It's specific to India's indirect tax framework, carried forward from the earlier service tax regime into GST rather than borrowed from an international standard. Both work on the same principle: they organise what you sell into a hierarchy running from a broad category down to a precise, specific description, so a general type of product or service narrows step by step into the exact classification that matches it. The closer your code matches what you actually supply, the more reliably it points to the rate that's meant to apply.
Why Classification, Not Judgment, Sets Your Rate
GST doesn't ask what rate feels fair for a given product or service. Every GST rate notification is written against HSN and SAC codes: the notification lists the codes it covers and the rate attached to each one, and your invoice is only correct if the code on it actually matches what you're supplying. That inverts how a lot of small businesses instinctively think about pricing. You don't pick a rate and then find a code to justify it. You identify the correct code first, and the rate follows automatically from that classification. If what you sell could plausibly sit under two different sub-headings, the classification decision is the real decision, because everything downstream of it, the rate you charge, the credit your buyer can claim, and whether your return reconciles cleanly, depends on getting that one call right.
How Many Digits You Actually Need to Report
GST rules require HSN and SAC codes to be reported on invoices and in returns at a level of detail, meaning a certain number of digits, that's tiered by your annual turnover: the general principle is that larger businesses are expected to report a more granular code than smaller ones. We're deliberately not going to state a specific digit count against a specific turnover figure here. That kind of number is exactly what gets copied forward in outdated articles long after a notification changes it, and repeating an unverified figure is worse than not stating one at all. The exact digit requirement tier for your turnover is set out in GST rules and should be confirmed via the GST portal or your return-filing software, both of which will typically enforce the digit count expected for your specific GSTIN the moment you enter a code. Check it there before you finalise your catalogue, not from memory or a general search result.
What Misclassification Actually Costs You
Getting a code wrong isn't something you quietly fix later with an apology. It tends to show up in one of two ways. The first is picking the wrong code outright: a sub-heading that doesn't actually match what you sell, often because it was easier to find or because a similar-looking product used it. The second is subtler, and more common since September 2025: keeping the correct code but carrying forward a rate that used to be attached to it before the GST 2.0 rationalisation, without checking whether that code's rate changed in the reset. In that version, the classification itself might still be right. The rate charged against it isn't. Either mistake plays out the same way downstream: you end up charging, and depositing, tax at the wrong rate on every invoice that used that code, sometimes for months before anyone notices. Because GST is charged as IGST on an inter-state supply and as CGST plus SGST on an intra-state one, both derived from the same rate notified against that code, a misclassification doesn't only misstate the total tax, it can misstate the IGST-versus-CGST/SGST split too. That's usually where it surfaces: your HSN-wise summary in GSTR-1 stops reconciling against what you've actually paid through GSTR-3B, and a gap like that is exactly what triggers an automated short-payment intimation, the same Rule 88C mismatch process that flags any gap between declared liability and tax paid, asking you to explain or pay the difference. By the time that notice lands, it's rarely one invoice you're correcting. It's every invoice that carried the same wrong code or the same stale rate.
Finding the Correct Code, and Setting Up Your Catalogue
The GST portal maintains its own HSN and SAC code search facility, built specifically so a taxpayer can look up the correct classification and the rate currently notified against it. That's the authoritative source to use, not a general web search, a competitor's invoice, or a code copied from an old price list. A general search can just as easily surface a pre-GST 2.0 result, a listing meant for customs rather than GST, or a code that's close but not exact, and none of those are things you want to discover after you've already invoiced against them. If what you sell genuinely sits at the boundary between two plausible codes, or you're dealing with a bundled product-and-service offering, that's worth confirming through the portal or with a professional before it goes into your catalogue and your billing software, rather than guessing and correcting it later across every invoice you've already raised. If you're setting up your product or service catalogue for the first time, a few habits make this considerably less painful:
- Classify each product or service by what it actually is, not by what's convenient to enter or what a competitor's invoice happens to show.
- Look up every code through the GST portal's own HSN/SAC search facility rather than copying one from an old invoice, packaging, or a general web search.
- Assign a separate code to each genuinely distinct product or service line instead of grouping different items under one broad code for convenience.
- Record the rate currently notified against each code today, not whatever your software or price list last confirmed before the GST 2.0 rationalisation.
- Confirm the number of digits your GSTIN must report on the GST portal or with your filing software, since that requirement is tiered by turnover and can change as your business grows.
- Keep a simple internal sheet mapping each catalogue item to its code and current rate, and revisit it whenever a new rate notification is issued or you add a new product or service line.
None of this is difficult to get right once, and all of it is expensive to get wrong repeatedly. A catalogue built on codes you actually verified, and rates you actually checked against the current notification, means your invoices, your returns, and your buyers' input tax credit are all resting on the same accurate foundation. That's considerably cheaper than untangling months of invoices after a mismatch notice forces the question.
Frequently asked questions
What's the difference between HSN and SAC codes?
HSN codes classify goods, physical products, using an internationally standardised system originally built for customs. SAC codes classify services, using a system specific to India's indirect tax framework, carried forward from the earlier service tax regime into GST. Every taxable supply gets one or the other, never both.
How many digits of the HSN or SAC code do I need to show on my invoice?
It depends on your annual turnover: the requirement is tiered, with larger businesses expected to report a more granular code than smaller ones. Rather than state a specific figure here, which is exactly the kind of detail that changes by notification and gets copied forward incorrectly, confirm the exact digit requirement for your turnover on the GST portal or through your return-filing software, both of which will tell you, and typically enforce, what's expected for your GSTIN.
What happens if I use the wrong HSN or SAC code on my invoices?
You end up charging, and depositing, tax at the wrong rate on every invoice that used that code, sometimes for months before it's caught. That commonly surfaces as a mismatch between your GSTR-1 and GSTR-3B, which can trigger an automated notice asking you to explain or pay a shortfall, and correcting it usually means revisiting every affected invoice, not just the most recent one.
Where should I look up the correct HSN or SAC code for my product or service?
Use the GST portal's own HSN/SAC code search facility. It's built specifically for this and reflects the classification and rate the department actually recognises, unlike a general web search, which can just as easily return a pre-GST 2.0 rate, a customs-specific listing, or a code that's close but not exact.
Did GST 2.0 change HSN and SAC codes themselves, or just the rates?
GST 2.0, the rate rationalisation that took effect in September 2025, restructured the rates attached to codes, not the classification system itself. That distinction matters: a code your catalogue used correctly before September 2025 may still be the right classification, but the rate your software has stored against it can now be wrong if it wasn't updated.
Can one business use more than one HSN or SAC code?
Yes, and most businesses selling more than one type of product or service should. Each genuinely distinct product or service line gets its own code based on what it actually is, rather than one broad code applied across a whole catalogue for convenience.
Sources and official references
Rules and rates change. These are the primary sources for the topics covered above, and the place to confirm anything before you act on it.
Disclaimer
This article is for general informational purposes only and does not constitute professional tax, legal, or financial advice. Rules and rates change, so consult a qualified Chartered Accountant for advice specific to your situation.
Related reading
GSTR-2B vs GSTR-2A: Which One Actually Governs Your ITC Claim
Both are auto-generated from your suppliers' filings, but one keeps changing after the period closes and the other doesn't. Confusing them is how ITC claims go wrong.
GST on Export of Software and SaaS Services: Getting the Export Classification Right
Billing a customer abroad isn't automatically an export under GST. Here's the actual test SaaS companies need to clear before invoicing at zero rate, including the condition that catches founders off guard.
GST on Slump Sale and Business Transfers: Why Structuring as a Going Concern Matters
Transfer a business as a going concern and GST treats it as an exempt service. Sell the same business asset by asset instead, and every item gets taxed on its own. That's a structuring decision worth getting right, not an afterthought.