Odoo 19 POS Smart — Restaurant Self-Order & Kitchen (F-056)
by POS Master Team http://posodoo.com$ 349.38
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) • Point of Sale (point_of_sale) • Restaurant (pos_restaurant) • Website (website) • Inventory (stock) • Invoicing (account) |
| Lines of code | 12150 |
| Technical Name |
pos_smart_restaurant |
| License | OPL-1 |
| Website | http://posodoo.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) • Point of Sale (point_of_sale) • Restaurant (pos_restaurant) • Website (website) • Inventory (stock) • Invoicing (account) |
| Lines of code | 12150 |
| Technical Name |
pos_smart_restaurant |
| License | OPL-1 |
| Website | http://posodoo.com |
Restaurant self-order & kitchen foundation
What you get: guests order from a table QR (or staff-only mode) with a phone-first menu (search, categories, cart, optional swap dish), rich product flows (plain items: detail screen with sale description, variants, customer note, and POS optional upsells; combo items: full-screen builder with steps/limits), pricing that matches your POS tax display (tax-included vs tax-excluded on menu/cart; bill view stays server totals). Payments are gated by policy, the web kitchen sees batches with timers, the web runner delivers and prints table or per-batch bills, the web cashier verifies payment before release, and guest feedback (stars + message) is stored in Odoo — built for busy restaurants, beach bars, and small chains.
pos_restaurant
website public route
Batch + audit
Guest detail + upsell
Tax display = POS
Video demo
Full walkthrough: guest QR table flow, then kitchen, cashier, and runner dashboards (Odoo 19 POS Smart Restaurant).
Guest self-order — image by image
After scanning the table QR, guests use a mobile-first UI tied to the open POS order on that table. Below: each screen with a short functional description (order follows the typical journey).
1. Menu & catalogue
Table self-order header with floor/table context, search, POS category chips (All, Food, Drinks…), product grid with image, name, and price using the same tax display rules as your POS. Sticky footer: line count, running total, Checkout; shortcuts to View table bill or feedback where enabled.
2. Product detail — note, variants, extras & upsells
Tap a dish to open detail: hero image, name, price, quantity, optional kitchen note. Supports variants, template Extras (no-variant attributes with price_extra), and Add-ons from pos_optional_product_ids with per-addon quantity. Add to cart updates the sticky cart bar.
3. Combo configuration
Combo products open a full-screen step builder aligned with POS rules: required picks per group, optional nested attribute lines on child items (e.g. sides), global combo quantity, and server-side total estimate when configured. Add to cart only when every step meets min/max constraints.
4. Cart — review & submit
Your order lists each line with thumbnail, name, COMBO badge and child breakdown where applicable, per-line note, quantity stepper, Change (swap within the same POS category for non-combo lines), remove, and line total. Footer shows order total and Place order to submit a round as a batch on the table POS order.
5. Confirmation & pay at counter
Success screen with order reference (e.g. batch label), amount to pay at the counter, optional payment note (transfer ref, card last digits), optional payment proof upload, I paid when policy allows guest-reported payment, and Finish — return to menu to keep ordering.
6. Open table bill (optional)
Guests can open the table bill: lines from the current open order (qty × unit price, combo nesting, taxes), total and tax summary, Refresh to sync with POS. Requires an open POS session depending on configuration.
Kitchen, cashier & runner — image by image
Three browser dashboards share the same POS session and guest batches: production control, payment verification before release, and table delivery with KPI timestamps.
7. Kitchen board (KDS-style)
Filter by table/floor and batch reference; optional group by table. Lines show batch id, product name with combo context (“Part of…”), quantities, session totals, guest count, line state (e.g. Queue → preparing → ready), timers, and actions to advance the same states as on POS. Auto-refresh keeps the board current.
8. Runner board
Lists lines by floor and table for handoff from kitchen to guest: cook-done time, Delivering vs Served, combo components visible, Bills for printing, per-line KPIs. Optional alerts when runner PIN is missing on employees.
9. Cashier / counter — validate & release
Dashboard of batches: filter by reference, total range, state, guest-reported payment. Columns for Guest paid / proof, line notes, Release to kitchen after verification, payment method, and Cancel batch. Stays in sync with the POS order and your pay-before-kitchen policy.
1. What this module helps you do
Plain language for owners and IT buyers — no Odoo jargon required to understand the promise.
- Table digital ordering: put a QR on each table so guests browse your menu and submit rounds from their phone (or disable self-order and keep a classic staff-only flow). Optional welcome step for guest order types when you configure them on the POS.
- Guest UX (non-combo): tapping a dish opens a detail screen —
description_sale, price, variant picker, customer note, and add-ons frompos_optional_product_ids(qty per upsell, variant if the add-on has variants). Add-to-cart respects a sensible max line count aligned with submit rules. - Guest UX (combo): full-screen combo builder (same constraints as POS: steps, max per group, optional attribute lines); live total estimate from the server for configured combos.
- Prices on the guest phone: list and cart amounts follow the POS setting Tax Display (Tax-Included vs Tax-Excluded, same as Odoo POS pricing); the opened bill view still reflects posted order lines from Odoo.
- Control when the kitchen cooks: in pay-first venues, money or cashier approval can sit before food prep via batches and cashier actions — fewer “unpaid kitchen fires”.
- Three web boards + POS: dedicated browser screens for kitchen (line states, timers, overload hints), cashier (verify / release / proofs), and runner (ready-to-serve lines, KPI timestamps, print bills).
- Guest voice: optional star rating and text feedback tied to the visit, visible in the back office for quality control.
- Per-restaurant rules: each POS configuration picks its own mode (self-order vs staff-led), PIN requirement, and whether Odoo’s native preparation sync is used — good for multi-site brands.
2. How operations run (end-to-end)
Typical self-order + pay-before-kitchen path; your pos.config may shorten or skip steps.
- Open session & table: waiter opens the table in POS as usual; each table has a secret QR token (printed from the manager wizard or copied from the table form).
- Guest lands on the table URL: they browse by category or search, open detail for à-la-carte dishes (note, variants, upsells) or combo for bundle menus, review the cart (including optional swap to another dish in the same POS category), peek at the bill, then submit a round — that creates or extends the table’s draft POS order and a new batch record for audit.
- Payment gate: depending on policy, the guest marks paid (with optional proof), or only staff marks payment — until the cashier verifies and releases to kitchen, batches stay out of the cook queue you defined.
- Kitchen board: lines move through your smart states (e.g. new → cooking → ready) with timers and session-wide quantity hints so the brigade sees pressure at a glance.
- Runner board: staff sees ready lines by floor, taps Served to log handoff for KPIs, and can open Customer bills to print the whole table or a single batch slip for the guest.
- Close the loop: POS settlement stays standard Odoo POS; managers use Smart restaurant menus for batches, feedback, and QR reprints.
3. Value for your business
- Faster table turns: guests order without waiting for a runner to return; kitchen sees structured waves instead of verbal chaos.
- Less revenue leakage: configurable pay-before-kitchen and cashier verification align service with your cash discipline.
- Better coordination: separate large touch targets for kitchen, cashier, and runner roles — no shared POS login fights during rush hour.
- Measurable service: line-level timestamps (e.g. kitchen done vs runner served) support later KPI dashboards and staff coaching.
- Audit trail: batches and many actions ride on
mail.thread-style visibility so disputes have a paper trail.
4. Main technical features (for implementers)
- Models include
pos.smart.restaurant.batch,pos.smart.restaurant.feedback, and extendedpos.order/pos.order.linewith smart kitchen state fields. - Public guest entry:
/pos/smart/table/<token>with rate limits and optional session PIN (seedoc/BUSINESS_SPEC.md). - Guest JSON API under
/pos/smart/api/table/<token>/— e.g.catalog(categories, products withvariants,optional_products,combo_groups,tax_displaymirroringpos.config.iface_tax_included),start,submit,bill,estimate-combo, feedback routes, etc. - Catalog pricing for guests uses the same pricelist + tax logic as POS display (including
default_fiscal_position_idmapping when set). - Standalone JSON + OWL UIs for guest self-order, kitchen, cashier, and runner; assets load with
web.assets_frontend. - POS session still holds the commercial order; web boards use dashboard tokens issued from POS configuration.
5. First-time setup
- Install the module; enable Smart restaurant on each POS configuration that should participate.
- Use Restaurant → Floors → Tables to copy each table’s public token and build the QR (or the manager Print table QR wizard).
- Open the printed kitchen / cashier / runner URLs on fixed tablets or wall PCs — each URL is scoped to one POS session token.
- POS Manager menus: Smart restaurant → Batches / Guest feedback / Print table QR.
- Detailed setup and operations:
README.mdanddoc/USER_GUIDE.md; architecture indoc/TECHNICAL_DESIGN.md.
6. Documentation
Operator and technical documentation: README.md, doc/USER_GUIDE.md, doc/BUSINESS_SPEC.md, doc/TECHNICAL_DESIGN.md.
Implementation note
Do not install on the same database as pos_retail (POS Smart catalog rule).
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