Skip to main content
POS Customer-Facing Display (Dual Screen) — A branded second screen that mirrors the cashier's Odoo POS session in real time  — 1/1Illustrative preview

A branded second screen that mirrors the cashier's Odoo POS session in real time

— live cart, running total, promotions, loyalty points, and payment status shown to the customer. Built to order, installed, and supported by ECOSIRE.

What is POS Customer-Facing Display (Dual Screen)?

A branded second screen that mirrors the cashier's Odoo POS session in real time — live cart, running total, promotions, loyalty points, and payment status shown to the customer. Built to order, installed, and supported by ECOSIRE. 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

Second-screen OWL app that subscribes to the live POS store and re-renders on every `pos.order.line` add, edit, or removal
Real-time running total, per-line subtotal, tax breakdown, and grand total mirrored from the cashier's order without a page refresh
Applied promotions, pricelist discounts, and coupon/loyalty program lines shown to the customer as they are triggered
Customer name and live loyalty-points balance pulled from the selected `res.partner` and loyalty records
Payment stage display: selected payment method, amount tendered, and change due rendered at payment registration
Branded idle-state promo/ad carousel with configurable images, timing, and call-to-action shown between transactions
Per-`pos.config` theming — logo, colors, fonts, currency symbol, and display language driven from a settings model
Configurable field visibility (show/hide line images, tax, loyalty, cashier name) controlled by store managers, not code
Delivery paths for same-PC second monitor, LAN customer tablet, or external Android/Windows mini-display
Optional JSON-RPC/XML-RPC bridge to push order state to an external signage or price-display device for compliance
Multi-currency and multi-language rendering aligned to the POS session's configuration
Security via `ir.model.access.csv` plus record rules so display configs are scoped to the right company/POS
Graceful reconnection and last-known-state handling if the customer screen loses and regains connection mid-order
Packaged as a standard addon with its own assets bundle and `__manifest__.py`, installable alongside your existing POS customizations

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

At a busy till, the customer stares at the back of a monitor and takes the cashier's word for what they are paying. Odoo POS is a fast, single-operator screen by design — there is no native second display that mirrors the cart to the shopper, shows the running total as items are scanned, or surfaces the applied promotion and the change due. Retailers who want a transparent, trust-building checkout (and, in several markets, a customer-visible price display for compliance) end up bolting on a static ad tablet that knows nothing about the live order. That is where Odoo's out-of-the-box POS runs out of road.

We build a true dual-screen customer-facing display as a proper Odoo POS extension. The module ships as a standard addon with a __manifest__.py declaring the point_of_sale dependency and its own assets bundle, so it loads inside the POS runtime rather than as a bolt-on. On the technical side it registers OWL components and a POS store subscription that listen to pos.order / pos.order.line changes in the running session, then push cart lines, quantities, the computed running total, taxes, applied loyalty/pricelist promotions, and the selected payment method to a second browser window or an external screen. Idle-state behavior (a branded promo/ad carousel), theming, currency and language, and which fields are shown are all driven from a configuration model backed by ir.model.access.csv and record rules so store managers — not developers — control the layout per POS config.

Because it is real Odoo code, it behaves the way your team expects. The customer name and live loyalty-points balance are pulled from the same res.partner / loyalty records the cashier selects, computed fields use @api.depends so totals stay consistent with the order, and the display reacts to payment registration to show amount tendered and change due at the moment the cashier takes payment. The second screen can run on the same machine (a second monitor), a customer-side tablet on the LAN, or an Android/Windows mini-display, and the data path uses the POS's existing session state — with an optional JSON-RPC/XML-RPC hook when you need to drive an external signage device. It is built for Odoo 17.0, 18.0, and 19.0, and we confirm your Community vs Enterprise edition during scoping because the POS asset pipeline differs between them.

This is a build-to-order product, not an instant apps.odoo.com download. You request a quotation, we run a short scoping call to lock your exact fields, branding, hardware, and edition, and then ECOSIRE builds, tests, and installs it for you. Typical delivery is one working week from confirmed scope. You receive the full source, a staging UAT before anything touches your live POS, a rollback plan, training, and a post-go-live support window — and the git repository is handed over so the code is yours to keep.

What you get

  • Installable, version-matched source code for your Odoo edition (17.0, 18.0, or 19.0) built as a standard POS addon
  • Installation and configuration on your environment, including POS asset-bundle wiring and per-`pos.config` setup
  • Technical documentation: module architecture, models, config options, and the second-screen data flow
  • End-user guide plus a live training session for cashiers and store managers
  • UAT on a staging instance with a documented rollback plan before any change to your live POS
  • Post-go-live support window for defect fixes and configuration adjustments
  • Handover of the private git repository so the code is yours to keep and extend
  • Hardware and network setup notes for your chosen second-screen path (monitor, tablet, or external display)

Who this is for

Retail store owner / operations manager

Wants a polished, transparent checkout where customers see exactly what they are being charged. Values trust at the till and a branded screen that reinforces the store identity during and between transactions.

Multi-lane supermarket or grocery chain

Runs many POS lanes and needs a consistent, centrally themed customer display with live totals and price transparency — potentially for local customer-price-display compliance — across every register and store.

Restaurant or QSR manager

Needs the customer to confirm the order and running total at the counter, with idle-time promotion of specials and combos, and clear payment/change display to speed up the line.

Odoo partner or in-house IT lead

Owns the Odoo instance and wants a properly built POS addon with clean models, access rules, and an assets bundle they can maintain — not a fragile hack — plus the git repo and docs to support it internally.

How POS Customer-Facing Display (Dual Screen) Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Live cart & running total on customer screenReal-time OWL mirror of the POS orderPossible but you build the sync layer yourselfOften static or refresh-based, not liveNo customer-facing second screen at all
Applied promotions & loyalty displayShows pricelist, coupon, and live loyalty pointsDepends on your developer's scopeUsually total-only, promos rarely shownNot surfaced to the customer
Odoo edition & version fit (17/18/19)Built and tested against your exact editionOnly if your team tracks POS asset changesOne build, may lag new versionsN/A
Branding & idle promo carouselPer-POS theming and configurable carouselExtra effort, built from scratchLimited or fixed templatesNone
Security & config model`ir.model.access.csv` + record rules, manager-editableYou must design and test access rulesVaries, often minimalN/A
Testing & rollback safetyStaging UAT + documented rollback planYour team's responsibilityInstall at your own riskN/A
Support & code ownershipSupport window + full git repo handoverYou own it but carry all the riskVendor support tiers, no sourceCommunity support only
Delivery modelBuild-to-order, one working week from scopeWeeks to months depending on teamInstant download, generic fitAlready included but no feature

Frequently Asked Questions about POS Customer-Facing Display

How long does delivery take?

This is a build-to-order module, so it is not an instant download. After a short scoping call to confirm your fields, branding, hardware, and Odoo edition, typical delivery is one working week from confirmed scope. Tighter timelines can sometimes be arranged — tell us your constraints during scoping.

Do I need Odoo Enterprise, or does this work on Community?

It works on both, and we build against your exact edition. The POS asset pipeline and some features (like advanced loyalty) differ between Community and Enterprise, so we confirm your edition and installed apps during scoping and match the build to Odoo 17.0, 18.0, or 19.0 accordingly.

What hardware do I need for the second screen?

You have three common options: a second monitor on the same POS PC, a customer-side tablet on the same LAN, or a dedicated Android/Windows mini-display. We recommend a setup during scoping based on your lanes and network, and include the hardware and network configuration notes in the handover.

How is the display kept in sync with the cashier's screen?

The module registers OWL components that subscribe to the running POS session's order state, so cart lines, totals, taxes, promotions, and payment status update in real time as the cashier works — no manual refresh. For external signage devices we can add an optional JSON-RPC/XML-RPC bridge to push the same state.

Will this conflict with our existing POS customizations?

It is packaged as a standard addon with its own `__manifest__.py` and assets bundle, and we test it against your instance on staging first. During scoping we review your current POS modules so the display coexists cleanly. UAT on staging plus a rollback plan means your live POS is never the test bed.

What support and updates do I get after go-live?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the git repository, your team can maintain it too. Version upgrades (for example moving from Odoo 17 to 18) are quoted separately as a migration since the POS asset APIs change between major versions.

Can we customize what fields and branding appear on the screen?

Yes. Field visibility (line images, tax lines, loyalty points, cashier name), the idle promo carousel, colors, logo, fonts, currency, and language are all driven from a configuration model per POS config, so store managers can adjust the layout without touching code. Any deeper layout changes are part of the scoped build.

Request a quote

POS Customer-Facing Display

A branded second screen that mirrors the cashier's Odoo POS session in real time — live cart, running total, promotions, loyalty points, and payment status shown to the customer. Built to order, installed, and supported by ECOSIRE.

  • Second-screen OWL app that subscribes to the live POS store and re-renders on every `pos.order.line` add, edit, or removal
  • Real-time running total, per-line subtotal, tax breakdown, and grand total mirrored from the cashier's order without a page refresh
  • Applied promotions, pricelist discounts, and coupon/loyalty program lines shown to the customer as they are triggered
  • Customer name and live loyalty-points balance pulled from the selected `res.partner` and loyalty records

Request a Quotation

Tell us about your POS Customer-Facing Display 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.