logo

HSN Code Explained: How to Use It Right in Your Export Invoices

Publish date: 12 Jun 2025Updated date: 14 Jul 2026
HSN Code Explained: How to Use It Right in Your Export Invoices

HSN codes on the invoice. Purpose codes on the payment. Skydo auto-tags purpose codes so compliance happens by default.

TL;DR

  • What is an HSN code? HSN (Harmonised System of Nomenclature) is a globally accepted system that classifies goods for customs and GST. Developed by the World Customs Organization, it is used in over 200 countries, with India using 8-digit codes.
  • How do you read an HSN code? Each pair of digits narrows the classification: the first two are the chapter, the next two the heading, the next two the subheading, and the last two the tariff item. For example, 22021010 is aerated water with added sugar.
  • What is the difference between HSN and SAC? HSN codes apply to physical goods, while SAC codes apply to services. A product that ships gets an HSN code, a service that is delivered gets a SAC code. All SAC codes start with 99.
  • How many digits do you need to report? It depends on turnover: 4 digits up to Rs. 5 crore, 6 digits above Rs. 5 crore, and full 8-digit codes for imports and exports. From May 2025, codes must be selected from a dropdown rather than entered manually.
  • What happens if you get the code wrong? A wrong or missing HSN or SAC code can attract a penalty of up to Rs. 50,000, cause customs rejections, hold up your client's payment, and trigger document discrepancy queries from banks.

What Is HSN? Full Form and Meaning

HSN full form is Harmonised System of Nomenclature. It's a globally accepted uniform classification system that identifies and categorises goods for customs and GST. It helps freelancers and exporters receive payments from abroad without unnecessary delays.

HSN came into effect in 1988, developed by the World Customs Organization (WCO), and is now used by over 200 countries, including India. 

If you are not familiar with the term HSN and its meaning, let us break it down for you:  

  • HSN (or Harmonised System of Nomenclature) is a universal product ID system 
  • It contains about 5,000 commodity groups, each identified by a six-digit code, arranged in a logical structure 
  • It works like a common language, irrespective of your location. For example, HSN 0901 always means coffee beans
  • It helps your export invoices get processed faster by customs
  • It ensures your GST compliance is spot-on when filing returns

For Indian freelancers and exporters, HSN codes are used in GST filings, export invoices, and most importantly, the documentation your client's bank needs to process your payment

Revenue Leak Calculator

  • Fees quietly eating margin?
  • Current provider vs Skydo
  • Reclaim what's yours

What is the Importance of HSN Codes?

HSN codes matter because they bring accuracy, consistency, and compliance to both taxation and trade. Here is what they do for your business:

Accurate taxation: HSN codes ensure the exact GST rate, or customs tariff, is applied to each product. By tying every item to a specific code, they automate and streamline tax calculations and remove the guesswork that leads to incorrect rates.

Global standardization: Maintained by the World Customs Organization, HSN codes let customs authorities and businesses across more than 200 countries speak the same language. This shared classification eliminates confusion and prevents delays during import and export.

Penalty and audit protection: Accurate classification keeps your business compliant with tax authorities and significantly reduces the risk of penalties, legal disputes, and audits that get triggered by incorrect reporting.

Streamlined compliance: HSN codes make filing returns far easier. Automated systems use them to map your sales, purchases, and input tax credits, so your GST returns are processed accurately and your ITC claims go through without friction.

Origin and History of the Harmonized System of Nomenclature

The Pre-HSN Era (1950s to 1970s)

As global trade expanded rapidly after World War II, every country classified goods differently, which made customs procedures slow and inconsistent. To address this, the Customs Co-operation Council, now the World Customs Organization (WCO), was established in 1952. Its early standardization attempts, the Brussels Tariff Nomenclature and later the Customs Co-operation Council Nomenclature, gave Europe and parts of the world a starting point but never achieved universal adoption.

Development and Adoption (1970 to 1988)

The real shift began in 1970, when the WCO agreed that global trade needed a single, unified coding system. Preparatory work started in 1973 to merge the various existing classifications into one standard, a task that took 13 years of negotiation and drafting. The WCO Council formally adopted the HS Convention in June 1983, and the Harmonized System officially came into force on January 1, 1988, with 37 initial contracting parties.

Evolution and Modern Use

Since then, the system has completely replaced older nomenclatures. Today it is used by over 200 countries and customs unions, covering more than 98% of all global merchandise trade. Its core structure has stayed consistent: a 6-digit code where the first two digits mark the chapter, the next two the heading, and the final two the subheading, with countries free to append additional digits for national or statistical needs. To keep pace with new technology and changing trade patterns, the WCO revises the system every five to six years, with the most recent major update in 2022 adding classifications for advanced technology, environmental monitoring, and health products.

Structure of an HSN Code: How to Read It?

In India, you need to use 8-digit HSN codes, where the first two digits represent the relevant HSN chapter, the next two are the heading, the following two are the subheading, and the last two digits are the customs tariffs.

Anatomy of an HSN Code

Reading 22021010 from broad to specific

22
Chapter
02
Heading
10
Sub-Heading
10
Tariff Item
22

Chapter, the broad category

22 = Beverages, spirits, and vinegar.

2202

Heading, the product group

2202 = Waters, including mineral and aerated waters.

220210

Sub-Heading, the detailed type

220210 = Waters containing added sugar.

22021010

Tariff Item, the exact product

22021010 = Aerated water containing added sugar.

Let us break down the digits of the HSN code 22021010  for you: 

  • First 2 digits (Chapter) - Broad category of the product. Example: "22" = Beverages, spirits and vinegar
  • Next 2 digits (Heading) - More specific product group within that chapter. Example: "2202" = Waters, including mineral waters and aerated waters
  • Following 2 digits (Sub-heading) - Even more detailed classification. Example: "220210" = Waters, including mineral waters and aerated waters, containing added sugar
  • Last 2 digits (Tariff item) - Most specific classification for that product. Example: "22021010" = Aerated water containing added sugar

The best part is that the HSN number speaks the same language everywhere, whether you're sending website designs to a startup in Berlin or software code to a company in New York.

Your invoice looks professional, your payment gets processed without question in a systematic manner, and you avoid those dreaded "clarification needed" emails that delay your money.

HSN vs SAC Code: Which One Applies to You?

HSN codes apply if you export or trade physical goods, while SAC codes apply if you provide services. The simple test is what you are billing for: a product that ships gets an HSN code, a service that is delivered gets a SAC code. 

A SAC (Services Accounting Code) is a unique 6-digit code used in India's GST system to classify services and apply the correct tax rate to them. It works exactly like an HSN code, but is strictly for services rather than physical goods.

Every SAC code follows a standard 99XXXX format: the first two digits are always 99 to signal a service, the next two identify the broad service category, and the last two pinpoint the exact nature of the service.

For example, 998314 covers IT design and development services, where 99 marks it as a service, 83 the professional and technical category, and 14 the specific IT service, taxed at 18% GST.

Freelancers and SaaS companies could get confused on when to use an HSN or SAC code. Here's a simple breakdown:

HSN CodeSAC code
For goods (physical items)For services
Used in shipping and GST regulationsUsed in GST registration and export invoicing
Example Coffee beans  (HSN 0901)Example: IT consulting services (SAC 998313)
  • If you're a web developer building websites for clients abroad, use SAC code 998313 for web development services. 
  • If you're developing software - building apps, SaaS platforms, or custom software - use SAC code 998314 for IT design and development services.
  • If you're a digital marketing consultant or providing IT support without actual development work, SAC code 998313 works for consulting and support services - this is what social media marketing agencies, digital marketing agencies, and SEO agencies use.

But you'll use HSN codes instead if you're shipping physical products - handmade jewellery, organic spices, or textile products.

For Physical Goods (HSN codes):

  • If you're exporting handmade jewellery, use HSN code 71131900.
  • For organic spices like turmeric, use HSN 09103000.
  • For cotton t-shirts, use HSN 61091000.
  • For coffee beans, use HSN 09011100.

💡 QUICK INSIGHT

All SAC (Service Accounting Code) codes start with "99", your first clue that you are dealing with services. HSN codes are 8 digits and mandatory for exports and imports. SAC codes are 6 digits and mandatory for service providers with a turnover above ₹5 crore.

When and Where to Add HSN/SAC Codes in Export Invoices

You must mention the HSN or SAC code in your export invoice in the following cases:

You are registered under the GST framework: Under GST invoice rules and format, suppliers are required to mandatorily display the HSN or SAC code of the goods or services supplied on a tax invoice.

You are claiming GST refunds on exports: For zero-rated supplies, this is non-negotiable for refund processing.

You are filing e-invoices: E-invoice compliance is mandatory for export transactions. The e-invoice system allows the declaration of export invoices as well as zero-rated supplies.

Your turnover exceeds Rs. 5 crore: Taxpayers must provide a 6-digit digital HSN code during tax calculation for outward supplies where the annual aggregate turnover is more than Rs. 5 crore.

It is also required in your shipping bills for customs clearance, your bank compliance documents (especially when your bank processes FIRA, eFIRC, and eBRC), and your GSTR-1 filing, where HSN and SAC codes must be entered. The GST portal does not auto-fill any of this for you, and missing it means your refund application sits in pending clarification limbo.

For smaller freelancers under Rs. 1.5 crore turnover, there is an exemption: small taxpayers with an annual turnover below Rs. 1.5 crore are not required to mention the HSN code in their invoices and returns. But if you are exporting services and want GST refunds, you will likely need these codes anyway for your zero-rated supply claims.

On the penalty side, a penalty of Rs. 50,000 (Rs. 25,000 under CGST and Rs. 25,000 under SGST) can be levied for not mentioning HSN or SAC codes, or wrongly mentioning them, in GST returns and invoices used for taxation purposes. Missing or using an incorrect code can also cause rejections at customs, hold up your client's payment processing, and trigger those dreaded document discrepancy emails from banks.

Where to place the code

Here is the practical placement guide that matters for getting your payments processed. Mention the code next to each line item in your invoice, which you can do by clicking the Plus sign at the line level. Include it in your shipping bills and customs declarations, where all eight digits of the HSN code are mandatory for exports and imports. Then ensure the same code is used across your GST returns (a dealer or service provider must provide an HSN or SAC-wise summary of sales in GSTR-1), your e-invoices where applicable (you can import HSN-wise details from e-invoices into GSTR-1), and your bank documents for foreign remittance documentation. A mismatch can result in refund hold-ups or compliance notices.

Here is a real-world example. Suppose you are billing a client for website development. In your export invoice, you will show:

Line 1: Website Development Services, SAC 998314, Rs. 1,00,000

This same SAC code, 998314, must appear in your GSTR-1 Table 12 (the HSN-wise summary), your shipping bill if it is a service export, any e-invoice you generate, and your bank documents when claiming the export refund. Taxpayers will see alert messages if there is a mismatch between the values reported in Table 12 and other tables of GSTR-1.

Beginning January 2025, the third phase of HSN validation became effective, further emphasising precise HSN code reporting for businesses. The system now auto-validates everything, so those minor inconsistencies that used to slip through? Not anymore.

✅ PRO TIP

Auto-populate HSN or SAC codes across all your invoices. Tools like Zoho Books and ClearTax let you set the code once and reuse it on every transaction. The setup takes minutes and saves you from compliance headaches at refund time, when one mismatched code can hold up the whole filing.

How to Find the Right HSN or SAC Code for Your Business

You can find your correct HSN/SAC using:

  • GST Portal's HSN/SAC Search Tool - Go to Services > User Services > Search HSN Code (you don't even need to log in)
  • CBIC's official classification - Central Board of Indirect Taxes and Customs has categorised all services under five GST regime slab rates
  • Third-party tools like ClearTax HSN system Calculator, Zoho Books HSN finder

Start by typing a simple description of what you're selling. The revamped Search HSN tool algorithm is based on Artificial Intelligence and Machine Learning linked with the e-invoice declaration database, so it learns from other taxpayers' use.

Here are some commonly used codes for Indian exporters that play a crucial role in your tax invoicing process:

HSN/SAC codeProduct/Service Description
84713010 Laptops and portable computers
85176290Other communication devices (e.g., routers, modems)
09011110Coffee, not roasted, not decaffeinated
57011010 Carpets and other textile floor coverings, knotted – of wool
998313 IT consulting and support services
998365Advertising services (digital and traditional)

Most freelancers fall under 998313 (IT consulting) or 998314 (software development). If you're doing social media management, SEO, or digital marketing campaigns, 998365 is your go-to for advertising services.

✅ PRO TIP

Split your SAC codes for mixed work. If you are building a website and running digital marketing for the same client, use 998314 for the development portion and 998365 for the marketing portion.

Don't try to fit everything under one SAC code; that's how you'll end up with GST notices asking for "clarification."

The GST portal's search is quite intelligent now. Type "web design" and it'll suggest 998314. Type "social media marketing" and you'll get 998365. 

HSN Code and GST: Turnover-Based Requirements in India

Under GST, how many digits of the HSN code you must report on your GSTR-1 depends on your aggregate annual turnover (AATO). The larger your turnover, the more detailed your classification has to be. These codes are declared in Table 12 of the GSTR-1 return, which captures a summary of all the HSN codes used during the period.

Here are the current requirements:

Aggregate Annual Turnover (AATO)HSN Digits Required
Up to Rs. 5 crore4 digits
Above Rs. 5 crore6 digits
Imports & ExportsFull 8-digit HSN/ITC-HS codes 

This requirement was rolled out in stages rather than all at once. When HSN reporting first began in April 2022, smaller businesses only had to report 2-digit codes and larger ones 4-digit codes. Over the following phases, the required level of detail increased until the current thresholds came into effect.

A significant change arrived with the return period starting May 2025. Manual entry of HSN codes is no longer permitted. Instead, you must select the code from a dropdown list on the GST portal, after which the official description auto-populates and cannot be edited. This shift was designed to reduce classification errors and keep reporting consistent across all taxpayers.

Common Mistakes to Avoid

Here are the mistakes that'll cost you time, money, and sleep:

Leaving the HSN/SAC field blank, especially in zero-rated export invoices

No, a GST bill will not be valid without an HSN code for the tax administration. This is non-negotiable for exports. Freelancers can lose weeks chasing down stuck payments because they left this field empty.

Using incorrect codes based on guesswork or copying other businesses

Just because your friend uses SAC 998313 for "web development" doesn't mean it's right for your mobile app development work (which should be 998314). The GST rates portal now auto-validates everything, so guesswork gets caught instantly.

Using HSN when you're exporting services (should use SAC)

HSN codes are used to classify goods, whereas SAC codes are used to classify services. Using SAC codes to export IT services, digital marketing, or any other service. HSN is only for physical goods.

Not updating codes when your product/service offering changes

I started as a freelance writer (SAC 998319 - other professional services) but am now developing websites. Update to SAC 998314. The system tracks everything, and inconsistencies trigger compliance notices.

Simplify Export Payments with Skydo

Getting paid for your exports shouldn't cost you thousands in bank fees and poor exchange rates. Banks charge 1.2% hidden FX margins, paypal takes 8.7%, and getting FIRA certificates is a nightmare.

This is where you need a platform like Skydo. 

Skydo helps with:

  • Zero FX margin - Get actual live market rates
  • Flat fees - $19 for payments up to $2K, $29 for up to $10K, 0.3% above $10K
  • Global accounts in the US, UK, and Canada in 5 minutes
  • Instant FIRA certificates on your dashboard
  • Built-in GST-compliant invoicing 

On a $7,000 payment, you'll receive ₹5,96,680 vs ₹5,89,269 from banks. That's ₹7,400+ more in your pocket.

Whether you're freelancing, running an agency, or selling on Amazon Global, keep more of what you earn.

Share this blog

+91 - 

Want to learn more?

  • International bank accounts

    Get international bank accounts in 5 mins

  • Savings

    Save as much as ₹10 lakh annually with Zero FX Margin

  • Payment tracking

    Real time payment tracking and instant FIRA

Frequently asked questions

HSN stands for Harmonised System of Nomenclature. It’s a globally recognised coding system developed by the World Customs Organisation (WCO) to classify goods systematically. In India, HSN codes are used under GST to identify products for tax purposes and ensure uniformity in taxation.

About the author

Prashanth

Solution & banking

With a decade of experience at Citi Bank, Prashanth leads payments partnerships and solutions at Skydo.

CA Akshay Kumar

Verified by

CA Akshay Kumar

Latest blog posts

Related blog posts