- Home
- Apps
- Specialized Solutions
- Eyewear Shop
Illustrative previewA build-to-order Odoo configuration that models eyewear retail the way optical shops actually run
— prescription capture, lens and frame job routing, variant-heavy inventory, and an optical-aware point of sale.
ECOSIRE scopes, builds, installs, and supports it for you.
What is Eyewear Shop?
A build-to-order Odoo configuration that models eyewear retail the way optical shops actually run — prescription capture, lens and frame job routing, variant-heavy inventory, and an optical-aware point of sale. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Optical retail breaks the assumptions baked into a generic ERP. A single sale is rarely one item off a shelf — it is a frame chosen from hundreds of SKU variants, a lens specification (index, coating, tint, prescription values), and a fabrication job tracked from order to fitting to collection. Odoo core gives you product.template/product.product, sale.order, stock, and Point of Sale, but out of the box there is nowhere to store a sphere/cylinder/axis/PD prescription, no link between a lens order and the physical job, and no clean way to model right-eye/left-eye differences on one order line. Shops end up abusing free-text notes and spreadsheets, and the data never reaches reporting.
Eyewear Shop is a build-to-order Odoo configuration that ECOSIRE assembles for your business. Technically it is delivered as a proper Odoo module with its own __manifest__.py, dependency-declared against sale, stock, point_of_sale and product. We add optical-specific models — for example a prescription model (models.Model) holding OD/OS sphere, cylinder, axis, add, PD and prism as typed fields.Float/fields.Char, with @api.depends compute fields deriving lens-power summaries and expiry validation — related back to res.partner (the patient/customer) and to the originating sale.order.line. Frame inventory is configured through Odoo's native variant engine (product.attribute and product.attribute.value for brand, colour, size and material) so one frame model explodes into its real SKU matrix without a product record per colour by hand.
The workflow layer is where the configuration earns its keep. We model a dispensing/lab job that moves through states (draft → in lab → ready → collected) using a status field plus ir.actions.server and automated actions so a confirmed sale line for a lens creates and links its job automatically, and SMS/email "your glasses are ready" notifications fire on the ready transition. Views are built in XML (form, list, kanban for the lab queue) with OWL components where a richer prescription grid helps, and we ship QWeb PDF reports — the dispensing slip, the lab order for the fabricator, and a prescription record for the patient. Access is locked down with ir.model.access.csv and record rules so front-desk staff, dispensing opticians and managers each see the right scope, and everything is reachable over the XML-RPC/JSON-RPC API if you need to feed a lab system or e-commerce front end.
Because this is build-to-order, nothing is pre-sold as a finished download. After a short scoping call we confirm the exact models, states, reports and integrations your shop needs, then build and test it against your target Odoo version, deliver on staging for UAT, and cut over to production. Typical delivery is one working week from confirmed scope. We support Odoo 17.0, 18.0 and 19.0 on both Community and Enterprise (Enterprise adds studio-adjacent niceties, but the optical logic runs fully on Community). Pricing starts from $999 (indicative, single-company base scope); multi-store rollouts, insurance/lab integrations, deeper localization, and larger prescription/patient data migrations increase the quoted scope.
What you get
- Installable, version-pinned Odoo module source for your target release (17.0, 18.0 or 19.0)
- Installation and configuration on your server or Odoo.sh, including access-rights and POS setup
- Technical documentation: model/field reference, security matrix and integration notes
- End-user guide plus a live training session for front-desk, dispensing and management staff
- UAT on a staging database with a documented rollback plan before production cutover
- Post-go-live support window for defect fixes and configuration adjustments
- Git repository handover with full commit history and tagged release
- Optional data-migration assist for existing patient, prescription and frame records
Who this is for
Independent optical shop owner
Runs one or two optical stores on Odoo and needs prescriptions, lab jobs and frame variants handled inside the ERP instead of paper and spreadsheets, without hiring a developer.
Optical chain operations manager
Oversees multiple branches and wants a consistent dispensing and lab-tracking workflow, shared patient history, and reporting that rolls up across stores.
Odoo partner / implementer
Delivering Odoo to an eyewear client and needs a proven, well-structured optical module they can white-label and extend rather than building the prescription and lab logic from scratch.
In-house Odoo administrator
Owns an existing Odoo instance and needs the optical layer added cleanly, respecting existing customizations, security and their 17/18/19 upgrade path.
How Eyewear Shop Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Prescription capture (OD/OS, PD, axis) | Purpose-built prescription model with typed fields and validation | Whatever you spec and pay to build | Often partial or fixed schema you cannot change | No optical fields — free-text notes only |
| Frame variant handling | Native attribute/variant matrix tuned for optical SKUs | Depends on developer's approach | Usually generic variants, not optical-aware | Generic variants, no optical framing |
| Lab / dispensing job tracking | State-machine job model with kanban queue and auto-linking | Built to order if budget allows | Rarely a full lab workflow | None |
| Fit with your Odoo version | Built for your exact 17/18/19, Community or Enterprise | Whatever the team targets | Fixed version support; may lag releases | Version is your running Odoo |
| Reports (dispensing slip, lab order) | QWeb PDF reports tailored to your forms | Made to order | Generic templates, limited tailoring | Standard sale/invoice reports only |
| Delivery model | Scoped, built, installed and UAT-tested for you | You manage the project and risk | Self-install; you configure and fix | You configure everything yourself |
| Support and code ownership | Post-go-live window plus full git repo handover | Depends on contract | Vendor support tiers; code is theirs | Community/your own support |
| Total cost predictability | Indicative from-price, then fixed written quote | Open-ended, effort-based | Low sticker price, high configuration effort | Free base, high internal build effort |
Frequently Asked Questions about Eyewear Shop
Is this a ready-made module I can download and install today?
No. Eyewear Shop is build-to-order. After a scoping call we confirm exactly which models, states, reports and integrations your shop needs, then build, test and install it for you. You receive installable source at handover, not an instant download.
How long does delivery take?
Typical delivery is one working week from confirmed scope. Timing depends on the complexity you request — a single-store base build lands toward the shorter end, while multi-branch rollouts, lab/insurance integrations or data migration extend it. We agree the timeline in writing before work starts.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base figure. After a short scoping call we send a fixed written quote for your exact requirements. Drivers such as multi-store setup, extra integrations, localization depth and data-migration volume increase the quoted scope — but the quote you approve is fixed, not open-ended.
Which Odoo versions and editions do you support?
We build for Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. The optical logic runs fully on Community; Enterprise mainly adds convenience features. We target the version you already run so it fits your upgrade path.
What about support and updates after go-live?
Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full git repository, you own the code and can extend it yourself or contract us for version upgrades and enhancements later. We do not lock you in.
Will it work with our existing Odoo customizations?
Yes. We build it as a dependency-declared module against sale, stock, point_of_sale and product, with its own models and security files, so it layers onto your database without overwriting core or your existing customizations. UAT on staging confirms there are no conflicts before we touch production.
Can it integrate with our lab or e-commerce systems?
Yes. All models are reachable over Odoo's XML-RPC / JSON-RPC API, so we can wire lab-fabrication systems, an online store or insurance-claim exports into the dispensing workflow. Those integrations are scoped and quoted as part of your build.
Related Modules

Engineering Change Management (PLM/ECO)
Build-to-order Odoo ECO workflow: BOM versioning, revision diff, approval routing, e-sign & effectivity dates for controlled PLM changes.

Equipment Rental & Plant Hire Management
Build-to-order Odoo module to rent out machinery and plant with reservations, deposits, returns and renewals — built, installed and supported by ECOSIRE.

Field Service & Maintenance Contracts
Custom-built Odoo module: dispatch technicians to sites with contracts, SLAs, work orders, checklists and on-site invoicing.
Eyewear Shop
A build-to-order Odoo configuration that models eyewear retail the way optical shops actually run — prescription capture, lens and frame job routing, variant-heavy inventory, and an optical-aware point of sale. ECOSIRE scopes, builds, installs, and supports it for you.
- Dedicated prescription model storing OD/OS sphere, cylinder, axis, add, PD and prism as typed fields, linked to res.partner and the sale.order.line
- @api.depends compute fields for lens-power summary, prescription expiry flags and left/right validation
- Frame catalogue built on native product.attribute / product.attribute.value variants (brand, colour, size, material, bridge/temple) so one model yields the full SKU matrix
- Lens configurator capturing index, coating, tint, photochromic and hard-coat options mapped to priced product variants
