How Many HSN Digits Must You Report?
The four-digit and six-digit HSN reporting requirements by turnover, and where they bite in invoices, GSTR-1 and e-invoices.
How many HSN code digits you must report is decided by one number: your aggregate annual turnover in the preceding financial year. Businesses at or below the ₹5 crore mark report four digits on B2B invoices and may leave HSN off B2C invoices entirely; businesses above it report six digits on everything. A short notified list of products, and anything you export, needs eight. That is the whole rule — the complications all come from where it gets enforced, which is your invoices, your GSTR-1 Table 12 summary, and the e-invoice portal's validation layer.
What each pair of HSN digits actually means
HSN is hierarchical, which is why "how many digits" is a sensible question at all. Each pair you add narrows the classification, and a longer code always sits inside the shorter one — 0902 is a subset of chapter 09, and 090210 is a subset of 0902. That structure is what lets the law set a minimum length by turnover without needing a separate code list for each band.
| Length | Level | What it identifies |
|---|---|---|
| 2 digits | Chapter | The broad product family — the top level of the tariff. |
| 4 digits | Heading | A group of related goods inside the chapter. This is the minimum for smaller taxpayers. |
| 6 digits | Sub-heading | The internationally harmonised level — the same six digits mean the same thing across WCO member countries. |
| 8 digits | Tariff item | India's own extension of the six-digit code, used in the Customs Tariff and for notified goods. |
Only the first six digits are internationally common. The seventh and eighth are an Indian addition, which is why an eight-digit code you find in a customs document has no meaning to an overseas counterparty, and why six is the level the GST law reaches for when it wants precision without customs-level granularity. If the structure itself is new to you, our explainer on how HSN codes are built walks through it in more detail; services follow the parallel SAC code system, which is six digits beginning with 99.
How many HSN code digits you must report
The requirement was set by a CBIC notification effective from 1 April 2021, and it replaced an earlier three-band system that had a lower turnover cut-off. The current shape is simpler: one threshold, ₹5 crore of aggregate annual turnover in the preceding financial year, and two bands either side of it.
| Preceding-year AATO | B2B supplies | B2C supplies |
|---|---|---|
| Up to ₹5 crore | 4 digits (mandatory) | Optional |
| Above ₹5 crore | 6 digits (mandatory) | 6 digits (mandatory) |
Two details matter more than people expect. The first is preceding. If you crossed ₹5 crore part-way through a financial year, you do not switch to six digits that day — the test looks backwards at a completed year, so the higher requirement applies from the start of the next financial year. That gives you a planning window, and it is the right time to update your item master rather than doing it under pressure mid-cycle.
The second is aggregate. Aggregate annual turnover is a PAN-level figure across all your GSTINs and includes exempt and export supplies, not just the taxable turnover of the registration you happen to be filing for. A group with three state registrations at ₹2 crore each is above the threshold, not below it. Our guide to how aggregate annual turnover is computed sets out exactly what goes into that number.
Why B2B and B2C are treated differently
The concession for smaller taxpayers applies only to B2C. That asymmetry is deliberate: a B2B invoice feeds your customer's input tax credit and gets matched against their purchase records, so the classification on it has to be good enough for two parties and the department to reconcile. A B2C invoice to a walk-in customer generally does not travel anywhere; the tax is collected and reported in aggregate.
The practical consequence is that a small trader selling to both segments has two different invoice formats to keep straight, and billing software that treats HSN as a single global on/off switch will get one of them wrong. The safer configuration is to store HSN against every item in your master and let the invoice template decide whether to print it, rather than leaving the field empty for items you mostly sell retail. The moment one of those items goes out on a B2B invoice, the empty field becomes a compliance problem.
Note also that the reporting obligation in GSTR-1 is a separate question from the printing obligation on the invoice. The two rules were aligned for a long time, but Table 12 has been tightened independently and now handles B2B and B2C separately in its own right — covered below.
When eight digits are compulsory
Two situations override the turnover bands entirely and require the full eight-digit tariff item regardless of how small you are:
- Notified products. CBIC has notified a specific list of goods — predominantly chemicals — for which eight-digit HSN is mandatory on the tax invoice for every supplier, irrespective of turnover. If you deal in industrial or speciality chemicals, check whether your products are on that list; do not assume the four-digit concession covers you.
- Exports. Customs documentation works at the eight-digit tariff-item level, so export shipping bills carry eight digits. Keeping the export HSN and the GST invoice HSN consistent matters because refund claims on zero-rated supplies get reconciled across both sets of documents, and a mismatch is a slow, avoidable query.
The notified list is amended from time to time. Rather than reproduce it here, check the current notification on the CBIC GST portal — the list is short enough to scan and specific enough that you will know immediately whether it applies to you.
The HSN summary in GSTR-1 Table 12
Table 12 of GSTR-1 is where the digits stop being an invoice-formatting question and start being a filing question. It is the HSN-wise summary of your outward supplies for the period: for each code, the description, unit of measure, total quantity, total taxable value and the tax split. It has to tie back to the rest of the return, and the portal increasingly checks that it does.
GSTN has tightened Table 12 through a series of phases rather than in one change, and the direction has been consistent:
- Digit enforcement by turnover band. Early phases moved the minimum-digit check from a warning to a hard validation, first for taxpayers above ₹5 crore and then for those below it.
- Dropdown instead of free text. Manual entry of an HSN was replaced by selection from a master list, which removes typos and codes that do not exist but also means a code your ERP has been carrying for years may simply not be selectable.
- Separate B2B and B2C tabs. The single summary was split so that B2B and B2C supplies are reported distinctly rather than pooled.
- Value validations. The values declared in Table 12 are cross-checked against the corresponding supply tables, so an HSN summary that does not add up to the invoice-level data is flagged rather than quietly accepted.
Because these landed in stages and some started as warnings before becoming blocking, confirm the current state of play in the latest GSTN advisory before your next filing rather than relying on how the table behaved a few cycles ago. The mechanics of the rest of the return are covered in our GSTR-1 filing guide.
How e-invoice validation checks your HSN
If you are within the e-invoicing net, the Invoice Registration Portal validates HSN before it will issue an Invoice Reference Number. HSN is a mandatory field in the e-invoice schema, and the portal checks the code against its own master and against the minimum length your turnover band requires. Fail either check and the request is rejected with an error code; no IRN is generated.
That is a materially harder failure than a GSTR-1 warning. Without an IRN and the signed QR code that comes with it, the document is not a valid tax invoice — you cannot dispatch against it, your customer cannot claim credit on it, and the goods cannot move on an e-way bill generated from it. A classification error that would once have sat unnoticed until the annual return now stops the shipment at the point of billing.
The practical failure mode is almost always the same: an ERP that has been happily printing a four-digit code for years, on a business that crossed ₹5 crore in the last completed financial year. Nothing about the code was wrong; it is simply too short for the band the business is now in. Whether e-invoicing applies to you at all is a separate turnover test — see our note on the current e-invoicing threshold.
What happens if you report too few digits
The consequences escalate depending on where the shortfall is caught, and they are worth understanding in that order because the cheapest place to catch it is the earliest.
- At e-invoice generation. Hard stop. No IRN, no valid invoice, no dispatch. Disruptive, but self-correcting — you cannot proceed without fixing it, so nothing bad reaches your books.
- At GSTR-1 filing. Table 12 validations block or flag the summary. Annoying under a due-date deadline, and it tends to surface across hundreds of line items at once rather than one.
- An invoice that is not a valid tax invoice. A B2B invoice missing a mandatory particular is defective as a document. Your customer's input tax credit rests on holding a valid tax invoice, so a missing or short HSN gives a departmental officer a clean reason to question their claim — which is how a formatting slip on your side becomes a commercial dispute on theirs.
- General penalty. Contraventions with no specific penalty prescribed fall under the CGST Act's general penalty provision, which applies separately under CGST and SGST. Amounts and their application are fact-specific, so check the current provision on the CBIC GST portal rather than working from a figure quoted in a blog post.
The reputational cost is easy to underrate. Large buyers run automated checks on incoming invoices, and a supplier whose invoices repeatedly fail HSN validation gets flagged in accounts payable long before anyone raises it formally. If you are on the receiving side of that, our vendor verification guide for AP teams covers the wider set of checks worth running before an invoice is passed for payment.
A practical check for your item master
This is a data-quality exercise more than a tax exercise, and it is worth doing once properly:
- Work out your band from last completed financial year's aggregate annual turnover at PAN level, including exempt and export supplies — not the taxable turnover of one GSTIN.
- Export the item master and count digits per row. Look for four-digit codes on a six-digit business, blank codes on items that have ever been sold B2B, and any code with an odd length such as five or seven, which is always a data-entry error.
- Validate every distinct code against the current master list rather than assuming it still exists. Retired codes are the failure mode that a digit count alone will not catch.
- Check whether any of your products sit on the eight-digit notified list, and reconcile export HSN against the codes used on domestic invoices for the same goods.
- Re-run the exercise when new SKUs are added in bulk. Item masters drift, and the drift is invisible until a filing or an IRN request fails.
One last point on scope: HSN determines classification, and classification drives the rate — so a code correction can change the tax you charge, not just the string you print. If a review moves an item to a different heading, re-check the applicable rate against the current notification before you reissue anything, keeping the post-reform structure described in our guide to the current GST rate slabs in mind. Fixing the digit count and leaving a stale rate attached to it solves half the problem and creates the other half.
Frequently asked questions
A note on accuracy. GST rules change often. This article reflects our understanding as of 4 September 2026 and is general information, not tax or legal advice. For the authoritative position, check gst.gov.in and cbic-gst.gov.in, or speak to a qualified tax professional about your specific situation.
Check a GSTIN right now, free
Five lookups a day, no account required. Status, filing history, e-invoicing and jurisdiction.
Free GST search toolBuild it into your product
One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.
Start freeMore on hsn & sac codes
Browse every guide in the GST API blog.