The difference is one question: are you supplying goods or a service? HSN (Harmonized System of Nomenclature) codes classify goods. SAC (Services Accounting Code) codes classify services. Both sit on a GST invoice to fix the right tax rate.
For India’s exporters the split is sharper than most guides admit:
- If you export services (software, consulting, design, support), you use a 6-digit SAC code.
- If you export goods, you use the full 8-digit HSN code, whatever your turnover.
- If you supply both, each invoice line carries its own code, HSN for goods, SAC for services.
Get the code right and the correct rate follows, your return files cleanly, and your buyer claims input tax credit without a query. Get it wrong and you risk rate mismatches, a penalty, and stalled export refunds. The export of services under gst rules make this especially unforgiving for zero-rated invoices.
This guide covers how both systems are built, the digit rules that apply as of July 2026, and the exporter requirements the generic explainers skip.
HSN code vs SAC code: the key differences
Both codes live inside the same GST invoice, yet they come from different systems and answer different questions.
| Feature | HSN code (goods) | SAC code (services) |
|---|---|---|
| Full form | Harmonized System of Nomenclature | Services Accounting Code |
| Classifies | Physical, movable products | Intangible services |
| Developed by | World Customs Organization (WCO) | Central Board of Indirect Taxes and Customs (CBIC), India |
| Structure | 4, 6 or 8 digits | 6 digits, always starting with 99 |
| Recognition | Used in 200+ countries for customs and trade | India-specific, built for GST |
| On the invoice | Required for every taxable good | Required for every taxable service |
The rule of thumb is simple:
- If what you sell can be touched, packed and shipped, use an HSN code.
- If you sell an activity, skill or output that cannot be boxed, use a SAC code.
A company that sells laptops uses an HSN code for the hardware, then a SAC code when it bills for repair or software support. The classification follows the supply, not the company.
What is an HSN code?
The Harmonized System of Nomenclature is a global standard the WCO introduced in 1988 to give every traded product one consistent code. More than 200 countries use it for customs, tariffs and trade statistics.
That shared base is why the first six digits of an HSN code for a smartphone read the same whether the shipment lands in India, the US or Germany. India adopts the system and extends it to eight digits for finer local classification. Our guide to an hsn code covers the full picture.
Structure of an HSN code
An 8-digit HSN code is read two digits at a time, broad to specific:
- Chapter (first 2 digits): the broad product category. Chapter 85 covers electrical machinery.
- Heading (next 2 digits): the product group within that chapter.
- Sub-heading (next 2 digits): a narrower product type. These six digits are the internationally common part.
- Tariff item (last 2 digits): India’s own split for precise duty and rate mapping.
A few worked examples:
- Mobile phone: HSN 8517
- Rice: HSN 1006
- Laptop: HSN 8471
What is a SAC code?
The Services Accounting Code is India’s own framework for classifying services under GST. It grew out of the Service Tax regime and was carried into GST by the CBIC.
Because a service cannot pass through customs, it needs no global system, so SAC is domestic by design. Every SAC code is six digits, and every one begins with 99, the chapter reserved for services.
Structure of a SAC code
A 6-digit SAC code breaks into three parts:
- Chapter (first 2 digits): always 99, marking the supply as a service.
- Heading (next 2 digits): the major service group, such as IT services or construction.
- Service code (last 2 digits): the specific service within that group.
A few worked examples:
- IT software consulting: SAC 998313
- Legal services: SAC 9982 group (998213 for legal documentation)
- Restaurant services: SAC 996331
- General construction of buildings: SAC 995411
If a service genuinely has no specific code, it falls to the residual entry and is taxed at 18% GST by default. That makes it worth finding the exact code rather than settling for the default.
When to use HSN vs SAC: a quick decision aid
The choice is driven entirely by what you supply.
| What you supply | Code to use | Example |
|---|---|---|
| A physical product | HSN | Machinery, textiles, packaged hardware |
| A service | SAC | IT consulting, legal advice, design, marketing, support |
| Both goods and services | Both | HSN on the goods line, SAC on the service line |
Mixed suppliers are common. A firm that sells hardware and also maintains it uses an HSN code on the product line and a SAC code on the service line of the same tax invoice.
To confirm a specific code, use the official HSN/SAC search on the GST portal or the CBIC rate schedules rather than guessing from memory. The classification is per line item, never per business.
How many digits you need: the turnover rules
The number of digits you must report is tied to your aggregate annual turnover (AATO). The rules below reflect the position as of July 2026, after the GSTN moved HSN reporting in Table 12 of GSTR-1 into its third phase from the May 2025 return period.
| Aggregate annual turnover | Digits required |
|---|---|
| Up to ₹5 crore | 4-digit HSN or SAC on B2B invoices and returns |
| Above ₹5 crore | 6-digit HSN or SAC |
| Exports and imports (goods) | 8-digit HSN |
Two points trip people up:
- The ₹1.5 crore exemption is gone. From 1 April 2021 the old full exemption below ₹1.5 crore was replaced, so a four-digit code now applies to B2B supplies even for small businesses. Many older blogs still quote the ₹1.5 crore threshold.
- You can no longer type codes manually. Under Phase 3 of Table 12 you select the HSN or SAC from a drop-down, the description auto-fills, and Table 12 is split into separate B2B and B2C summaries.
If you have moved billing to a tool, check that it maps to valid codes. Our note on e invoicing under gst covers where this bites.
The exporter carve-out most guides miss
If you sell across borders, the turnover logic does not fully protect you, and this is where goods and services exporters part ways.
Goods exporters must use the full 8-digit HSN code, whatever their turnover. Customs documentation and the shipping bill require the eight-digit level, so a ₹40 lakh exporter faces the same depth as a ₹40 crore one. We compare the two paths in export of services vs export of goods.
Services exporters report the 6-digit SAC on every export invoice. Exports of services are zero-rated, whether you supply under a Letter of Undertaking (LUT) without paying IGST or pay IGST and claim it back.
Zero-rated does not mean code-free. The SAC still goes on the invoice and flows into your GSTR-1, so accuracy here decides how smoothly your refund clears. See our walk-through of gstr-1 for export of services for the reporting detail.
For software and IT-enabled exporters, one more link matters:
- The SAC on the invoice should match the service you declare in your SOFTEX filing with the RBI.
- Keeping the code consistent across the invoice, the return and the softex filing removes reconciliation headaches later.
What happens if you get the code wrong
A wrong or missing HSN or SAC code is not a harmless typo. Under Section 125 of the CGST Act, 2017, the general penalty for failing to mention or wrongly mentioning the code is up to ₹25,000 under CGST and ₹25,000 under SGST, so ₹50,000 in total.
Beyond the fine, the practical costs bite sooner:
- Wrong GST rate: the code drives the rate, so a slip can leave you under-charging (and liable for the shortfall) or over-charging (and fielding disputes).
- Blocked input tax credit: your buyer may be unable to claim ITC on a mismatched invoice, which strains the relationship.
- Delayed refunds: for exporters, an inconsistent SAC across the invoice and GSTR-1 is a common reason zero-rated refunds stall.
Because a misclassification touches both the invoice and the gst on international transactions that follow, it is worth confirming the code once rather than correcting it across a quarter of filings.
How the right code fits your export payment workflow
For an Indian exporter, the SAC or HSN code is the first link in a chain that ends with money in your account and a complete compliance file. The code sets the rate on your export invoice, the invoice supports your zero-rated claim, and the inward payment needs its own documentation once it lands.
A purpose-built collections setup keeps that chain intact. Xflow gives services and goods exporters:
- Receiving accounts to collect from overseas clients, with settlement to your Indian bank account on a next-business-day (T+1) basis.
- Auto-issued eFIRA (electronic Foreign Inward Remittance Advice) that supports your GST refund and SOFTEX records.
- Xflow invoicing to raise compliant export invoices that carry the right SAC or HSN.
Because conversions run on the live mid-market rate rather than a marked-up bank rate, exporters avoid paying a hidden FX markup on every collection. The classification stays your call; the paperwork around the payment does not have to.
Getting HSN vs SAC right is a small habit that removes a recurring source of friction. Classify by what you supply, use the digit depth your turnover and export status demand, and keep the code consistent from invoice to return to remittance advice.
Need help your with international collections? Try Xflow!
Frequently asked questions
HSN codes classify physical goods and SAC codes classify services under GST. HSN comes from the World Customs Organization and runs 4 to 8 digits. SAC is India-specific, always 6 digits, and starts with 99.
HSN stands for Harmonized System of Nomenclature, the global system for classifying goods. SAC stands for Services Accounting Code, India’s system for classifying services under GST.
An HSN code is 4, 6 or 8 digits depending on turnover and whether you export goods. A SAC code is always 6 digits, beginning with the chapter code 99.
Service exporters use the 6-digit SAC code on every export invoice. Exports of services are zero-rated, but the SAC must still appear on the invoice and in GSTR-1 for the refund to process cleanly.
Yes. Exporters of goods must report the full 8-digit HSN code regardless of turnover, because customs and shipping-bill documentation require classification at the eight-digit level.
A wrong or missing code can trigger a penalty of up to ₹50,000 (₹25,000 CGST plus ₹25,000 SGST) under Section 125 of the CGST Act, apply the wrong GST rate, block your buyer’s input tax credit, and delay export refunds.
Yes. Every GST-registered service provider must show the correct SAC code on tax invoices and in returns. If a service has no specific code, it falls to the residual entry taxed at 18% by default.