| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Manufacturing (mrp) • Discuss (mail) |
| Lines of code | 811 |
| Technical Name |
gb_shop_floor_tablet_kiosk |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Manufacturing (mrp) • Discuss (mail) |
| Lines of code | 811 |
| Technical Name |
gb_shop_floor_tablet_kiosk |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Shop-Floor Tablet Kiosk
Operator MO start/stop, scrap, component scan and quality checks
Odoo's Enterprise Shop Floor kiosk keeps operators out of the back office, but it is Enterprise-only, leaving Community manufacturers to report production through complex desk screens or paper. That means late, inaccurate timings, missed scrap and quality data captured hours after the fact. This app gives operators a tablet station with PIN login to start and stop real work orders, scan and consume components by barcode, register validated scrap and log quality checks at the point of work. Every action posts to genuine MRP and Stock records, and supervisor dashboards expose live throughput and fail rates, all on standard Community.
Key Features
Kiosk stations with PIN login
gb.kiosk.station ties each tablet to an mrp.workcenter with require_pin, allow_scrap and allow_quality toggles. gb.kiosk.operator stores a SHA-256 pin_hash (never the raw PIN) and a badge_code; the authenticate method matches an operator by badge and verified PIN to open a session.
Operator session tracking
open_session creates one gb.kiosk.session per operator and station, blocking a second operator while one is in use. _compute_duration tracks live login-to-logout minutes, and action_close stops any running work order and stamps logout_time.
Work order start, pause and finish
start_workorder validates the order belongs to the station's work centre then calls button_start on mrp.workorder; pause_workorder uses button_pending and finish_workorder sets qty_producing before button_finish. Each returns a compact _kiosk_state dict for the tablet UI.
Barcode component consumption
scan_component looks up product.product by barcode, finds the matching move_raw_id on the active production and adds the scanned quantity to move.quantity, marking it picked. get_components_state returns per-component consumed-vs-required progress for the screen.
Scrap straight from the floor
register_scrap creates and validates a real stock.scrap linked back to the session and work order via the kiosk_session_id field. It honours the station allow_scrap flag and rejects non-positive quantities, so scrap is recorded at the point of work rather than re-keyed later.
In-line quality checks
record_quality writes a gb.kiosk.quality.check with a pass/fail/N-A result, a numeric measure and a note, linked to the work order and production. get_failure_rate aggregates pass/fail counts by work centre for quality reporting.
Supervisor floor dashboards
get_dashboard, get_productivity and get_station_throughput return per-session and per-station stats (minutes, throughput per hour, scrap, fail rate). get_floor_overview returns one live row per active station, and action_force_close_session lets a manager clear a stale session.
Real MRP transactions, Community only
mrp.workorder, mrp.workcenter and stock.scrap are inherited so consumption, durations and scrap post to genuine Odoo records, not a shadow log. get_kiosk_kpis adds pending/in-progress/live-operator KPIs per work centre, all on standard Community MRP and Stock with no Enterprise subscription.
Use Cases
Screenshots
Operators
Quality Checks
Sessions
Kiosk Stations
Why Choose This Module
The Enterprise Shop Floor kiosk keeps operators out of the back office — but it's Enterprise-only. This module brings the same workflow to Community: operators log in at a station with a PIN, run work orders with live timers, scan and consume components, register real scrap and complete quality checks, all through a tablet-friendly interface backed by JSON controller endpoints.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: LGPL-3
- Languages: 35+
- Author: Baris Genc
- Dependencies: mrp, stock
- Support: odoo@gencbaris.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module