Salon GST billing: how CGST and SGST work on a combined product and service bill

A haircut and a bottle of shampoo on one bill are two different tax problems. Here is the order the sums have to happen in.

6 min read

How do CGST and SGST work on a salon bill with both services and products?

On an intra-state sale, GST is split into two equal halves — CGST and SGST — and it must be calculated per line, not once on the bill total. A service and a retail product can carry different rates and different inclusive or exclusive pricing, so one percentage applied to the total gets at least one of them wrong. Inter-state sales use IGST instead, at the full rate.

Why one percentage on the bill total is the wrong sum

This is the mistake that survives longest, because the bill still looks reasonable. A salon bills a haircut and sells a styling product on the same invoice. The two do not necessarily carry the same GST rate. Applying the service rate to the whole bill understates the tax on the product; applying the product rate overstates the tax on the service. Neither error shows up until a return is filed against the totals.

LineTaxable valueRateCGSTSGSTLine total
Haircut (service)₹1,00018%₹90₹90₹1,180
Styling wax (product)₹60028%₹84₹84₹768
Bill₹1,600mixed₹174₹174₹1,948
One intra-state bill, two rates. Rates are illustrative — confirm the ones that apply to you.
  • Computed per line, the bill carries ₹348 of GST and totals ₹1,948
  • One flat 18% on ₹1,600 gives ₹288 of GST and totals ₹1,888
  • The shortfall is ₹60 on a single bill — and it repeats on every mixed bill you issue

CGST and SGST, or IGST — which one applies?

It depends on where the supply happens, not on what you sold. For an intra-state supply — the ordinary case for a salon serving walk-in customers in its own state — the GST rate is split into two equal halves, one going to the centre as CGST and one to the state as SGST. An 18% rate becomes 9% CGST plus 9% SGST. For an inter-state supply the same 18% is charged once as IGST and is not split.

  • Intra-state: rate ÷ 2 as CGST, rate ÷ 2 as SGST, both on the same taxable value
  • Inter-state: the whole rate as IGST, no split
  • The split is on the tax, never on the taxable value
  • An odd rupee has to land somewhere — CGST and SGST must still sum to the exact tax

Inclusive or exclusive pricing: same rate, two different bills

A salon that advertises a ₹1,000 haircut usually means the customer hands over ₹1,000. That is tax-inclusive pricing, and the tax has to be backed out of the price rather than added to it. Retail products are more often priced exclusive, with tax added on top. The rate is identical in both cases; the arithmetic is not, and a system that only understands one of them will quietly misprice the other.

PricingTaxable valueGSTCustomer pays
Exclusive — tax added on top₹1,000.00₹180.00₹1,180.00
Inclusive — tax backed out₹847.46₹152.54₹1,000.00
₹1,000 at 18%, priced both ways.
  • Inclusive taxable value = price ÷ (1 + rate), so ₹1,000 ÷ 1.18 = ₹847.46
  • The customer pays the advertised price and the salon absorbs the tax out of it
  • Services and retail products often need opposite settings on the same bill

Where do discounts belong in the order of operations?

Before tax, and allocated across the lines rather than subtracted from the total. A ₹200 discount on the mixed bill above is not ₹200 off the final figure — it reduces the taxable value of the lines it applies to, which reduces the tax those lines carry. Applying the discount after tax charges the customer GST on money they never paid, and the difference is real money in both directions.

  • Allocate the discount across lines first, then compute tax on what each line actually charged
  • A bill-level discount has to be apportioned; a line-level one already knows where it belongs
  • Coupons and loyalty redemptions are discounts for this purpose and follow the same order
  • Round once, at the end, on the grand total — not line by line

Why the tax has to be stored on the invoice, not recalculated

Rates change. Branches switch from exclusive to inclusive pricing. A category gets reclassified. If a bill recomputes its tax every time it is opened, then last year's invoice quietly starts disagreeing with the return you already filed against it, and with the printed copy the customer is holding. The tax charged is a fact about a transaction that happened, so it belongs on the invoice as a stored value.

  • Compute at the moment of issue, then store CGST, SGST, IGST and the taxable value per line
  • A rate change next year cannot reach backwards into a bill already issued
  • Reports over past periods keep matching the paperwork the customer was given
  • An edited bill should correct in place against its original number, not spawn a second one

How Salvoro does it

Salvoro computes tax per line against each line's own category settings, allocates discounts proportionally across lines before tax, splits intra-state tax into equal CGST and SGST halves, and stores the computed tax on the invoice. Money is held in paise as integers rather than floating-point rupees, so the two halves of a split always add back to the exact tax with no lost paisa. Tax settings are set per company and can be overridden per branch — a branch in another state gets its own rates, and a branch that overrides nothing inherits.

  • Independent rates and price types for services, products and memberships
  • Per-branch overrides, inheriting from the company where unset
  • A per-branch GST summary report for filing
  • Invoices printable, downloadable as PDF, or sent as a link the customer opens on their phone

Common questions

Is GST calculated on the discounted amount or the original price?
On the discounted amount. The discount reduces the taxable value of the line, and tax is computed on what the line actually charged. Applying tax before the discount charges the customer GST on money they never paid.
Can one salon bill have two different GST rates?
Yes, and it commonly does. A service and a retail product on the same invoice can carry different rates, which is precisely why tax has to be computed per line rather than once on the bill total.
Do CGST and SGST always split the rate equally?
Yes. For an intra-state supply the rate is divided into two equal halves, one CGST and one SGST. An 18% rate becomes 9% and 9%. The two halves must sum to the exact tax charged, which is why the arithmetic is done in whole paise.
What happens to old invoices when a GST rate changes?
Nothing, provided the tax was stored on the invoice when it was issued rather than recalculated on each view. A bill already issued keeps the figures it was issued with, so past reports keep matching the customer's copy.

Worth knowing

  • Nothing here is tax advice. The rates in the worked examples are illustrative — confirm the rates and treatment that apply to your services and products with your accountant.
  • Salvoro produces GST-compliant invoices and a per-branch filing summary. It does not file returns, and it is not accounting software.
  • There is no e-invoicing or IRN generation, and no e-way bill support.
  • HSN and SAC codes are not currently recorded against catalog items.

See it with your own salon’s data

30 days free, no card required, and a guided setup that takes four steps.