GST Invoice HSN Code Rules: What to Put on the Bill

A plain answer to which HSN or SAC code goes on a GST invoice, how many digits you need at your turnover, and where the code sits on the printed bill.

By Invoala Editorial Team · Published 2026-10-08

black Android smartphone near ballpoint pen, tax withholding certificate on top of white folder

Key takeaways: HSN for goods, SAC (often starting 99) for services; Digit count tracks turnover, not invoice size; Imports and exports need 8-digit codes; Print the code per line item, not once per invoice

The short answer

Every GST invoice line needs an HSN code if you're selling goods, or a SAC code if you're selling services. How many digits you must show depends on your annual turnover — commonly 4 digits at lower thresholds and 6 digits above them, with 8 digits required for imports and exports. The code is printed against each line item, not just in the totals block.

That's the core. The rest of this post is the practical detail: which digit count applies to you, where exactly on the A4 page the code goes, and how the rules differ between goods and services.

person using calculator at desk with coffee mug

Photo by Towfiqu barbhuiya on Unsplash

HSN vs SAC: two codes, one field

HSN (Harmonised System of Nomenclature) classifies goods. SAC (Services Accounting Code) classifies services. They come from the same family of classification, but they are not interchangeable — you don't pick an HSN code because your software template calls the column "HSN".

If you sell physical products — garments, machine parts, packaged food — you use HSN.

If you sell services — consulting, design, repairs, software development, freight — you use SAC. SAC codes usually start with 99, which is a quick way to tell them apart when you're scanning a list.

Some businesses do both. A shop that repairs the laptops it also sells invoices the repair under a SAC code and the laptop under an HSN code, on the same invoice, on separate lines. Each line carries its own code.

Where to look up the code: use the official GST portal's HSN/SAC search rather than a blog list. Classifications get amended, and a code you copied from a 2019 article may no longer be the one the portal recognises. Treat any third-party list as a starting point only.

Ready to try it? Create a professional invoice in under two minutes with Invoala's free invoice generator, no sign-up and no watermark.

The digit rule: how many numbers you actually need

This is the part most guides skip. The digit requirement is tied to your aggregate annual turnover, not to the size of the invoice. A single large invoice doesn't push you into a higher digit bracket.

The general shape of the rule, in most cases:

  • Below the lower turnover threshold: 4 digits is typically the minimum on the invoice. B2B buyers often ask for 6 anyway so their own returns reconcile cleanly.
  • Above the higher turnover threshold: 6 digits is generally required.
  • Imports and exports: 8 digits is the standard, regardless of your turnover.
  • B2C invoices to unregistered consumers: a shorter code (often 4 digits) is commonly accepted, though the exact requirement depends on your turnover bracket.

Two things to be careful about:

1. Exact thresholds change. The rupee cut-offs and the effective dates have been revised more than once. Don't rely on a number you read here or anywhere else second-hand — check the notification in force on the GST portal, or ask your CA, before you set your template.

2. The threshold is aggregate turnover, not per-invoice or per-state. If you operate in more than one state, the totals generally add up across registrations for this purpose.

There's a related obligation you shouldn't miss: the same level of HSN detail is reported in your GSTR-1, under a table for HSN-wise summary of outward supplies. If your invoice shows 4 digits but your return reports 6, that mismatch is easy for a system to flag. Keep the invoice and the return at the same digit level wherever you have a choice.

Where the HSN code sits on the invoice

Placement is the thing generic posts about this topic never quite show you. On a standard GST tax invoice, the code belongs in the line-item table, as a column of its own, sitting between the item description and the quantity/rate columns. It is not a footer note and it is not something to mention once in the comments field.

A clean line-item table usually reads, left to right:

1. S. No.

2. Description of goods or services

3. HSN / SAC

4. Quantity (skip or use a unit such as "1" for services)

5. Rate per unit

6. Taxable value

7. GST rate and amount (split into CGST/SGST or IGST as applicable)

8. Line total

Then, below the table, the invoice-level blocks: total taxable value, HSN-wise or rate-wise tax summary, total invoice value in figures and words, place of supply, and your GSTIN and your buyer's GSTIN where required.

A few details that catch people out:

  • Match the code to the line, not the invoice. If you sell three different things, you need three codes. A single code at the top of the page won't do.
  • The description must be readable. Courts and departments have objected to invoices where the description was so abbreviated that nobody could tell whether the HSN code matched the goods. Write "Cotton knitted men's T-shirt" — not "item 4".
  • Keep the code column wide enough. Six- and eight-digit codes get truncated in cramped templates, and a truncated code on an A4 PDF is worse than no code at all.
  • Services still need the field. If your template is a goods-style layout, add the SAC column rather than hiding the code in the description line.

Example: invoicing a mixed supply with HSN and SAC side by side

Say you run a small business in Maharashtra and you invoice a registered buyer in Karnataka. You sell one item and one service on the same bill.

  • Line 1: 40 cotton T-shirts at ₹450 each = ₹18,000 taxable value. HSN as printed: 6109 (4 digits, matching your turnover bracket). GST rate: 5%.
  • Line 2: design/alteration service charged at ₹2,000. SAC as printed: 9988. GST rate: 18%.

Totals: taxable value ₹20,000. IGST — because this is an inter-state supply — comes to ₹900 on line 1 (5% of ₹18,000) and ₹360 on line 2 (18% of ₹2,000), so ₹1,260 in total. Invoice total: ₹21,260.

Now look at what's on the page. Two separate code columns filled in, two different tax rates shown per line, then an IGST line in the summary — not CGST plus SGST, because the supply crosses a state boundary. The HSN/SAC column is the part a buyer's accounts team will check first, because it's what they'll copy into their own return.

Get that mixed-rate layout wrong — one blended tax rate, or a single code for both lines — and the invoice usually comes back for revision.

How Invoala helps

If the fiddly part for you is the layout rather than the rule, this is where it gets quicker.

1. Open the free Invoala invoice generator. No sign-up, no watermark, no trial wall.

2. Fill the form: your business details, your GSTIN, the buyer's details, place of supply.

3. Add each item or service as its own line, and type the HSN or SAC code into the code field for that line. That gives you the one-code-per-line structure described above instead of a single code at the top of the page.

4. Set the tax per line — including different rates on different lines, which is what the mixed example needs.

5. Download the PDF. It's laid out for A4, so the code column and the tax summary stay readable at print size rather than being cut off.

If you'd rather start from a fixed layout, the free invoice templates are downloadable and show the standard GST line-item structure, which is useful for working out what goes in each column before you commit to a format. And once invoices are out, you can see what's outstanding at a glance with payment tracking rather than rebuilding a spreadsheet each week.

Invoala doesn't tell you which HSN code to use — that classification is your call, or your CA's — but it does give you the columns to put it in and an A4 PDF that prints the code legibly, which is where most template problems actually show up.

Common mistakes worth avoiding

Using one code for a mixed invoice. Covered above, and it's the most frequent error.

Quoting the code only in the return. The invoice needs it too. Reporting 6 digits in GSTR-1 while the bill shows nothing creates an obvious gap.

Copying a code from a search result without checking. Descriptions get revised. Verify against the official portal.

Leaving the description too vague to match the code. If a buyer's team can't tell what was sold from the description, the code looks unsupported.

Assuming a threshold figure you read somewhere is current. Thresholds have moved. Confirm the position in force now.

Checklist before you send

  • HSN for goods, SAC for services — right code type on the right line.
  • Digit count matching your aggregate annual turnover bracket, 8 digits for imports/exports.
  • Code in its own column in the line-item table, against each line.
  • Description detailed enough to justify the code.
  • GST rate per line, with CGST/SGST or IGST depending on whether the supply is intra-state or inter-state.
  • Invoice's digit level matching what you'll report in GSTR-1.
  • Anything you're unsure about — the exact threshold, an ambiguous product classification — checked with the official GST portal or a qualified professional rather than a blog.

The invoice itself is just a form with the right columns. Get the code and the digit count right, and the printing part is the easy half.

This article is general information, not tax, legal or financial advice. Rules, rates and deadlines vary by country and change over time. Check with your tax authority or a qualified professional before acting on anything here.

Frequently asked questions

Is HSN code mandatory on every GST invoice?

For registered sellers, an HSN code for goods or a SAC code for services is required on the invoice, and the same detail is reported in GSTR-1. How many digits you must show depends on your aggregate annual turnover bracket, so check the notification currently in force on the GST portal.

How many digits of the HSN code do I need to print?

The requirement is tied to your aggregate annual turnover, not to the value of that particular invoice. Lower turnover brackets commonly allow or require 4 digits, higher brackets typically require 6, and imports and exports generally require 8. Confirm the exact thresholds with the official source, as they have been revised.

What is the difference between HSN and SAC codes?

HSN classifies goods, while SAC classifies services, and SAC codes commonly begin with 99. If you sell both, each invoice line carries the code that matches that line rather than one code for the whole bill.

Where exactly does the HSN code go on the invoice?

It goes in the line-item table as its own column, usually between the item description and the quantity or rate columns, so each line has its own code. The invoice-level totals and tax summary sit below the table, and the code is not meant to be a footer note or a comment.

Can I put the HSN or SAC code on invoices without paid software?

Yes. A form-based tool is enough as long as the layout gives each line a code column and prints at A4 size. Invoala's invoice generator lets you add a code per line with no sign-up and no watermark, then download the PDF.

Put it into practice

Create a professional invoice in under two minutes — free, no sign-up.

Create an invoice
GST Invoice HSN Code Rules: What to Put on the Bill | Invoala