Optical shop software in Pune
Pune has a heavy student and young-professional population, and that shows up in the bill: cheaper frames, faster replacement cycles, more repairs, more contact lenses and a lot of price sensitivity. A shop here does volume on small tickets, which makes two things matter far more than they would elsewhere — how long a sale takes at the counter, and whether you can see your real margin after all the discounting.
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 Pune or anywhere else in the country. What follows is what actually matters for a shop here.
What a Pune optical shop needs from its software
Repairs are their own small business in Pune, and they are where money leaks: a frame comes in, someone writes it in a book, it sits in a drawer for three weeks. LensVerge has a repairs board beside the orders board with the issue type, whether it is under warranty and what you are charging, so an unclaimed repair is visible instead of forgotten. Gross profit is computed as net revenue minus actual cost price per line, with GST excluded because it was never yours.
Camp, Kothrud, Deccan Gymkhana and Aundh sit at very different price points, and shops that run more than one location in Pune usually carry different stock in each. Multiple branches under one organisation are a Pro-plan feature: each branch holds its own stock and its own customer records, and you switch branches from the same login rather than keeping two systems.
Areas like Camp, Kothrud, Deccan Gymkhana and Aundh 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 Pune shop: Maharashtra is state code 27
Pune is in Maharashtra, GST state code 27 — the same as Mumbai, so a sale to a Mumbai business customer is INTRA-state and prints CGST + SGST. Cross into Karnataka (29), Gujarat (24) or Goa (30) and the same invoice becomes IGST. It is the state on the invoice that decides, not the distance: tick "Inter-state sale" while you bill and LensVerge prints IGST at the full rate instead of CGST + SGST.
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 Karnataka (29), Gujarat (24), 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 →
A repair and a new pair are not taxed the same
A student walks in with a snapped temple and walks out having also ordered a new pair. That is two different things on one bill: repair labour is a service under 9987 at 18%, while the frame and the lenses are goods at 12%. Software that carries one tax rate for a whole invoice cannot print that bill correctly.
LensVerge keeps the HSN or SAC and the slab per line, so a mixed bill computes each line on its own slab and the totals still reconcile. The repair itself lives on its own board with the issue type, the warranty status and the charge, so a frame in a drawer for three weeks is a card on a screen instead of a line in a notebook. Rates as notified — confirm with your CA.
The counter, the lab and the pickup
Pune shops mostly use local fitting labs with one to three day turnaround, and the student customer will absolutely walk in on day two to ask. Give them a promised date on the job card and let the ready-for-pickup message go out on WhatsApp — the fewer "is it done?" calls you take, the more time the counter has for the person standing in front of it.
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
High-volume, small-ticket counters live on the thermal roll — 80 mm or 58 mm — and A4 stays for the occasional corporate or claim invoice. The print format defaults to whatever you set in Settings so nobody has to choose during a rush.
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
Weekday evenings and Saturdays carry the week. Set your hours, weekly off and per-slot capacity once; the booking bot offers only genuinely free times, in IST, and the day's totals close on the correct calendar day.
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 Pune 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
Mumbai · Delhi · Hyderabad · Bengaluru · Chennai · Kolkata · Ahmedabad