Sell everywhere with Commerce Layer Links.

VIU Eyewear logo white

How VIU Eyewear unified their commerce: Start with the point-of-sale.

A successful business model leads to a composable architecture for the next stage of growth

VIU Eyewear designs and produces high-quality, fashionable eyewear in a direct to consumer business model. Originally founded as an online business in Switzerland 10 years ago, VIU’s unique market positioning quickly resonated with customers. This required VIU to adapt from a pure online business to a full-fledged omnichannel player with physical stores and optical services. As a result, the company experienced fast growth and quickly expanded from their online presence to close to 50 stores throughout Switzerland, Germany, and Austria.

The key to VIU’s growth has been their price-to-value business model. Built on direct distribution and end-to-end oversight of their supply chain, VIU sells its products at very reasonable prices. Frames are designed in their Zürich lab and crafted by specialized manufacturers in Japan, South Korea, Italy, Belgium, and Poland.

Envisioning a unified point of sale

As they scaled their business, VIU outgrew its technology infrastructure. Their technology stack became less adaptive to their business needs. Introducing new products took too long. For example, adding optional insurance for their products took a year to implement due to their inflexible platform. VIU also fell short in delivering truly omnichannel services, making it hard to capitalize on the growth of all of their sales channels.

VIU’s leadership team set a goal to rebuild their technology stack in phases over 18 months that included frontend sales, business operations, and back office logistics. They selected a composable commerce approach to serve customers across their store network and online. VIU also needed a powerful tool for their sales associates to manage sales end-to-end in the VIU stores. They considered this key to an outstanding customer experience and operations.

During phase one of their digital transformation, they used the Commerce Layer API to build a point-of-sale (POS) application for in-store transactions. (For phase two, they plan to expand the API to their online store and start connecting the online and offline shopping experiences together. The new system will give customers a seamless experience with the brand from all touch points.) By unifying the back-end systems to customer-facing channels, VIU reduced complexity and integration costs.

VIU chose Commerce Layer to build a unified commerce system because they needed a platform that was flexible enough to support both their custom POS requirements and their online digital experience. They appreciated Commerce Layer’s powerful and flexible data model that enabled store level pricing. VIU also chose Commerce Layer for their robust order management. Since VIU needed to orchestrate the fulfillment of orders as they were being placed, they found Commerce Layer’s native OMS capabilities like multiple stock locations, custom inventory strategies, and stock transfers compelling.

The composable technology stack and orchestration

VIU selected the following technologies to power its "Point of Everything":

  • Sanity as the CMS and PIM for frontend UI, product and content data modeling, and management.
  • Typesense to index products and build a search-based product catalog.
  • Vue.js as frontend framework.
  • Commerce Layer for pricing, promotions, inventory, order management, and fulfillment.
  • Adyen for online and POS payments.
  • Business Central as its ERP and acting price master.
  • Vercel and Cloudflare for content delivery.
  • Zapier for orchestration and automation.
How the orchestration works

Product categories like glasses or custom 3D-printed frames and product variants like styles, size, and prescriptions are pushed by Sanity’s content delivery API to Typesense, which is then pushed to VIU’s POS application.

SKUs are dynamically generated when activated in Sanity. Zapier then synchronizes the SKU with Commerce Layer for order creation where price and stock availability are checked. The SKU data is also aligned with Typesense so the frontend can render the product listing pages and product detail pages.

Both online and in-store payment will be captured leveraging Commerce Layer’s external payment gateway that VIU uses to integrate with Adyen’s Terminal API. After payment is captured, a Commerce Layer webhook invoices a Zap event that creates a transaction signature. These signatures are required by German and Austrian law for in-store cash and credit card transactions.

A powerful POS: The "Point of Everything"

Sales associates in all VIU stores are equipped with a tablet and the "Point of Everything" application that serves as their POS and OMS interface. In the app, associates can browse the entire product catalog and guide customers in configuring their desired glasses and initiate purchases. The app can also access customer information such as past purchases and current eye prescriptions to facilitate orders. Sales associates can also offer customers flexible payment terms and trigger the order fulfillment process right from the application. Post-sales, the sales associate can manage warranties, insurance claims, returns, cancellations, etc., all from a single app. This makes for a single, powerful tool in managing all aspects of customers’ purchases.

The application is used in all VIU stores and accessible via tablet. It includes a full product catalog with endless aisle, customer-facing product configurator, order creation and fulfillment, and after-sales service management.

There are potentially 1,700 different lens variations that can be configured. The frames and their variants are all managed in Sanity. Lenses are set up as SKUs in Commerce Layer and their variants in an external database. This approach exemplifies the benefit of separating content (which includes product data) and commerce. With Commerce Layer, you only need to know the order line items; there is no pre-built product catalog that requires brands to build every single permutation of product. Sanity simply synchronizes the dynamically-built SKU, the product title, and image URL. This prevents VIU from duplicating data in two systems and gives them the ultimate flexibility in modeling their products.

The sales associate and customer can search and filter through the product listings powered by Typesense and configure the frame and lenses. For prescription glasses, the POS automatically places the lens order with the appropriate supplier for the lens options and immediately receives an estimated delivery window. Previously, this was done manually in a separate process, which took much longer and was more prone to errors.

The sales associate is also empowered to choose the inventory source of the frame: the central warehouse, their store, or a nearby store. Depending on the frame options selected, the application automatically determines the optimal assembly location, whether at a service hub or at the store. This is all made possible by Commerce Layer’s flexible market and inventory data models.

Commerce Layer as a full OMS solution

Both VIU and Commerce Layer see order management and transactions as tightly connected. Because of the product customization opportunities that VIU offers to its customers, VIU needed a platform that could handle the entire order, from creation to fulfillment. A VIU order must first be pieced together through multiple components, then the system must coordinate the delivery of those components from multiple sources to the store, where finally VIU staff can assemble the glasses for pick-up or shipment to the customer. With these sophisticated order orchestration requirements, Commerce Layer is the perfect fit.

As soon as a line item is added to cart, Commerce Layer creates an order. After the order is placed upon checkout, the underlying Commerce Layer API exposes it to the Commerce Layer Order Management System (OMS). VIU's sales and customer service teams then use the OMS to track fulfillment and any other information related to the order like a stock transfer, split shipment, returns, or cancellation. Commerce Layer enables VIU to set up the exact inventory strategy they need, which includes a combination of distributors and suppliers. Similarly, returns and repairs are managed within Commerce Layer, where the status or repaired components are tracked via stock transfers and shipments. By using the same platform to place and manage orders, VIU is able to keep better track of their stock and maintain their unique distribution model in both in-store and online channels.

From customers creating orders in the "Point of Everything" application to their glasses arriving at their nearest VIU store for pickup, the Commerce Layer API powers the entire experience and removes any complex synchronization an external OMS would have required.

The benefits of composable

VIU Eyewear has met their goal of replacing the technology that runs their business within 12 months. This sets up VIU nicely for future growth and operational efficiency.

Unified commerce is one component of this overall strategy and pursuing a composable architecture has already delivered benefits during implementation:

  • VIU’s business model and desired customer servicing experiences require customizations. VIU is able to leverage core functionality offered by content and commerce components and build customizations on top of them.
  • The "Point of Everything" has created a simplified workflow for their sales associates. In one single interface, they can configure the glasses, pull relevant customer information, source the components, place the order, and manage the after-sales process.
  • VIU has a small, highly-talented team that was able to meet their delivery goals. With their new composable stack, they will avoid the mandatory system upgrades that monoliths require. They can focus on adding new capabilities to support the evolving business. In the next phase, they will extend the in-store technology to online to replace PrestaShop.
  • Foundationally, VIU believes in structuring data properly, and then giving the frontend the flexibility in how to best use the data. In Sanity, they were able to model their products to reflect their eyewear business. In Commerce Layer, they set up inventory strategies and gave each store autonomy in how to fulfill orders.

It’s not about making our technology up-to-date. It’s about providing an omnichannel experience that’s world class, massively improving operational efficiency and letting us innovate quicker.

Elian KoolCTO at VIU Eyewear