Skip to main content
Eyewear Shop — A build-to-order Odoo configuration that models eyewear retail the way optical shops actually run — prescripti — 1/1Illustrative preview

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.

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

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
Dispensing/lab job model with a state machine (draft → in lab → ready → collected) driving a kanban lab queue
Automated actions (ir.actions.server) that auto-create and link a lab job when a lens sale line is confirmed
Ready-for-collection SMS/email notifications fired on the job state transition via Odoo's mail/SMS layer
Optical-aware Point of Sale flow so a walk-in frame + lens + prescription can be rung up and pushed to the lab in one ticket
QWeb PDF reports: dispensing slip, lab/fabrication order, and a printable patient prescription record
ir.model.access.csv plus record rules segmenting front-desk, dispensing optician and manager access
Patient/customer history view surfacing prior prescriptions, frames purchased and recall/re-exam dates
Reorder and stock rules tuned for high-variant frame inventory to avoid dead stock across colour/size grids
XML-RPC / JSON-RPC endpoints exposed for lab-system, e-commerce or insurance-claim integrations
Configurable for Odoo 17.0 / 18.0 / 19.0 on Community or Enterprise, delivered as a versioned installable module

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Prescription capture (OD/OS, PD, axis)Purpose-built prescription model with typed fields and validationWhatever you spec and pay to buildOften partial or fixed schema you cannot changeNo optical fields — free-text notes only
Frame variant handlingNative attribute/variant matrix tuned for optical SKUsDepends on developer's approachUsually generic variants, not optical-awareGeneric variants, no optical framing
Lab / dispensing job trackingState-machine job model with kanban queue and auto-linkingBuilt to order if budget allowsRarely a full lab workflowNone
Fit with your Odoo versionBuilt for your exact 17/18/19, Community or EnterpriseWhatever the team targetsFixed version support; may lag releasesVersion is your running Odoo
Reports (dispensing slip, lab order)QWeb PDF reports tailored to your formsMade to orderGeneric templates, limited tailoringStandard sale/invoice reports only
Delivery modelScoped, built, installed and UAT-tested for youYou manage the project and riskSelf-install; you configure and fixYou configure everything yourself
Support and code ownershipPost-go-live window plus full git repo handoverDepends on contractVendor support tiers; code is theirsCommunity/your own support
Total cost predictabilityIndicative from-price, then fixed written quoteOpen-ended, effort-basedLow sticker price, high configuration effortFree 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.

Request a quote

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

Request a Quotation

Tell us about your Eyewear Shop requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.