A build-to-order Odoo Point of Sale module that renders each product's price directly on its selection card in the POS product grid, so cashiers see prices at a glance without opening a product. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
ایپ مینی فیسٹ
آپ کے ورک فلو کے مطابق تیار کردہ
A build-to-order Odoo Point of Sale module that renders each product's price directly on its selection card in the POS product grid, so cashiers see prices at a glance without opening a product. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19.
خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔
ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔
ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔
آپ تقریباً 2–4 ہفتوں میں لائیو ہو جاتے ہیں، لانچ کے بعد معاونت کی مدت کے ساتھ۔
In a busy checkout, the standard Odoo POS product grid shows a product image and name on each card but not the price. Cashiers either memorize prices, keep a printed sheet at the till, or tap into a product and read the price from the order line after adding it — which slows service, invites wrong-item entries, and makes price checks for walk-up customers awkward. Odoo core has no setting to surface the price on the card itself; the POS UI (an OWL/JavaScript front end backed by pos.session data) is deliberately minimal, and the price a customer actually pays depends on the active pos.config pricelist, taxes, and the product.template/product.product list price. There is no supported click-to-configure toggle for this, so teams reach the limit of what native Odoo can do without development.
What we build is a focused POS front-end extension that renders the price on every product card in the selection grid. We patch the OWL ProductCard (and the product screen component that lays out the grid) to read the correct unit price from the loaded product and pricelist data already present in the POS session, then display it in a styled badge on the card. Because the price shown must match what lands on the order line, we resolve it through the same pricelist logic the POS uses at add-time — honoring the pos.config assigned pricelist, unit of measure, and your tax-display preference (tax-included vs tax-excluded, following the POS iface_tax_included setting). Currency formatting uses the session currency so decimals and symbols render exactly as your receipts do. The behavior is configurable: we expose settings on pos.config (for example, show/hide the badge, choose tax-in or tax-out display, and optionally show a strikethrough of the original price when a pricelist discount applies) so different registers can behave differently without code changes.
Technically this ships as a proper module with its own __manifest__.py declaring a dependency on point_of_sale, an assets bundle registered under point_of_sale.assets (or assets_backend for the config fields), OWL component patches plus QWeb template inheritance for the card markup, and any config fields added to pos.config with matching res.config.settings view inheritance and ir.model.access.csv entries. It is built cleanly for your exact Odoo series — 17.0, 18.0, or 19.0 — because the POS front end changed meaningfully across those releases (asset bundles, OWL component structure, and the store/session data model differ), and we target Community or Enterprise as you run it. No changes are made to accounting, pricing rules, or order posting — this is a display layer over data the POS already loads, so performance impact on the grid is negligible.
Delivery is build-to-order: ECOSIRE builds, installs, and supports this after you request a quotation — it is not an existing download. We start with a short scoping call to confirm your Odoo version and edition, how you want the price computed (which pricelist, tax display, multi-currency behavior), and any per-register differences. Typical delivery is 2 to 4 weeks from confirmed scope, including UAT on a staging copy of your database before we touch production. Pricing starts from $249 (indicative, single-company base scope); multi-company setups, multiple pricelists or complex tax display rules, additional register-specific behaviors, and cross-version builds increase the quoted scope. You receive a fixed quote after the scoping call, never a surprise invoice.
Runs multiple registers and wants faster, more accurate checkout. Needs cashiers to see prices at a glance so they stop tapping into products or keeping printed price sheets at the till.
Maintains the company's Odoo instance and wants a clean, upgrade-friendly module rather than hacked core files. Needs proper `pos.config` settings, documented patch points, and a git repo they can maintain.
Serves customers directly and fields constant price-check questions. Needs the price visible on the product card before adding it to the order to answer walk-up questions and avoid wrong-item entries.
Operates several locations with different pricelists and tax rules. Needs per-register control over how prices display so each store shows the correct tax-in or tax-out figure.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Availability | Build-to-order; installed and supported for your exact version | Depends on your dev team's backlog and skills | Instant download, but built for a generic Odoo | |
| Price shown on card | Yes, resolved through your active pricelist and tax display | Possible, if your team builds it correctly | Usually shows list price only, may ignore pricelist/tax | |
| Version fit (17/18/19) | Built and tested against your exact series and edition | Your team owns cross-version differences | One build; may lag or break on your version | |
| Tax & pricelist accuracy | Follows `pos.config` pricelist, UoM, tax-in/out setting | Only as correct as your implementation | Often static list price, tax handling varies | |
| Configurability | Per-register `pos.config` settings for display options | Whatever you scope and build | Fixed to the module author's assumptions | |
| Upgrade path | Scoped migration + git repo handover | You maintain it every upgrade | Wait for vendor to update, if they do | |
| Support | Post-go-live support window from the builder | Internal only | Vendor ticket queue, quality varies | |
| Total effort for you | Scoping call, then we deliver and train | Full spec, build, test, and maintain in-house | Install yourself, hope it fits your setup |
No. This is a build-to-order module. ECOSIRE builds, installs, and supports it for your specific Odoo version and edition after you request a quotation. You receive installable source code and a git repository, but it is made to order rather than pulled from a public app store.
Typical delivery is 2 to 4 weeks from confirmed scope. That window includes building against your exact Odoo series, UAT on a staging copy of your database, and the training session. Simple single-register, single-pricelist scopes land toward the shorter end; multi-company or complex tax-display requirements take longer.
Pricing starts from $249, which is indicative for a single-company base scope. After a short scoping call we confirm your version, edition, pricelist and tax-display needs, and any per-register behavior, then give you a fixed quote. Multi-company setups, multiple pricelists, complex tax rules, and cross-version builds increase the quoted scope — but you always get a firm number before work begins.
We build for Odoo 17.0, 18.0, and 19.0, Community or Enterprise. The POS front end changed meaningfully across these releases, so we target the exact version you run rather than shipping one build for all. Tell us your version on the scoping call and we build to match.
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because the POS front end can change between major Odoo releases, migrating the module to a future version (for example 19.0 to a later series) is quoted as a separate scoped update. We hand over the git repo so your team can also maintain it if you prefer.
Yes — that is the point. We resolve the displayed price through the same active `pos.config` pricelist, unit of measure, and tax-display setting the POS uses when a product is added, so the badge matches the order line. If a product has no resolvable price, we show no badge rather than a misleading zero.
No core files are edited. We patch the OWL component and inherit the QWeb template through a proper module, and the badge reads only data already loaded in the POS session — no extra server calls per card. Grid render impact is negligible, and the POS keeps working offline exactly as native does.
A build-to-order Odoo Point of Sale module that renders each product's price directly on its selection card in the POS product grid, so cashiers see prices at a glance without opening a product. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19.