GST and accounts
GST Return Filing for an Optical Shop: Why Three Quarters of Your Bills Carry Two Rates
A frame is taxed at 18%. The lens that goes into it is taxed at 5%. Across 87 spectacle jobs recorded in one Indian optical shop, 76% of bills carried both — and that one fact is what makes your return harder than the kirana's next door.
Every shop owner I know treats GST filing as a monthly tax on their patience. You hand a folder to the CA, the CA sends a number, you pay it, and once a year somebody asks a question you cannot answer.
For most small retailers that is survivable, because most small retailers sell one kind of thing at one rate. An optical shop does not. An optical shop sells a taxable fashion good and a taxable medical good, at different rates, stapled together into a single pair of spectacles, on a single bill, to a single customer who wants one total at the bottom.
That is the whole problem, and almost everything that goes wrong in an optical shop's return traces back to it.
Disclosure and limits. I build Optocore, an optical ERP, and the figures below come out of it. This is one optical business, three months of orders since the system went live, 87 spectacle jobs — enough to show a pattern, not enough to be a statistic about Indian optical retail. I am also not a chartered accountant. Everything here is checkable against the instruments I name, and your CA's written view beats my reading of them.
The 76%
Of 87 uncancelled spectacle jobs in the system, 66 — 75.9% — carried both a frame line and a lens line on the same bill. Another 21 were lens-only, usually a customer bringing in their own frame. None were frame-only.
| What the bill contained | Jobs | Share |
|---|---|---|
| Frame + lens — two GST rates | 66 | 75.9% |
| Lens only — one rate | 21 | 24.1% |
| Frame only — one rate | 0 | 0% |
Three quarters of your invoices are the hard ones. Not the exception you deal with when it comes up — the normal case. If your billing cannot produce a two-rate invoice without somebody thinking about it, then three quarters of the time somebody is thinking about it, at the counter, with a customer waiting.
That is also why a generic retail billing package quietly fails here. It is not that it cannot hold two tax rates. It is that it has no idea that a pair of spectacles is two goods, so nothing in it pushes the person at the counter towards the right invoice.
The rates, as they stand
The September 2025 rate restructuring removed the 12% slab and moved corrective vision goods down to 5%, which widened the gap between the two halves of a pair of spectacles rather than closing it.
| Item | HSN | Rate |
|---|---|---|
| Spectacle frames and mountings | 9003 | 18% |
| Prescription spectacle lenses | 9001 | 5% |
| Contact lenses | 9001 | 5% |
| Corrective spectacles, reading glasses | 9004 | 5% |
| Sunglasses, non-corrective | 9004 | 18% |
Two things in that table deserve a second look, because they are where the arguments happen.
9004 contains both 5% and 18%. The heading covers spectacles and goggles; the rate depends on whether the article corrects vision. A prescription sunglass and a fashion sunglass sit under the same four digits at different rates. The HSN code alone does not settle the rate, which means your product master has to carry the rate, not just the code. The full code-by-code reference is here.
A finished pair can be read two ways, and this is not settled by a blog post. If you supply a frame and a lens as two identified goods and bill them as two lines, 9003 at 18% and 9001 at 5% is the straightforward reading. If you supply a completed pair of corrective spectacles as one article, 9004 at 5% is arguable. Shops take both positions. What is not defensible is choosing whichever is cheaper per bill, or describing the supply one way on the invoice and another way in the return. Pick a treatment, get your CA's view in writing, and bill consistently — because the invoice is the evidence, and inconsistency across invoices is exactly the pattern a scrutiny notice is built on.
What you actually file, and when
Three regimes, and most optical shops are in the second one without having chosen it deliberately.
| Monthly | QRMP | Composition | |
|---|---|---|---|
| Who | Turnover above Rs 5 crore | Turnover up to Rs 5 crore, opted in | Turnover up to Rs 1.5 crore, opted in |
| Outward supplies | GSTR-1 by the 11th | GSTR-1 quarterly; optional IFF by the 13th for months 1 and 2 | — |
| Summary and payment | GSTR-3B by the 20th | PMT-06 by the 25th each month; GSTR-3B by the 22nd or 24th after the quarter | CMP-08 by the 18th after the quarter |
| Annual | GSTR-9 (optional below Rs 2 crore) | GSTR-9 (optional below Rs 2 crore) | GSTR-4 by 30 June |
| Input tax credit | Yes | Yes | No |
The 22nd-or-24th split on quarterly GSTR-3B is by state. Most of the west and south files on the 22nd; most of the north and east on the 24th. Your portal shows your date — use that, not a list from an article.
On composition: the 1% looks attractive until you notice the last row. An optical shop buys frames at 18% and lenses at 5%, and a composition dealer cannot claim a rupee of that back. You also cannot issue a tax invoice, which costs you every corporate and insurance-backed customer who needs one. For a shop with real stock purchases, composition is usually the expensive option wearing a cheap hat.
Three rules that changed, and that nobody told you
If your filing routine was set up before 2025, all three of these have moved under it.
1. You can no longer fix it in 3B
From the July 2025 tax period, the Table 3 outward-supply figures in GSTR-3B are auto-filled from GSTR-1, GSTR-1A and the IFF, and they are non-editable. Hard-locked.
This kills a very common habit. The old routine was: upload GSTR-1 roughly, notice the mistake, leave GSTR-1 alone because amending it is a nuisance, and type the correct figure into 3B. The two returns disagreed, nobody looked, and the tax paid was right.
Now the figure in 3B is whatever GSTR-1 says. A wrong rate split in GSTR-1 becomes a wrong liability in 3B, and you pay it. The correction path is GSTR-1A, filed after GSTR-1 and before 3B for the same period — it amends everything except the recipient's GSTIN. Which means the real deadline for catching an error moved earlier: it is now before you file 3B, not while you file it.
What this does to an optical shop specifically. Your most likely GSTR-1 error is a rate split — a frame invoiced at 5% or a whole pair at 18%. Before July 2025 that was a reconciliation irritation. Now it is a cash outcome, locked, every month, until somebody checks the split before 3B is filed.
2. An unfiled return now expires
From 1 August 2025, the portal will not accept a return filed more than three years after its due date. This comes from the 2023 amendments to sections 37, 39, 44 and 52, notified in July 2023 and switched on in 2025. It applies across the board — GSTR-1, GSTR-3B, GSTR-4, GSTR-9, and the rest.
The liability does not expire. Your ability to file does. So an old gap stops being a thing you will get around to and becomes a thing the department can assess without you having any way to put your own figures on the record. If there is a month from 2022 or 2023 you have been avoiding, that is the one to deal with first, before anything in this article.
3. The Invoice Management System is not compulsory
There is a lot of material online announcing that the IMS is now mandatory. GSTN's own advisory says the opposite: the facility "will not add any compliance burden on the taxpayers as No Action records shall be considered as Deemed Accepted." An invoice you never touch flows into your GSTR-2B as accepted credit.
That said, leaving it alone is not free. Deemed acceptance means a supplier's mistake — wrong GSTIN, wrong amount, an invoice that is not yours — becomes credit sitting in your GSTR-2B with your name on it. Rejecting is the point of the system. For an optical shop the supplier list is short and repetitive: two or three frame distributors, one or two lens labs, a contact lens wholesaler. Ten minutes before the 14th covers it.
Five ways optical shops get the return wrong
These are the ones I have actually seen, in rough order of how much they cost.
One. The one-line bill. "Spectacles — Rs 4,500" on a single line, taxed at one rate. At 18% you have overpaid on the lens half for as long as you have been doing it. At 5% you have underpaid on the frame half and built a demand with interest. There is no version of this that is fine, and it is the single most common defect.
Two. Discount applied after tax. A discount you give at the counter has to come off the taxable value, before GST, and it has to be on the invoice. Calculating tax on the full amount and then knocking the discount off the total means you have collected and paid tax on money you never received. It also makes your GSTR-1 value disagree with your bank, which is the kind of mismatch that gets picked up.
Three. The lab bill that arrives a month late. This is the optical-specific one. Frame purchases come in on a bill you can enter the same day. Lens costs arrive weeks later on a consolidated monthly statement covering dozens of jobs. The ITC on that statement is real money at 5% of a large number, and it is routinely missed or claimed in the wrong period — and the lens cost never gets attached to the job, which is separately why most shops cannot calculate their lens margin.
Four. Contact lens solution billed as a contact lens. The lens is a medical device at 5%. The solution is a chemical preparation and is not at 5% because it sat next to the lens in the same bag. Small amounts, but it is a standing error on a fast-moving line, and it is visible on every bill.
Five. Treating a frame sent to the lab as a supply. The customer's frame going out to a lab for fitting and coming back is not a sale. It is goods moving for job work. Billing it, or showing it as an outward supply, invents a transaction.
The monthly reconciliation, in order
Half an hour, in this sequence, before GSTR-1 goes in. The order matters, because each step depends on the one above it.
- Total your outward supplies split by rate, not in total. Two numbers: taxable value at 18%, taxable value at 5%. If your system cannot produce those two numbers in one click, that is the thing to fix first — everything below depends on it.
- Tie both numbers to collections. Taxable value plus tax, less what is still outstanding, should land on what reached your cash drawer and bank. A gap is usually an unrecorded discount or a bill raised against an order that was never delivered.
- Check the HSN summary. Anything sitting under 9003 at 5%, or 9004 at a rate you did not intend, is a product-master error that will repeat every month until it is corrected at source.
- Open the IMS and clear the list. Accept what is yours, reject what is not, before the 14th.
- Chase the lab statement. If it has not arrived, you are about to file a return missing its largest single input credit. Ask for it before you file, not after.
- File GSTR-1. Read the auto-populated 3B before you file it. This is the new step. If the rate split in 3B looks wrong, stop and file GSTR-1A — because once 3B is filed, that number is your liability.
What Optocore does about it — and what it does not
I will be specific, because "GST-ready" is printed on every software brochure in the country and means nothing.
The two-rate invoice is the default, not an option. A spectacle order holds a frame line and a lens line as separate items with their own HSN and rate, because that is what the order physically is. The person at the counter does not choose to split the bill; the bill is already split. Three quarters of your invoices stop depending on somebody remembering.
Rate and HSN live on the product, not on the bill. Set them once when the product is created and every future invoice inherits them. That turns a recurring monthly error into a one-time correction — and it is what makes step 3 of the reconciliation above finish in seconds instead of an evening.
Discount comes off taxable value, before tax, and is printed on the invoice. Not because it is a feature, but because the alternative is wrong.
The lab cost attaches to the job, when the job is created. You enter the expected lens cost against the order at the counter and reconcile it against the lab's statement when it arrives, instead of discovering at the end of the month that you have a statement and no idea which jobs it covers. That is the difference between claiming that credit and meaning to.
The GST report comes out split by rate and by HSN, in the shape GSTR-1 wants, so the handover to your CA is a report rather than a folder.
And what it does not do: Optocore does not file your return. There is no GSTN integration, no one-click filing, no "we handle compliance". It produces figures you can defend and hands them to the person who files. Anyone selling you one-click GST filing for a retail shop is selling you a reconciliation you still have to do, with an extra layer between you and the numbers.
It also will not tell you whether to bill a finished pair under 9003 plus 9001 or under 9004. That is a legal position about your supply, and it belongs to your CA.
Rates as notified with effect from 22 September 2025. GSTR-3B hard-locking of auto-populated Table 3 from the July 2025 tax period; the three-year bar on filing under the 2023 amendments to sections 37, 39, 44 and 52, effective 1 August 2025; IMS deemed-acceptance per GSTN's revised advisory. All as they stood in September 2026 — GST changes often, and this is not tax advice. Figures are counts from 87 spectacle jobs in one Indian optical business's ERP. No customer information is published.