Tax Compliance

HSN/SAC codes explained

What HSN and SAC codes are, why every GST invoice line needs one, and how to avoid the most common mistakes.

HSN codes classify goods and SAC codes classify services for GST. Businesses with aggregate turnover up to ₹5 crore must show at least 4 digits on B2B invoices; above ₹5 crore, at least 6 digits on every tax invoice. The wrong code can mean the wrong GST rate and a mismatch in your returns.

HSN (Harmonized System of Nomenclature) and SAC (Services Accounting Code) are classification systems used to categorise what you're selling for tax purposes. Every line on a GST tax invoice carries one or the other — and the code is what links an item to its GST rate.

HSN vs SAC

HSN codes apply to physical goods — a box of screws and a bag of rice have different HSN codes because they're classified (and often taxed) differently. HSN is based on the World Customs Organization's international Harmonized System, which India extends to 8 digits. SAC codes apply to services — a repair service and a consulting service are classified separately. SAC codes are 6 digits and always start with 99. If you sell both goods and services, you'll use both across different invoice lines.

How an HSN code is structured

DigitsLevelExample (rice)
First 2Chapter10 — Cereals
First 4Heading1006 — Rice
First 6Sub-heading1006.30 — Semi-milled or wholly milled rice
All 8Tariff item1006.30.xx — a specific variety

Each extra pair of digits narrows the classification. That's why the digit rules matter: a 4-digit code says "rice", while a 6-digit code says which kind.

How many digits do you need?

Aggregate annual turnover (previous FY)B2B tax invoicesB2C invoices
Up to ₹5 croreAt least 4 digitsOptional
Above ₹5 croreAt least 6 digitsAt least 6 digits

These rules come from CBIC Notification 78/2020 and have applied since 1 April 2021. On e-invoices, the Invoice Registration Portal enforces them too: businesses above ₹5 crore must report at least 6 digits, and where no valid 6-digit code exists, the full 8-digit code. Using fewer digits than your bracket requires is a compliance gap even if the category is technically correct.

How to find the right code

  1. Start with your supplier's invoice — the HSN they used for the same item is a good first reference (but verify it).
  2. Search the HSN/SAC lookup on the GST portal by product name or keyword.
  3. Narrow down from chapter to heading to sub-heading until the description matches what you actually sell.
  4. Check the GST rate notified for that code — the code and the rate need to agree.
  5. When it's genuinely ambiguous (material or end use changes the classification), ask your accountant once and record the answer against the item.

Common mistakes

  • Reusing a code from a similar-sounding product without checking it's actually correct
  • Using a shorter code than your turnover bracket requires
  • Applying an HSN code to what's actually a service line (or vice versa)
  • Never updating a code or rate after a classification or rate change — such as the September 2025 GST rate rationalisation
  • Typing the code fresh on every invoice instead of storing it once against the item

Why it's worth getting right

HSN/SAC codes feed directly into your GST returns, including the HSN-wise summary in GSTR-1. A mismatch between what you reported on invoices and what shows up in your return is exactly the kind of discrepancy that triggers a notice or a manual reconciliation. Setting the correct code once, at the item level, and having it apply to every future invoice for that item removes the recurring risk of a mistyped code.

Set the HSN/SAC code once per item and StashBill's compliance engine applies it to every invoice automatically — see the full India GST invoicing requirements, or the complete GST invoice format guide.

Frequently asked

Can one product have more than one HSN code?

No — each specific product should map to one correct HSN code, though very similar products can fall under different codes depending on material or use.

Do I need HSN codes on B2C invoices?

If your aggregate turnover is up to ₹5 crore, HSN codes are optional on invoices to unregistered (B2C) buyers. Above ₹5 crore, at least 6 digits are required on all tax invoices.

Do I need to memorise HSN codes for every product I sell?

No — set the code once per item in your inventory or billing system and it applies automatically to every invoice from then on.

What does a SAC code look like?

Six digits starting with 99 — for example, 9987 is the heading for maintenance, repair, and installation services, with 6-digit codes beneath it for specific service types.

Sources

General information, not tax advice. Current as of October 2026.

Try it in the app that does this automatically

StashBill applies rules like these on every scan and every invoice, so you don't have to remember them.

Coming Soon

Coming soon to Android, iOS, Windows & macOS

StashBill is in final development. It will be free forever for one device — no card required.