- Home
- Apps
- SaaS Tools
- POS Customer-Facing Display (Dual Screen)
Illustrative previewA 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
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
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
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Live cart & running total on customer screen | Real-time OWL mirror of the POS order | Possible but you build the sync layer yourself | Often static or refresh-based, not live | No customer-facing second screen at all |
| Applied promotions & loyalty display | Shows pricelist, coupon, and live loyalty points | Depends on your developer's scope | Usually total-only, promos rarely shown | Not surfaced to the customer |
| Odoo edition & version fit (17/18/19) | Built and tested against your exact edition | Only if your team tracks POS asset changes | One build, may lag new versions | N/A |
| Branding & idle promo carousel | Per-POS theming and configurable carousel | Extra effort, built from scratch | Limited or fixed templates | None |
| Security & config model | `ir.model.access.csv` + record rules, manager-editable | You must design and test access rules | Varies, often minimal | N/A |
| Testing & rollback safety | Staging UAT + documented rollback plan | Your team's responsibility | Install at your own risk | N/A |
| Support & code ownership | Support window + full git repo handover | You own it but carry all the risk | Vendor support tiers, no source | Community support only |
| Delivery model | Build-to-order, one working week from scope | Weeks to months depending on team | Instant download, generic fit | Already 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.
Related Modules

POS Card Terminal Payment Connector for Odoo
A build-to-order Odoo POS payment connector that pairs physical card terminals (Stripe Terminal, PAX, Ingenico) to your point of sale for tap, chip and contactless capture, with refunds, tips and cashback handled straight from the receipt. ECOSIRE builds, installs and supports it for Odoo 17, 18 and 19.

POS Cashier Management & Shift Control
A build-to-order Odoo POS extension that gives every cashier their own login, shift, and cash-drawer accountability — with blind-close counts, variance reporting, and a tamper-evident audit trail. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19 environment.

POS Fashion & Apparel (Size/Color Matrix)
Apparel POS with a size×color variant matrix for fast selection and per-variant stock visibility. Built, installed & supported by ECOSIRE.

POS Grocery & Supermarket Suite
An FMCG-focused Odoo Point of Sale pack engineered for supermarkets and grocery chains: high-speed barcode and PLU scanning, weighed-product price-embedded barcodes, multi-buy promotions, and electronic shelf-label sync. ECOSIRE builds it to your scope, installs it, and supports it after go-live.
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