Compliance · India
GST and your ecommerce website: what the software has to do
Most GST guides are written for your accountant. This one is written for the person deciding what the store has to be able to store, calculate and print — the part that has to be right before the first order.
Not tax advice
What this page is and is not
This is a working note about software requirements, written by a developer. It is not tax, legal or accounting advice, and it deliberately avoids rates, thresholds and registration questions — those depend on your turnover, your state and what you sell, and belong with a chartered accountant. Where a rule is cited, the source is linked so you can check it rather than trust it.
HSN and SAC: goods and services, classified separately
Under GST, what you supply gets a classification code, and the code depends on whether the thing supplied is a good or a service. Goods are classified under HSN — the Harmonised System of Nomenclature, the international customs classification. Services are classified under SAC — the Services Accounting Code, set out in CBIC's Scheme of Classification of Services.
For most sellers this is simple: you sell goods, so every product carries an HSN code and that code goes on the invoice. It stops being simple when a single order contains both. A furniture shop that charges separately for assembly is supplying a good and a service on one invoice, and the two lines are classified under different systems.
This is also where store owners meet SAC from the other side. The invoice for building your website is a service invoice, and it carries a SAC — not an HSN. Which is why a store owner sees both codes in the same accounting month, and why the distinction is worth understanding even if everything you sell is a good.
HSN
Harmonised System of Nomenclature
Classifies goods. What you sell.
SAC
Services Accounting Code
Classifies services. What you buy to run it.
The SAC codes an ecommerce business actually meets
These are the codes that appear on invoices around a store — from the people who build and host it. Descriptions are CBIC's own wording, under heading 9983, group 99831.
| SAC | Official description |
|---|---|
| 998313 | Information technology consulting and support services |
| 998314 | Information technology design and development services |
| 998315 | Hosting and information technology infrastructure provisioning services |
| 998316 | Information technology infrastructure and network management services |
| 998319 | Other information technology services nowhere else classified |
| 998365 | Sale of internet advertising space |
Website design and build work generally falls under 998314; hosting under 998315. Which code applies to a specific engagement is a question for whoever raises the invoice and their accountant — the point here is that it is a SAC, in the 9983 family, and not an HSN.
How many digits of HSN go on an invoice
The number of digits required is tied to your aggregate turnover in the preceding financial year, under Notification 78/2020-Central Tax.
- Up to ₹5 crore
- 4 digits
- More than ₹5 crore
- 6 digits
There is a relaxation for the lower band: a registered person with turnover up to ₹5 crore is not required to mention the HSN digits on invoices issued to unregistered persons — that is, on ordinary B2C sales.
For the software, the consequence is simple and worth designing for once: store the full HSN against each product, and decide at print time how much of it to show. A store that only stores four digits cannot grow into the six-digit requirement without a data migration.
One distinction worth holding on to: what must be reported in Table 12 of GSTR-1 followed its own phased rollout, and is a related but separate obligation from what must be printed on the invoice. Your accountant handles the return; the store's job is to hold codes accurate enough to file from either way. If your position is near the threshold, confirm both with them rather than reading it off a page like this one.
The fields a tax invoice has to be able to carry
A tax invoice under GST is a specified document, not a receipt with a logo. If your store cannot produce these, someone is retyping them into a spreadsheet every month.
Who is supplying
- Supplier name, address and GSTIN
- A consecutive invoice number, unique within the financial year
- Date of issue
Who is receiving
- Customer name and delivery address
- Customer GSTIN, where the buyer is registered — so the store needs somewhere to capture it at checkout
- Place of supply, and the state code
What was supplied
- Description of each item, with its HSN (goods) or SAC (services)
- Quantity, unit and taxable value per line
- Discounts applied, where they affect taxable value
The tax
- Rate and amount of tax per line, split into CGST and SGST, or IGST
- Total tax and invoice total
- Whether tax is payable on reverse charge, where that applies
- Signature or digital signature of the supplier or an authorised person
The rule your checkout gets wrong first
Whether an order attracts CGST plus SGST, or IGST, is determined by the place of supply relative to the supplier's location — broadly, whether the transaction is within one state or across state lines.
For a store, that means the tax split cannot be a setting. It has to be computed per order, from the delivery address, at the moment the order is placed — and it has to end up on the invoice that way. This is the most common thing to find wired incorrectly in a store that was built quickly: a single tax rate applied uniformly, with the split sorted out afterwards by hand.
Getting it right at checkout also means the customer sees the correct tax before paying, which matters more than it sounds when the buyer is registered and cares about their input credit.
What to require from your store software
- An HSN or SAC field on every product, storing the full code rather than a truncated one
- A tax class per product, because not everything you sell is taxed alike
- Tax computed per order from the delivery address, splitting CGST/SGST or IGST automatically
- A GSTIN field at checkout for B2B buyers, validated for format
- Invoice numbering that is consecutive and unique within the financial year, and does not restart when something is cancelled
- A generated invoice document attached to the order, retrievable later by both you and the customer
- Credit notes for returns and cancellations, linked to the original invoice
- An export your accountant can actually file from, rather than a screen they have to read
None of this is exotic, and all of it is far cheaper to build in at the start than to retrofit after a year of orders exist in the wrong shape.
If you are working out what this means for a store you are about to have built, the practical requirements sit alongside the other things a first build has to get right — payments, delivery rules and serviceability. what an ecommerce build involves.
Questions store owners ask
- What is the difference between HSN and SAC?
- HSN classifies goods; SAC classifies services. HSN comes from the international Harmonised System used in customs, while SAC is set out in CBIC's Scheme of Classification of Services. A single invoice can carry both, if you supplied a product and a service on the same order.
- What SAC applies to website development?
- Website design and development work generally falls under SAC 998314, "Information technology design and development services", with hosting under 998315. The exact code for a given engagement is a matter for whoever raises the invoice and their accountant.
- Do I need to show HSN codes on B2C invoices?
- Under Notification 78/2020-Central Tax there is a relaxation for registered persons with aggregate turnover up to ₹5 crore in the preceding financial year, who are not required to mention HSN digits on invoices to unregistered persons. Above that band the requirement applies. Confirm your own position with your accountant — the thresholds are turnover-dependent and have been revised before.
- Does my website need to be GST compliant, or just my accounting?
- The obligation is yours, not your software's. But the invoice is generated by the store, so in practice the store has to be capable of producing a compliant one. The failure mode is not a fine on your website — it is a monthly reconciliation job that someone has to do by hand forever.
- Can I add GST handling later?
- You can, and it is much more expensive than doing it at the start. Retrofitting means backfilling HSN codes across an existing catalogue and reconciling invoices already issued under the wrong logic. The fields cost almost nothing to include in the first build.
Sources
Written by Manish Sharma, a developer rather than a tax professional. Rules cited here are linked to their source so you can check them; anything that affects your filing belongs with your accountant.
- CBIC — Scheme of Classification of Services (annexure to Notification 11/2017-Central Tax (Rate))
SAC codes 998313–998319 and 998365, with CBIC's own descriptions, read on 27 August 2026.
- GSTN advisory — mandatory mentioning of HSN codes in GSTR-1
The ₹5 crore aggregate annual turnover threshold and the 4-digit / 6-digit split, and that it derives from Notification 78/2020-Central Tax.
- CBIC — Central Tax notifications index
That Notification 78/2020-Central Tax is dated 15.10.2020 and, in CBIC's own words, "Seeks to notify the number of HSN digits required on tax invoice". CBIC's links to the notification PDF itself were returning errors on 27 August 2026, so the digit thresholds on this page come from the GSTN advisory above rather than from the enacted text.
Building a store that has to invoice properly?
If GST handling has to be right rather than reconciled afterwards, it is worth designing in from the first schema. Tell me what you sell and whether you are registered, and I will tell you what that means for the build.