- Home
- Apps
- SaaS Tools
- Total Items and Total Quantity in POS
Illustrative previewA build-to-order Odoo Point of Sale extension that surfaces the total distinct line items and the total ordered
quantity live on the POS order screen, receipt, and reporting.
ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 estate after a short scoping call.
What is Total Items and Total Quantity in POS?
A build-to-order Odoo Point of Sale extension that surfaces the total distinct line items and the total ordered quantity live on the POS order screen, receipt, and reporting. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 estate after a short scoping call. 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
Cashiers and shift supervisors constantly need a fast, glanceable answer to two questions during a sale: how many distinct products are on this ticket, and how many units in total are being sold. Odoo's native POS shows the per-line quantity and the order total, but it never rolls those lines up into a single "total items / total quantity" figure on the order screen. Staff end up mentally adding line quantities, which slows large baskets, invites miscounts at handover, and makes it hard to sanity-check a bag against a receipt. Once you try to expose that summary on the cashier UI, the payment screen, and the printed receipt, you are past what configuration or Studio can reach and into custom OWL components and QWeb overrides.
We build a focused POS extension that computes two derived values in real time — total_items (the count of distinct order lines) and total_quantity (the summed qty across all lines) — and renders them where your team actually needs them. On the front end the values live in a small OWL component patched into the order-widget, subscribed to the POS order store so they recompute reactively as lines are added, merged, or voided (including fractional and weighed quantities, and negative return lines handled per your rule). On the back end the same figures are exposed on pos.order via computed fields (@api.depends('lines', 'lines.qty')) so they persist to the database, flow into QWeb receipts and order reports, and are queryable over the XML-RPC/JSON-RPC API for downstream BI. Nothing is hard-coded to your data — the module is a clean, upgrade-safe addon with its own __manifest__.py, dependency on point_of_sale, and ir.model.access.csv entries scoped to your POS roles.
Because it is made to order, the behaviour is shaped to your operation during scoping: whether "items" counts distinct products or distinct line records, how combo/bundle lines and gift-card lines are treated, whether the counter appears on the receipt header or footer, whether it shows in the customer-facing display, and which POS configs it applies to. We build against your target Odoo major version (17.0, 18.0, or 19.0) and account for Community vs Enterprise differences in the POS module and receipt engine, so the extension installs cleanly on your edition without touching core files.
Delivery is build-to-order, not an instant download. After a scoping call we confirm the exact behaviour, edition, and version, then build and hand over installable source code with a git repository, deploy to your staging for UAT, and cut over to production with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company POS estates, additional receipt/display surfaces, deeper localization of receipt layouts, and integration with external BI or loyalty systems increase the quoted scope.
What you get
- Installable source code for your chosen Odoo major version (17.0, 18.0, or 19.0), edition-matched
- Installation and configuration on your staging environment, including `pos.config` and access-rule setup
- Technical documentation: model/field reference, OWL/QWeb override points, and upgrade notes
- Short user guide plus a live training session for cashiers and POS administrators
- UAT on a staging copy with a defined rollback plan before production cutover
- Production deployment and go-live support
- Post-go-live support window for defect fixes on the delivered scope
- Handover of the private git repository with full commit history
Who this is for
Retail Operations Manager
Runs multiple shops on Odoo POS and wants cashiers to confirm item and unit counts at a glance to speed large baskets and cut handover miscounts. Needs the summary on-screen and on the receipt, consistent across every register.
Odoo Administrator / Internal IT
Owns the Odoo instance and refuses core patches. Wants an upgrade-safe addon with clean `__manifest__.py`, scoped `ir.model.access.csv`, and a git repo they can maintain and re-deploy across 17/18/19 upgrades.
Finance / BI Analyst
Reconciles POS activity and studies basket size. Needs `total_items` and `total_quantity` persisted on `pos.order` and reachable via the XML-RPC/JSON-RPC API so they land in reports and BI without manual line summing.
Warehouse / Fulfilment Lead
Uses the printed receipt to verify a bag or order against total units picked. Wants the total quantity printed clearly on the receipt to reduce short-picks and disputes at pickup.
How Total Items and Total Quantity in POS Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Total items + total quantity on order screen | Built to your rule, live via OWL | Possible but you build and maintain it | Fixed behaviour, may not match your rule | Not shown; only per-line qty |
| Persisted on `pos.order` for reporting | Computed fields, DB-persisted, API-queryable | Only if you design it | Often UI-only, not stored | No roll-up field |
| Definition of 'item' (product vs line) | Configured to your operation | Whatever you code | Vendor's fixed choice | N/A |
| Receipt / customer-display placement | Your chosen QWeb position + optional display | Extra dev per surface | Limited to what ships | Not available |
| Odoo 17/18/19 + edition fit | Built and tested for your exact version/edition | Your team's responsibility | Depends on listing support | Version behaviour as-is |
| Upgrade-safety & isolation | Self-contained addon, no core edits | Depends on your discipline | Varies by vendor quality | N/A |
| Ownership & source handover | Full source + git repo handed over | You own it entirely | Licensed binary/source per terms | N/A |
| Support & accountability | Scoped support window + single owner | Self-supported | Vendor ticket queue | Community/Enterprise SLA only |
Frequently Asked Questions about Total Items and Total Quantity in POS
Is this an existing app I can download and install right now?
No. This is a build-to-order Odoo extension. We build it to your confirmed scope, edition, and version, then install and support it. There is no instant download — you receive installable source code and a git repository as part of delivery.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After a short scoping call we lock the behaviour, target Odoo version, and edition; the timeline then depends on how many surfaces (order screen, receipt, customer display, BI export) and how many POS configs are in scope.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base scope. We confirm your exact requirements on a scoping call and then issue a fixed quote before any build begins. Multi-company estates, extra receipt/display surfaces, deeper receipt localization, and external integrations increase the quote.
Do you support Odoo 17, 18, and 19, and both Community and Enterprise?
Yes. We build against your specific major version — 17.0, 18.0, or 19.0 — and account for Community vs Enterprise differences in the POS module and receipt engine so it installs cleanly on your edition without touching core files.
What happens with support and future Odoo updates?
Delivery includes a post-go-live support window for defect fixes on the delivered scope. Because the extension is a self-contained, upgrade-safe addon, it isolates cleanly from core. Migration to a future Odoo major version or new feature work is quoted separately as a change request.
Will it slow down the POS or interfere with checkout?
No. The two totals are lightweight derived values — a distinct-line count and a summed quantity — computed reactively in the existing POS order store on the front end and via `@api.depends` compute on the back end. There are no extra network calls during a sale.
Can we control exactly what counts as an 'item'?
Yes. During scoping we define whether 'items' means distinct products or distinct order lines, and how bundles, combos, gift-card lines, and negative return lines are treated. That rule is enforced in the compute so the on-screen, receipt, and reporting figures all agree.
Related Modules

Thermal Invoice Report for Odoo
A build-to-order Odoo report that renders invoices and receipts in a narrow, thermal-printer-friendly layout for 58mm and 80mm roll printers. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.

Tier-Based Approval Validation
A build-to-order Odoo module that enforces multi-tier approval sign-off on any record type before it can advance or be validated. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 instance.

Turkey Payroll (SGK)
Build-to-order Odoo Turkey payroll: SGK premiums, cumulative income tax, stamp duty, severance & TRY salary structures.

Türkiye e-Arşiv & e-Fatura for Odoo
Issue GİB-compliant e-Fatura and e-Arşiv documents straight from Odoo, with automatic scenario routing for registered and non-registered buyers, correction workflows, and a durable audit archive. Built to order by ECOSIRE for your Odoo 17.0, 18.0 or 19.0 database.
Total Items and Total Quantity in POS
A build-to-order Odoo Point of Sale extension that surfaces the total distinct line items and the total ordered quantity live on the POS order screen, receipt, and reporting. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 estate after a short scoping call.
- Real-time `total_items` (distinct line count) and `total_quantity` (summed `qty`) shown live on the POS order screen via a patched OWL component
- Reactive recomputation subscribed to the POS order store — updates instantly as lines are added, merged, quantity-edited, or voided
- Computed fields on `pos.order` using `@api.depends('lines', 'lines.qty')` so both totals persist to the database, not just the UI
- Correct handling of fractional and weighed quantities, plus a configurable rule for negative return/refund lines