Release Notes
Every update we ship to OpticPOS — from the small polish that saves a click, to the big features that reshape how your store runs. Written for store owners and staff. No jargon.
No more full-screen loading spinner during normal browsing
Fixes a long-standing annoyance where the big “Loading…” overlay would pop up whenever ONE background fetch on a page happened to take more than three seconds — even if the page you were looking at was already fully usable. Also smooths out the auto-refresh after we ship an OpticPOS update.
Full-screen loading spinner no longer hijacks pages that are already usable
A number of you reported the big “Loading…” overlay showing up during normal browsing on pages that were otherwise perfectly responsive. That was a side-effect of the global loading indicator listening to every background API call on the page — if ANY one of them (a cold dashboard hydrate, a slow catalog fetch on a large tenant) went over three seconds, the overlay would pop even though nothing was actually broken.
What’s improved:
- The full-screen spinner is now reserved for genuinely slow navigations — when you click a link and the next page really is taking a long time to arrive.
- Ordinary data fetching still shows the thin peripheral progress bar at the top of the screen, so you never lose the “something is loading” signal on tables and charts.
- Net effect on a busy shift: fewer full-screen interruptions, same amount of feedback.
Softer auto-refresh after an OpticPOS update
When we ship an OpticPOS update and your open tab notices it’s running an older bundle, it used to reload silently. It now shows a small dark toast at the bottom of the screen for a moment — “OpticPOS just updated — refreshing to pull the latest version…” — so you know what’s about to happen and don’t mistake it for a crash.
Safer data migrations and no more stuck loading spinner after updates
Two smoothing improvements for owners of multi-store chains: it’s now impossible to accidentally import a legacy POS export into the wrong tenant, and the app quietly refreshes itself if a tab was still open when we shipped an update.
Data migration ZIP upload now shows exactly where the data will land
The one-shot ZIP archive import (Admin → Migrations → ZIP archive) has been rebuilt to make it impossible to accidentally load a legacy export into the wrong tenant — a scenario that can be painful to reverse for chains with several tenants under one super-admin login.
What’s improved:
- The moment you pick a tenant, a big green banner appears with the tenant name, tenant ID, and the full list of stores under that tenant that will receive the data.
- Before creating the migrations, a preview shows the first three rows of each detected CSV file — with emails and phone numbers partly redacted — so you can eyeball that the right file is going into the right slot.
- Your last three tenants stay pinned at the top of the picker under a “Recently used” group, so successive imports don’t need scrolling through hundreds of tenants.
- The confirmation dialog and the final Import button both include the tenant name (e.g. “Import 3 files into Sharma Opticals”) so there’s no ambiguity even when clicking quickly.
No more stuck loading spinner right after an OpticPOS update
When we ship an update, tabs that were already open sometimes tried to load a page bundle from the old version and got stuck on a loading spinner. This release adds an automatic recovery: if OpticPOS detects it’s running on an outdated bundle, it silently refreshes the tab once to pull the latest build.
A safety guard prevents this from turning into a refresh loop — if the same error happens twice within 10 seconds, the tab stops retrying and asks you to hard-refresh manually.
Steadier AI features under transient upstream hiccups
When the AI writing service used by follow-ups and the sales assistant is briefly slow, OpticPOS now quietly retries and shows a clear, human error if the retry doesn’t recover — instead of an alarming vendor error page inside the modal.
Cleaner error messages when the AI writer has a hiccup
The AI Follow-ups modal (Admin → AI follow-ups) and other AI-assisted features occasionally showed an alarming vendor error page inside the dialog when the underlying AI service had a brief hiccup. It looked like something in OpticPOS itself was broken, when it was really the upstream service being briefly slow.
What’s improved:
- OpticPOS now silently retries transient AI hiccups up to three times before giving up, so most brownouts recover invisibly.
- If retries still don’t recover, staff see a clean message like “The AI writing assistant is temporarily unavailable. Please try again in a moment.” instead of a technical Cloudflare-style page.
- The same protection covers the sales-assistant chat, the auto-generated patient summaries, and the marketing content helpers.
Faster order history and smarter lens quick-add
Today’s update makes it faster for busy stores to find any historical order and quicker for staff to add a one-off lens on the go — without ever leaving the checkout screen.
Order History now handles thousands of orders gracefully
High-volume stores (a few hundred orders per month) will notice this immediately. The Order History page has been rebuilt to stay fast even with a very large history.
What’s improved:
- The first 50 orders paint instantly. Additional pages load automatically as you scroll near the bottom, or with an explicit Load more button.
- The summary bar shows exactly how many orders are loaded vs how many exist in total (e.g. “50 loaded of 1,240”), so there’s no ambiguity about scope.
- The search box now searches across every order in the store, not just the loaded page. Type an order number or a patient name and the correct match surfaces in one round-trip, even if it’s 500 rows deep.
- Status chips (Pending, Paid, Voided, etc.) and the date-range filter continue to work on top of pagination.
Result: an owner opening Order History on a busy phone connection still gets a responsive page, and finding an old order takes seconds instead of scrolling.
Smarter Quick-Add Lens in Build a Pair
The Quick-add lens flow inside Build a Pair now captures more of what the lab actually needs on a one-off lens, without forcing staff to create a full catalog SKU for a special order.
New in the modal:
- A Lens type chooser sits above material selection with three clear options: Single Vision, Bifocal, or Progressive. Required — no ambiguous lenses on the receipt.
- A Notes field beside the price captures anything the lab or patient should know (special coating request, delivery note, prism handling).
- The generated line item now reads clearly on the receipt and job card (e.g. “Bifocal · Polycarbonate 1.59 · Anti-reflection · ₹2,500”).
Both the lens type and notes flow through to the draft, order, receipt, and lab workflow — no re-entry needed anywhere downstream.
Cart-Style Checkout, draft auto-save, and a much faster app
This release introduces a major improvement to the Checkout experience and makes OpticPOS dramatically faster and more forgiving during busy shifts — along with enhancements to inventory accuracy, receipts, contact lens selection, reporting, photo processing, mobile usability, navigation, and platform security.
New Cart-Style Checkout
The new Cart-Style Checkout experience is now complete.
The updated workflow makes it easier for staff to build and review an order before collecting payment, particularly when a customer is purchasing multiple products or prescription items.
What’s improved:
- A new cart-style checkout allows multiple items to be managed within a single order.
- Frames, lenses, contact lenses, sunglasses, accessories, and other applicable items can be reviewed as individual lines before checkout.
- A dedicated Payment screen provides a cleaner separation between preparing an order and collecting payment.
- Checkout response time has been significantly improved, making order processing feel much faster.
- Receipts now provide clearer item-level pricing, including MRP, selling price and savings.
- Family-member purchases can be identified on applicable receipt lines.
- Prescription orders can display expected lab processing and pickup information.
- Sunglasses are automatically identified during checkout.
- Orders containing prescription lenses are automatically prepared for the appropriate lab workflow.
- When using “Pull from Last Exam,” additional prescription information such as Cylinder, Axis and ADD Power is now carried forward, improving contact lens variant matching.
In-progress orders are now automatically saved
When a staff member is in the middle of building an order in Build a Pair or Buy Contacts and steps away — clicking a different menu, closing the tab, or switching to another task — OpticPOS now silently saves the cart as a Draft.
What’s improved:
- Patient selection, prescription, frame or contact-lens choices, add-ons, notes and salesperson are all preserved.
- A small confirmation appears on the next screen: “Cart saved to Drafts →” with a shortcut to jump straight to the Drafts list.
- Staff can pick up exactly where they left off — no data entry lost.
- The system is smart enough to avoid duplicating drafts when a staff member is resuming an existing draft or working from a Quick Reorder.
This makes OpticPOS more forgiving during a busy shift when a cashier is interrupted mid-transaction.
OpticPOS is significantly faster
We rebuilt how OpticPOS loads and caches information across the app. Staff will notice this in the pages they use most often.
What’s improved:
- Patient lookup is now dramatically faster on Checkout, Buy Contacts and Dashboard. The picker responds almost instantly instead of taking several seconds to populate.
- Build a Pair opens noticeably quicker, and moving between steps feels immediate.
- Selecting a patient pulls the latest prescription in a fraction of the time it used to take.
- Proceed to Pay now lands directly on the tender selection — one click instead of three — and the payment screen loads much faster.
- Returning to the Dashboard feels instant. Every tile paints immediately with the last-known values while fresh data quietly refreshes in the background.
Loading progress indicator across the app
A thin progress bar now appears at the top of the screen whenever records are being fetched. Staff no longer stare at an empty table wondering whether the app has stopped responding — the bar provides immediate visual feedback that data is on the way.
The indicator is unobtrusive: it never blocks interaction, and disappears automatically once loading is complete.
Clearer Apply buttons on the Cart
The Apply button for discounts and coupons on the Cart-Style Checkout has been restyled to use the primary black-on-white treatment, so it’s immediately obvious what’s clickable.
What’s improved:
- When there’s a code or discount amount ready to apply, the button is fully active and highlighted.
- Once applied, the button greys out to confirm the discount has been registered.
- Change the code or amount, and the button re-enables so staff can apply the new value.
This removes ambiguity about whether a discount was successfully applied.
New Settings and Admin home pages
The Settings and Admin sections now have proper landing pages that organise every configuration option into clear categories. Staff no longer need to navigate through the sidebar to find a specific setting.
What’s included:
- Admin hub — All tenant-level settings organised into six categories: Access & People, Stores & Billing, Clinical & Communications, Content & Marketing, Data & Compliance, and Infrastructure. Includes a live search box that instantly filters across every section.
- Settings hub — One home for personal preferences, supplier directory, and data-export & compliance tools.
- Role-based visibility — each user only sees the sections they have access to.
This also fixes a minor navigation issue where the “Back to Settings” and “Back to Admin” breadcrumbs previously led to a “not found” page.
WhatsApp button behaviour clarified
The WhatsApp button on the Orders page appears disabled only when a specific patient’s phone number is missing or malformed. WhatsApp messaging is not disabled globally in OpticPOS.
What’s improved:
- Hovering the greyed-out button now shows a tooltip explaining that no phone number is on file for that patient.
- Adding a phone number to the patient’s profile instantly enables the button.
Independent security audit passed
OpticPOS successfully passed a comprehensive application security audit. All reviewed high-value workflows — authentication, payment processing, patient records, and tenant isolation — enforce strict, fail-closed access controls.
What this means for you:
- Payment card security (PCI-DSS SAQ-A) — effectively achieved. Card details are handled entirely by Razorpay’s hosted checkout; OpticPOS never touches raw card numbers.
- HIPAA, GDPR, SOC 2, ISO 27001 and India DPDP Act — technical controls are audit-ready. The remaining work is documentation-focused: Business Associate Agreements with sub-processors, sub-processor registers, and formal incident-response runbooks.
- A full compliance readiness report is available on request for enterprise customers and multi-store chains evaluating OpticPOS.
You can market OpticPOS to security-conscious optical chains and enterprise partners with confidence.
Inventory Accuracy & Order Processing
Several important safeguards have been introduced to improve inventory and transaction accuracy.
- Inventory is now updated when the first payment is successfully recorded, rather than when the cart is initially confirmed. This prevents inventory discrepancies when an order is changed after confirmation but before payment.
- The same payment-based processing has also been aligned across frame inventory, lens dispensing, contact lens quantities, exam handoff and visit/order linkage.
- We also corrected an issue where Frame MRP changes made through Inventory were not always being saved correctly.
Receipt & Reporting Improvements
Thermal receipts have been updated to better accommodate orders containing additional information such as family-member details and expected lab pickup dates. This resolves cases where the Total or receipt footer could be cut off on longer receipts.
The X-Report PDF has also been improved. The Top 5 Items section now displays consistently, including orders with longer payment descriptions, without text overlapping between rows.
Improved Contact Lens Selection
The Contact Lens picker within Checkout now displays the complete lens specification when selecting a variant.
For example:
SPH -2.00 · CYL -0.75 · AX 90 · BC 8.6
This replaces abbreviated descriptions that could make similar contact lens variants difficult for staff to distinguish.
Mobile Dashboard Improvements
The Dashboard header has been optimized for smaller screens.
The greeting, X-Report and Customize controls now display correctly on mobile devices without overflowing outside the screen.
Offline Order & Store Accuracy
We strengthened how OpticPOS handles transactions that are temporarily queued because of connectivity issues.
Background and replayed transactions now retain the correct active store location, preventing an order created for one branch from being incorrectly associated with another store when connectivity is restored.
Automatic Approval for High-Quality Frame Photos
The Frame Photo Review workflow now supports automatic approval of high-confidence product photos.
When an uploaded frame photo meets the configured quality threshold, OpticPOS can automatically:
- Approve the image
- Publish it to the frame record
- Record that it was system-approved
- Maintain an audit trail of the approval
A new Auto-Approved section has also been added to the Photo Review inbox so staff can easily review images processed automatically.
This reduces the amount of manual photo review required while maintaining traceability.
Supplier Module Access Protection
Access controls between Retail and Supplier environments have been further strengthened.
Retail users are now prevented from accessing Supplier-specific areas even through a direct URL. This adds another layer of protection in addition to the existing menu, application and server-level access controls.
See these features in action
Try OpticPOS on your own data with a free 14-day trial, or take our free readiness assessment.