Blog/GST & ITC
The code behind every invoice line

The HSN code on your invoice is wrong. Your CA will find it at filing time.

HSN codes decide the GST rate on every line item. A wrong one delays ITC and draws scrutiny. Most errors come from photocopies and OCR, not from the supplier.

Look at any purchase invoice from a steel supplier or a fittings vendor. In the line-item table, next to the description and the rate, there is a code. Four digits, or six, or eight. That is the HSN. It decides the GST rate the line pays.

On a clean PDF the code is easy to read. On a photocopy that has been faxed twice it is not. OCR reads 7214 when the paper says 72142000. Or it swaps a 2 for a 7. The line still carries a tax rate, but the rate does not match the code, and that mismatch shows up at filing when your CA reconcile the returns.

HSN errors are quieter than GSTIN errors. A wrong GSTIN gets flagged immediately. A wrong HSN sits in the books for months, and only surfaces when the rate does not match the product description or when the GST portal flags a discrepancy. By then, fixing it means amending the return. How we actually test a code (format vs directory, shadow vs live) is on HSN validation.

How the digits narrow down a product

HSN comes from the World Customs Organization. India uses it as the base for GST classification. The more digits, the more specific the product. Four digits identify the heading. Six identify the sub-heading. Eight identify the exact commodity.

Consider steel bars. At 4 digits, 7214 is bars and rods of iron or non-alloy steel. At 6 digits, 721420 is a narrower heading (indentations / concrete-bar type goods in the HS tree). At 8 digits, 72142000 is the commodity as printed on many Indian invoices (no dots). Rate is not “the 8-digit number magically equals 18%.” Rate is whatever the current CBIC notification says for that code. Look it up.

Manufacturers file with 4, 6 or 8 digits. The digit count depends on your turnover. The GST portal states the thresholds. Small businesses file with 4 digits. Mid-size with 6. Larger ones with 8. The point is that the code must be specific enough to determine the rate, and it must be the same code the GST portal has on file for that product.

How digits narrow down a product
7214
4 digits · heading
→
721420
6 digits · sub-heading
→
72142000
8 digits · commodity

Indian invoices usually print HSN without dots: 7214, 721420, 72142000.

If you file 7214 and the supplier filed 72142000, you have a classification mismatch even if both happen to attract the same rate this year. Digit length and exact code follow GST rules and your turnover slab. Confirm on the GST portal / CBIC, not from memory.

Common HSNs on factory purchase invoices

These are the codes that appear constantly on Indian manufacturing purchase invoices. They are the ones your AP team sees every week. Rates are standard as of 2026. Confirm against the CBIC rate page before filing, because rates change with budget notifications.

HSNDescription (HS heading, not legal advice)RateTypical factory use
7214Bars and rods of iron or non-alloy steelSee CBICRebar, merchant bars
7307Tube or pipe fittings of iron or steelSee CBICFlanges, elbows
7308Structures of iron or steelSee CBICFabricated frames
8481Taps, cocks, valvesSee CBICProcess valves
8479Machines having individual functionsSee CBICSpecial-purpose machines
8536Electrical apparatus for switching, ≤1,000 VSee CBICSwitchgear, relays
8708Parts and accessories of motor vehiclesSee CBICAuto components
3923Articles for packing, of plasticsSee CBICCrates, drums
Illustrative, not exhaustive. Rates are set by CBIC notifications and can change.

Do not copy rates from this table into a return. GST rate notifications change. Use the CBIC goods-and-services rate page or the GST HSN search. This list is only “codes you often see on factory purchases,” not a tariff.

Two kinds of HSN validation

When people say "HSN validation" they mean two different things. Understanding the difference matters because catching one without the other leaves gaps.

A format check asks: is the code 4, 6 or 8 digits? Does it follow the chapter structure? Is it built from valid digits? This catches obvious errors like a code that is only 3 digits long, or a code that includes letters where only numbers should be.

A directory check asks: does this code exist in the CBIC HSN directory? The directory is the official list of all valid HSN codes. A code can pass the format check and still be absent from the directory. Someone might type 99999999, which is 8 digits and structurally valid, but does not correspond to any real product. The format check passes. The directory check catches it.

Format check vs directory check
Format check
72142000 ✓
7214 ✗
Is the code 4, 6 or 8 digits? Does it match the chapter structure?
Directory check
72142000 ✓
99999999 ✗
Does the code exist in the CBIC HSN directory? A format-perfect code that is not in the list is still wrong.

EntryLedger keeps a snapshot of the CBIC HSN list. In shadow mode a missing code warns but does not block, because the snapshot can lag recent notifications. If a new budget notification changes rates or adds codes, the snapshot might not reflect it immediately. Shadow mode lets you catch the error without stopping legitimate invoices. In live mode, a missing HSN blocks auto-export. The distinction matters because blocking on an outdated directory would stop invoices that are actually correct.

The directory is not static. The CBIC updates it periodically. When a new product category is added or a code is retired, the directory changes. If your validation tool does not keep up, it will flag valid codes as invalid or accept codes that no longer exist. This is why shadow mode is the safe default, and why live mode should only be enabled after you have confirmed the snapshot is current.

HSN is for goods. SAC is for services.

Goods carry HSN codes. Services carry SAC codes, short for Service Accounting Code. Both sit inside the same classification system and both decide the GST rate. On a mixed invoice, confusing the two is a real error that shows up in the numbers.

A purchase invoice can mix goods (HSN) and services (SAC): material plus freight plus installation. Using the wrong series is a classification error even if the rupee rate looks familiar. File the code the law asks for, not the rate you remember.

HSNSAC
ClassifiesGoods and materialsServices
BaseWCO harmonized systemUN Central Product Classification
Example72142000 steel bars998711 maintenance and repair
Check atCBIC rates page / GST HSN searchCBIC rates page / GST SAC search

The GST portal has separate search tools for HSN and SAC. Use the right one for each line. If you are unsure whether a line is goods or services, look at the description. "Supply of steel bars" is goods (HSN). "Maintenance of steel processing machine" is services (SAC). "Supply and installation of valves" is both, and should be split into two lines with separate codes.

Where the errors come from

On a scanned invoice the HSN sits in the line-item table next to the description, quantity and rate. The photocopy is dark, or the print is small, or the phone photo is at an angle. OCR reads what it can. Sometimes it gets the code wrong. A 2 becomes a 7. A digit gets dropped. The line still carries a tax rate, but the rate does not match the code.

Wrong HSN often still looks like a normal invoice: amounts add, tax looks familiar. The miss is the code vs what was filed or vs the product. That shows up later, not at keying, unless you check HSN on the way in.

EntryLedger reads each line item, validates the HSN for format, checks the directory, and cross-checks the tax rate against what the HSN implies. A mismatch sends the invoice to review with the reason, not to Tally with a wrong number. The fix takes seconds at entry time. The fix at filing time takes hours.

Sources
Frequently asked questions
How many digits is an HSN code?+

4, 6 or 8 digits. Four identify the heading, six the sub-heading, eight the commodity. The count depends on turnover.

What if the HSN on an invoice is wrong?+

A wrong or missing HSN can slow ITC and draw scrutiny at filing. EntryLedger checks every line's HSN for format and directory presence before export.

HSN vs SAC?+

HSN classifies goods. SAC classifies services. Both carry GST rates. Use the right search tool for each.

Let the gate check every line for you

EntryLedger reads each HSN, validates format and directory, and cross-checks the tax rate before anything reaches Tally.