| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 284 |
| Technical Name |
sunu_pos_stock_info |
| License | LGPL-3 |
| Website | https://xarelam.com/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 284 |
| Technical Name |
sunu_pos_stock_info |
| License | LGPL-3 |
| Website | https://xarelam.com/ |
Stop overselling. Know exactly what's available — right from the POS screen. This module adds live Stock (S), Committed (C) and Remaining (R) indicators on every product card, with smart alerts when stock runs low.
📦 Three Indicators, One Glance
Each storable product card displays a compact badge with three values that update in real time — no page refresh needed:
| Indicator | Meaning | How it updates |
|---|---|---|
| S — Stock | On-hand quantity | Decreases after each payment is validated |
| C — Committed | Qty in unpaid orders | Increases instantly when a product is added to any order |
| R — Remaining | Available = S − C | Recalculated automatically whenever S or C changes |
🔴 Smart Color Coding
The Remaining (R) value changes color to instantly communicate stock status:
| Color | Condition | Meaning |
|---|---|---|
| Green | R > 0 | Stock available — business as usual |
| Yellow | R = 0 | All stock committed — warning dialog shown |
| Red | R < 0 | Over-committed — confirmation required |
🔔 Smart Low-Stock Alerts
When a cashier taps a product with R ≤ 0, a beautifully designed confirmation dialog appears — showing the product name, current S/C/R values, and two clear buttons:
- Continue — add the product anyway (no sale is blocked)
- Cancel — go back without adding
The dialog header turns orange when stock is exactly zero, and red when it's negative — so urgency is immediately obvious.
⚡ Key Features
🍴 Real-World Example — Restaurant Service
You prepared 50 portions of today's special. Here's how the numbers evolve throughout the lunch service:
| Event | S | C | R |
|---|---|---|---|
| Service starts | 50 | 0 | 50 |
| Table 3 orders 4 portions | 50 | 4 | 46 |
| Delivery of 10 portions ordered | 50 | 14 | 36 |
| Table 3 pays (4 portions) | 46 | 10 | 36 |
| All orders paid | 36 | 0 | 36 |
| 36 more portions sold & paid | 0 | 0 | 0 |
| Late customer orders 2 more | 0 | 2 | -2 ⚠ |
⚙️ Quick Setup (30 seconds)
- Install the module
- Go to Point of Sale → Configuration → Settings
- In the Interface section, check "Show Stock / Committed / Remaining"
- Save — that's it!
🎯 Perfect For
- Restaurants & Caterers — track daily portions in real time
- Food Trucks — limited inventory, every unit counts
- Bakeries & Pastry Shops — daily production with finite quantities
- Event Catering — know exactly what's left during service
- Retail Pop-ups — small inventory, high throughput
- Any POS business where overselling costs money or reputation
📄 Technical Specifications
| Compatibility | Odoo 19 Community & Enterprise |
| Dependencies | point_of_sale only |
| Architecture | OWL patch on ProductCard component |
| Performance | Client-side only — no extra server calls while browsing |
| Multi-Terminal | Yes — aggregates pending orders from all terminals in the session |
| Products Scope | Storable products only (is_storable = True) |
| License | LGPL-3 |
Never oversell again.
Give your POS team real-time stock visibility — install now and see the difference in minutes.
Please log in to comment on this module