Optical shop software in Mumbai
Mumbai is a city of narrow shops and long counters. An optical store here is usually squeezed between a chemist and a mobile-repair stall, running two or three people through peak hours with frames stacked to the ceiling and a lab that is somewhere else entirely. The software problem is not glamour — it is speed at the counter, a bill that is correct under GST the first time, and knowing which of the four hundred frames on your wall have actually sold this month.
LensVerge is billing, inventory, prescriptions, lab jobs and WhatsApp bookings for Indian optical shops — the OS for optical retail. It runs in a browser, so there is nothing to install and no per-machine licence, and it is the same product whether your shop is in Mumbai or anywhere else in the country. What follows is what actually matters for a shop here.
What a Mumbai optical shop needs from its software
Footfall in Mumbai splits into two shops in one: the walk-in who wants a ready pair today and the customer who is buying a progressive lens and will return in four days. The first needs a bill in under a minute; the second needs their prescription, their frame choice and their lens brand recorded so the person on the counter next Tuesday knows exactly what was promised. Both live in the same billing screen in LensVerge — add the frame, add the lens, tick the job-order box if it is going to the lab, and the job appears on the workshop board while the invoice prints.
Whether you are on the Lokhandwala stretch, in the shopping lanes of Dadar, on a Borivali main road or near a Ghatkopar station exit, the pattern repeats: rent is high, the shop is small, and a second branch — even one across the highway — doubles the admin. A shop with more than one Mumbai location can put both on the Pro plan and switch between them from the same login without logging out. Each branch keeps its own stock, its own customers, its own billing and its own staff under one organisation, and stock value, low-stock and out-of-stock counts are reported per branch — instead of reconciling two notebooks on Sunday.
Areas like Lokhandwala, Dadar, Borivali and Ghatkopar are where most of that trade happens. LensVerge does not care which one you are in — but the way you bill, the printer on your counter and the promise you make about delivery all do, and those are settings, not rewrites.
GST for a Mumbai shop: Maharashtra is state code 27
Mumbai sits in Maharashtra, GST state code 27. Almost every bill you raise is intra-state, so it prints CGST + SGST at half the rate each. The exceptions are worth setting up properly: a customer who gives a Gujarat (24), Karnataka (29) or Goa (30) billing address on a B2B invoice makes that sale inter-state and it must print IGST instead.
You set your GSTIN and state once during setup. A counter sale then bills CGST + SGST at half the rate each; when the supply is inter-state — a buyer in Gujarat (24), Karnataka (29), Goa (30), or goods you ship out of Maharashtra — one tick on the bill switches it to IGST at the full rate, and the place of supply and the buyer's GSTIN print where they are required. Tax is always computed on the amount AFTER discount, which is the single most common hand-billing error.
If your shop is not GST-registered, or you are under the composition scheme, say so in Settings and the whole system changes with you: the document is titled “Bill of Supply” instead of “GST Tax Invoice”, there are no tax rows and no HSN column, the totals say “Net Amount” rather than “Taxable Amount”, and the GST reports disappear from the menu entirely. A composition dealer's own GSTIN and the prescribed declaration still print; an unregistered shop's do not. You are never shown a tax artefact that does not apply to you.
HSN codes an optical shop uses
| Item | HSN | GST |
|---|---|---|
| Spectacle frames | 9003 | 12% |
| Sunglasses | 9004 | 12% |
| Spectacle lenses | 9001 | 12% |
| Contact lenses | 9001 1000 | 12% |
| Repair / labour | 9987 | 18% |
| Eye test | 9993 | Exempt |
Rates as notified; confirm with your CA. LensVerge fills the HSN and rate for you by product category and lets you override either on the product. Full HSN guide →
When the buyer is a company, not a walk-in
Corporate spectacle allowances, safety eyewear for a plant and bulk sunglass orders are ordinary Mumbai business, and they are the bills that go wrong. A company buying under its own GSTIN needs that GSTIN and the place of supply printed on the face of the invoice, and if the GSTIN does not start with 27 the supply is inter-state: you tick "Inter-state sale" while billing and the document prints IGST at the full rate instead of CGST + SGST at half each.
Worked through: two frames at ₹2,500 and a pair of lenses at ₹1,800 is ₹6,800; a 10% counter discount leaves ₹6,120 taxable; 12% of that is ₹734.40 — ₹367.20 CGST plus ₹367.20 SGST for a Maharashtra buyer, or ₹734.40 IGST for a Gujarat (24) one. The arithmetic is identical and the tax is computed after the discount either way; only the split changes. Rates as notified — confirm with your CA.
The counter, the lab and the pickup
Very few Mumbai shops grind their own lenses. The frame goes to a fitting lab, comes back in two to five days, and the whole risk is the phone call you forgot to make. LensVerge tracks each job through its stages — received, sent to lab, back, ready, delivered — with the lab name and an expected date on the card, and sends the "ready for pickup" message on WhatsApp with one tap. Local trains do not care about your promise date; a customer who was told Thursday and hears from you on Thursday will forgive a Friday delivery.
Tick the job-order box while you are billing and the job appears on the orders board with the prescription, the frame, the lens, the lab name and an expected date. It moves through seven stages from received to delivered, and repairs get their own board beside it with the issue type, warranty status and charge. Nothing needs to be re-typed anywhere — the job card is built from the bill you already raised.
Printing: thermal roll or A4 tax invoice
The typical Mumbai counter prints an 80 mm thermal receipt for a walk-in and an A4 tax invoice for anyone who asks for one to claim — a corporate customer, an insurance reimbursement, a company spectacle allowance. Both come out of the same bill.
Four formats come out of the same bill — 80 mm thermal, 58 mm thermal, A4 and A5 — and your default is a setting, so during a rush nobody is choosing from a dropdown. The PDF can be sent to the customer on WhatsApp or email instead of printed at all. More on the billing side →
It keeps billing when the power goes
A power cut or a dead internet connection is not a reason to stop selling, and it is the one thing that makes shopkeepers distrust cloud software. LensVerge bills offline: the app keeps working in the browser, the invoice is created and printed, stock is adjusted, and everything queues locally. When the connection returns it syncs on its own — no export, no re-typing, no duplicate bills, because each offline invoice carries its own id and can only ever land once.
That is also why it is a web app rather than an install on one machine. Your data is not sitting on a counter PC that can be stolen, dropped or wiped, and if that PC does die you carry on from a phone. On Growth and Pro your shop is backed up daily and you can download a backup yourself.
WhatsApp bookings, and timings that stay on IST
Mumbai shops open late morning and trade until nine or ten at night, and the busiest hour is the one after office. Appointment slots, reminders and the day's sales total are all computed in IST, so a bill raised at 10:40 pm belongs to that day, not to tomorrow.
Customers book eye tests by messaging your code on WhatsApp — the bot asks their name, offers the next open days from your actual hours, then a morning/afternoon/evening choice and a real free slot — or from your own booking page at lensverge.com/book/ with your code. Either way the booking lands on your appointments board and creates the customer record. Nothing to install for them, no charge per booking for you. How the booking bot works →
Dates and times are computed in IST throughout — appointment slots, reminders, recall due dates and the day's sales figures. It sounds like a detail until a late-evening bill lands on the wrong day's report, which is exactly what happens when software keeps time in UTC.
Getting the same customer back
Most optical revenue is repeat revenue, and most of it is lost quietly — the customer who tested with you last year and tested elsewhere this year. LensVerge builds a recall worklist from the date on each prescription, so you get a list of who is due rather than a reminder to think about it. Birthday and festival nudges work the same way, and every message is logged so the same person is not messaged twice.
Prescriptions are validated as they are typed — SPH, CYL and AXIS ranges, AXIS required whenever CYL is non-zero, a warning when the two eyes differ sharply — and can be printed, saved as a PDF or sent to the customer on WhatsApp with your review QR on the sheet.
What it costs
Starter is ₹499 a month (₹399 on annual) and covers 100 invoices a month with unused ones carried forward, and WhatsApp bookings are included. Growth is ₹1,999 (₹1,599 annual) for unlimited invoicing plus loyalty points, the flyer and review-QR kit and downloadable backups. Pro is ₹3,999 (₹3,199 annual) and adds multi-branch, which is what a Mumbai shop with a second location needs. Every plan starts with a 14-day free trial and no card.
See the full pricing or start your free trial — setup takes about ten minutes, and you can add your frames as you sell them rather than counting the whole wall on day one.
Other cities
Delhi · Hyderabad · Bengaluru · Chennai · Pune · Kolkata · Ahmedabad