Most stores get registered and then discover that registration was the simple half. The hard half is that every order now has to produce a document with specific contents, carrying the right tax, under a number from a series that cannot have gaps, and the store has to work all of that out by itself at checkout.
This is what that actually requires, and where it goes wrong. It assumes you are already registered, or about to be.
Whether you need to register at all is a different question with a genuinely different answer depending on whether you sell through a marketplace. How to sell products online in India covers that, with the thresholds and the marketplace rule. This page starts the day after.
This is not tax advice, and it is not a substitute for an accountant. It is the shape of the rules as they stand in September 2026, written so you can ask your accountant better questions and configure your store to match their answers. Rates, thresholds and reporting requirements change, and several in this area have changed recently.
What actually changes the day you register
Four things, and only the first is the one people expect. You start charging tax, which everybody anticipates. You start issuing a specific document rather than a receipt. You start filing returns on a cycle. And your pricing has to decide whether the number on the product page already includes the tax or not, which sounds trivial and is the single most common cause of a store whose books do not reconcile.
A tax invoice, not a receipt
Section 31 of the CGST Act requires a tax invoice for a taxable supply of goods, issued before or at the time of removal for supply. An order confirmation email is not one. The contents are prescribed, and they are listed in the next section.
An unbroken serial number
The invoice number must be from a consecutive series, unique for the financial year. Not "unique enough". Consecutive. A store that skips numbers when an order fails payment has a problem to explain later.
Tax that depends on the buyer's state
Not one rate for everybody. The same product at the same price attracts CGST plus SGST for a buyer in your state and IGST for a buyer outside it, and the store has to decide which at checkout.
A decision about inclusive pricing
Whether your displayed price includes tax is a business decision with accounting consequences, and it has to be made once and configured consistently rather than changed later.
None of the four is a switch you flip afterwards without consequences, and the last one is cheapest to settle before the catalogue is priced. How they are configured is not interchangeable between platforms either: the tax engine, the invoice template and the checkout fields sit in different places on Shopify development in Pune and on WooCommerce development in Pune, and so does the work of getting them right.
What a compliant tax invoice has to contain
Rule 46 of the CGST Rules sets out the particulars. Most store plugins produce something close to this by default and miss one or two, and the ones they miss are always the same ones.
| Particular | What stores get wrong |
|---|---|
| Your name, address and GSTIN | Usually fine, occasionally the trading name rather than the registered one |
| Invoice number and date | The series breaks, or restarts mid-year |
| Buyer name and address | Present, but the state is missing, which is the field that drives the tax |
| Buyer GSTIN, where registered | No field for it at checkout, so B2B buyers cannot claim credit |
| Description, HSN code, quantity | HSN absent entirely, or one generic code applied to the whole catalogue |
| Taxable value and discount | Discount applied after tax rather than before |
| Rate and amount of each tax head | Shown as one combined "GST" line rather than CGST and SGST separately |
| Place of supply | Missing, which is the omission that matters most on inter-state orders |
| Signature or digital signature | Often absent on automated invoices |
| Source: Rule 46, CGST Rules 2017 | Position as of September 2026 |
The two worth checking on your own store today are the buyer GSTIN field and the separate CGST and SGST lines. The first decides whether a business customer can claim input credit, which decides whether they buy from you again. The second is the one accountants send back.
If business buyers are a real share of your orders, that GSTIN field is not a nicety. Without it they cannot claim credit, and they will order from whoever hands them a document their accountant accepts. On a dealer-facing store it belongs in the checkout from the first day, which is one of several reasons a dealer-facing store is not a retail build with a login on it.
Place of supply, and the tax split it decides
This is the rule that makes ecommerce different from a shop, and the one most store configurations get wrong in a way nobody notices until a return is filed.
For goods that move, section 10 of the IGST Act places the supply where the movement terminates for delivery to the recipient. In plain terms: your customer's delivery address decides the tax, not where you are and not where they are billed.
You are in Maharashtra, the parcel goes to Pune.
Intra-state supply. The tax splits into CGST and SGST, shown as two separate lines on the invoice, each at half the total rate.
You are in Maharashtra, the parcel goes to Karnataka.
Inter-state supply. One IGST line at the full rate. Not two lines, and not the same fields on the invoice.
Two consequences follow, and both are configuration problems rather than accounting problems. The store must capture the delivery state as structured data rather than as a free text blob, because a plugin cannot read "Pune, MH" reliably out of a single address line. And the tax has to be computed against the shipping address, not the billing address, on every order where the two differ.
A store that computes tax from the billing address charges the wrong split on every gift order, every corporate order shipped to a branch, and every customer who has moved and not updated their profile. It is a quiet error that produces correct-looking totals, which is why it survives for months.
The structured delivery state is worth getting right once because two systems need it. The tax engine reads it to pick the split, and the courier reads it to decide serviceability and rate. Capturing it as one clean field rather than a free text address is the sort of thing ecommerce integration services have to assume is already true, and cannot fix from the outside if it is not.
HSN codes, and how many digits you need
Every product needs a classification code, and how many digits of it you must show depends on your turnover rather than on what you sell. The requirement stepped up under Notification 78/2020 and applies from the 2021-22 financial year onwards.
The split is by aggregate annual turnover in the preceding financial year. Up to five crore, four digits are mandatory on B2B invoices. Above five crore, six digits, on every taxable supply. A further mandate from 15 December 2023 requires six digits in e-invoices specifically for anyone at or above the five crore mark.
Confirm your own band with your accountant before configuring the catalogue. The turnover that decides it is the preceding financial year, not the current one, which catches businesses in the year after they grow.
- Get the correct HSN from your accountant or supplier, per product category rather than per product.
- Store it as a field on the product, not in the description, so the invoice can read it.
- Check that variations inherit it, because a variable product with the code on the parent only will print blank invoices.
- Do it at catalogue build time. Retrofitting HSN across four hundred products is a week nobody budgets.
This is the single strongest argument for getting the catalogue structured before the store is designed, which is the same argument how to build an ecommerce website makes for a different reason. The fields you will need later are cheapest to add before there is any data in the system.
Configuring the store so it produces the right document
The mechanics differ by platform but the decisions do not. There are four, and they have to agree with each other.
Inclusive or exclusive display
Whether the price on the product page already contains the tax. Consumer stores usually display inclusive, because a price that grows at checkout costs conversions. B2B stores usually display exclusive, because the buyer reclaims it. Pick one and configure the whole store that way.
Tax classes per product type
Different categories attract different rates, so a single store-wide rate is almost always wrong. Set up a class per rate you actually sell at, and assign products to classes rather than setting rates on products individually.
Rates per state, driven by delivery
The split between CGST plus SGST and IGST has to follow the shipping address. Check this with a real test order to another state rather than trusting the setting, because this is where plugins differ most.
Where the invoice number comes from
The order number and the invoice number are not the same thing, and the invoice series has to stay continuous even when orders fail, cancel or are placed in the admin.
The test that catches most of it
Place four real orders before launch and read the four invoices side by side. One to your own state, one to another state, one with a billing address different from the delivery address, and one for a product in a different tax class. If all four are correct, the configuration is right. If any is wrong, it is wrong in a way that would have taken a quarter to discover.
Getting the resulting invoices into your books without anyone re-keying them is a separate piece of work, and it is the one that decides whether this stays correct in month six. Ecommerce integrations covers the accounting side, including ledger and item mapping and credit notes for refunds.
Shipping charges, discounts and the value of supply
Two line items that people treat as outside the tax and are not.
Shipping first. Under section 15(2) of the CGST Act, the value of a supply includes incidental expenses charged to the recipient, and freight charged on the invoice is one of them. Where delivery is ancillary to the goods it follows the treatment of the principal supply rather than having a rate of its own. Practically: a store that charges shipping without tax on it is under-charging tax, and the shortfall is the store's to make up.
Discounts second. A discount given at the time of supply and shown on the invoice reduces the taxable value. A discount given afterwards only reduces it under specific conditions, which is why coupon logic has to reduce the taxable value before tax is computed rather than knocking money off the total afterwards. Several plugins do the latter, and the resulting invoice is arithmetically consistent and wrong.
This is also why stacking plugins that each modify the order total is worse than it looks. Two of them adjusting the same number independently produces invoices nobody can reconstruct. Adding COD charges and rules in WooCommerce works through the same problem for cash on delivery fees specifically.
Cash on delivery, and sales through a marketplace
Both create a gap between when the supply happens and when the money arrives, and both are places where stores invoice at the wrong moment.
Cash on delivery
The invoice belongs with the goods, not with the payment. You are dispatching a taxable supply whether or not the cash has reached you, so the invoice is raised at removal and travels with the parcel. If the parcel is refused and comes back, that is a credit note rather than a deleted invoice. Deleting the invoice breaks the series, and the series is the thing that has to stay intact.
Marketplace sales
Selling through an operator adds tax collected at source under section 52 of the CGST Act. The operator withholds a percentage of the net value of your sales and deposits it against your GSTIN, so it shows up as credit you claim rather than as a cost.
The rate halved on 10 July 2024, on the recommendation of the 53rd GST Council meeting of 22 June 2024. It went from 1% to 0.5%, which in practice is 0.25% CGST plus 0.25% SGST on intra-state supplies through the operator, or 0.5% IGST on inter-state. Articles written before mid-2024 still quote the old figure, which is worth knowing when you are checking your own reconciliation against something you found online.
The practical consequence is reconciliation. Your marketplace payout is net of commission and TCS, and it will not match the invoice total for the same order. A store selling on both its own site and a marketplace has two sets of numbers that have to be tied back to one set of returns, and that is an operations problem rather than a plugin setting.
All of that is the seller’s side of section 52. If you are the one building the marketplace, it points the other way: the operator collects the tax, deposits it against each seller’s GSTIN and produces the statements they will reconcile against. That is a requirement of the software rather than of your accounts team, and it is one of the invisible systems the software behind a marketplace has to account for before a single seller is onboarded.
What actually goes wrong
In rough order of how often we find them when taking over an existing store.
Tax computed from the billing address
Produces the wrong split on every order where delivery and billing differ. Totals look plausible, returns do not.
One HSN code for the whole catalogue
Usually a placeholder somebody set during setup and nobody revisited. Invoices are technically populated and substantively wrong.
CGST and SGST shown as a single GST line
The amounts add up, the document does not meet Rule 46, and it is the most common thing an accountant sends back.
No GSTIN field at checkout
Every B2B customer either abandons or emails you afterwards asking for a corrected invoice. The fix is a checkout field and it takes an hour.
An invoice series with gaps
Caused by numbering invoices from order IDs, so failed and cancelled orders punch holes in the sequence.
Shipping charged without tax
A quiet shortfall on every order that carries a delivery charge, which the business absorbs without noticing.
All six are fixable without rebuilding anything, and all six are cheaper to find deliberately than at filing time. We meet them most often when taking over an ecommerce store somebody else built, which starts with an audit for exactly this reason. Occasionally that audit concludes the tax configuration is the least of the store’s problems, and the honest recommendation is a rebuild rather than a repair.
What to do this week
An hour on an existing store, and worth it before a new one launches.
- Place a test order to another state and read the invoice. Is it IGST, as one line?
- Place one where the delivery address differs from billing. Which one drove the tax?
- Open three invoices from three product categories and check the HSN codes differ.
- Look for the buyer GSTIN field at checkout. If there is not one, add it.
- Ask your accountant for one sentence: what is wrong with this invoice?
That last one is the highest-value five minutes available. An accountant can tell you in a glance what three months of reading cannot, and the answer is usually one or two specific fields rather than anything structural.
Send us a sample invoice and a month of orders. We will tell you which fields are wrong, whether it is a setting or a plugin conflict, and what it takes to get orders flowing into Tally or Zoho without re-keying.
Questions we get asked about this
Do I need to show CGST and SGST separately on the invoice?
Yes for an intra-state supply. Rule 46 of the CGST Rules requires the rate and amount of tax per head, so CGST and SGST appear as two lines rather than one combined GST line. An inter-state supply carries a single IGST line instead. A store that prints one merged line is the most common thing accountants send back for correction.
Which address decides the tax, billing or delivery?
Delivery. For goods that move, section 10 of the IGST Act places the supply where the movement terminates for delivery to the recipient, so the shipping address determines whether it is intra-state or inter-state. A store configured to compute tax from the billing address charges the wrong split on every gift order and every corporate order shipped to a branch.
How many digits of HSN code do I have to show?
It depends on your aggregate annual turnover rather than on what you sell, under Notification 78/2020. As of September 2026 the shape is four digits for smaller businesses and six above a five crore turnover threshold. This is one of the numbers that has moved, so confirm your band with your accountant before you configure the catalogue.
Do I charge GST on shipping charges?
Generally yes. Section 15(2) of the CGST Act includes incidental expenses charged to the recipient in the value of the supply, and freight charged on the invoice is one of them. Where delivery is ancillary to the goods it follows the treatment of the principal supply. A store charging shipping with no tax on it is absorbing the shortfall itself.
Can I invoice a cash on delivery order when the money arrives?
No. The invoice belongs with the supply, not the payment, so it is raised at removal of the goods and travels with the parcel. If the parcel is refused, issue a credit note rather than deleting the invoice. Deleting it breaks the serial series, and the series has to stay continuous for the financial year. Setting up the COD rules themselves is a separate job.
Do I need GST registration to sell online at all?
It depends on whether you sell through a marketplace, and the answer is genuinely different for your own website. That question has its own guide , with the thresholds and the marketplace rule set out properly.