- Home
- Apps
- SaaS Tools
- POS Waiter / Tableside Ordering App
Illustrative previewWaiters take orders tableside on phone/tablet, fire them to the kitchen instantly,
and settle at the main Odoo POS register — fully synced.
What is POS Waiter / Tableside Ordering App?
Waiters take orders tableside on phone/tablet, fire them to the kitchen instantly, and settle at the main Odoo POS register — fully synced. 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
Turn every waiter's phone into an Odoo POS order terminal
In a busy full-service restaurant, the walk-to-the-register-and-back loop is where covers slow down and orders get scrambled. The POS Waiter / Tableside Ordering App is a build-to-order Odoo module that lets each waiter log in on a phone or tablet, take the full order at the table, and fire it straight to the kitchen — while the check stays open on the main POS register for settlement. No paper dupes, no re-keying, no guessing who took table 12.
This is not an off-the-shelf apps.odoo.com download. ECOSIRE designs, builds, installs, and supports this module for your specific POS configuration — your product catalog, your kitchen stations, your discount rules, and your floor plan. Typical delivery is one working week from kickoff.
How it fits Odoo under the hood
The module is a clean extension of point_of_sale, not a fork. On the backend we add an OWL front-end screen served inside the POS client and a set of ORM models — a lightweight pos.tableside.order staging layer plus extensions to pos.order and pos.order.line — so tableside tickets and register checks are the same records, not a parallel system. Compute fields on the order line use @api.depends to keep line totals, taxes, and discount amounts in lock-step with the register. Kitchen tickets are printed via a QWeb report (or pushed to your existing kitchen display / IoT printer) with the waiter's name and table stamped on every ticket.
Because it rides on standard Odoo POS sync, the product catalog, pricelists, discount policies, tax rules, and order notes that already live in your product.template / pos.config records flow to the handheld automatically in real time — change a price in the back office and it's live on the floor. Access is governed the Odoo way: a dedicated Waiter group defined in ir.model.access.csv plus record rules so a waiter only sees and edits their own open tables, while managers see the whole floor.
Built for Odoo 17, 18 and 19 — Community or Enterprise
We deliver against your exact version and edition. The module works on Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. If you later want to wire tableside orders into an external app, the same records are reachable over Odoo's XML-RPC / JSON-RPC API — no hidden data stores.
Waiter accountability, built in
Every order line carries the waiter who entered it. Kitchen tickets, the register check, and back-office POS reports all show the waiter name, so covers, voids, comps, and re-fires are attributable. Managers get a clean answer to "who took this order and who fired it to the kitchen?" without a separate spreadsheet.
What you actually get
A production-ready module tuned to your restaurant, installed on your server, with configuration, documentation, staff training, and a support window — delivered by an ECOSIRE Odoo engineer, not thrown over the wall as a zip file.
What you get
- Production-ready Odoo module (source code) built for your target version — 17.0, 18.0 or 19.0 — with a clean __manifest__.py declaring point_of_sale as a dependency
- Backend models and OWL front-end screens: pos.tableside.order staging layer plus pos.order / pos.order.line extensions, compute fields, and the handheld UI
- Security layer: a dedicated Waiter access group in ir.model.access.csv plus record rules so waiters see only their own open tables and managers see the whole floor
- QWeb kitchen-ticket report (waiter name + table + notes) and routing configuration to your printers, IoT box, or kitchen display
- Full configuration on your server: POS config, kitchen station mapping, floor-plan/table setup, discount and tax alignment
- Installation and go-live on your environment (Community or Enterprise), including migration-safe deployment behind your existing POS
- Written admin + waiter documentation and a live staff training session so the floor team is productive from day one
- A post-delivery support window covering bug fixes and configuration adjustments, with an update path across Odoo point releases
Who this is for
Full-service restaurant manager
Wants faster table turns and clear waiter accountability. Gets tableside ordering that fires to the kitchen instantly, keeps checks accurate at the register, and shows exactly who took and fired every order — without adding a second system to reconcile.
Restaurant owner / multi-outlet operator
Runs one or several venues on Odoo POS and wants a consistent, supported tableside workflow that syncs prices and promotions everywhere in real time. Prefers a built-and-supported module over a fragile off-the-shelf app or a risky in-house hack.
Head chef / kitchen expeditor
Needs legible, correctly-routed tickets with the ordering waiter named, course firing they control, and no lost dupes. Gets QWeb kitchen tickets (or KDS pushes) that arrive the moment the waiter sends them from the table.
Odoo administrator / IT lead
Responsible for a stable POS deployment on Odoo 17/18/19. Gets a clean point_of_sale extension (not a fork) with proper ir.model.access.csv, record rules, and XML-RPC/JSON-RPC reachability — installed and documented so it survives upgrades.
How POS Waiter / Tableside Ordering App Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Time to a working tableside solution | one working week, built and installed for your exact POS setup | Months of in-house dev, hiring, and QA | Instant install, but generic and rarely matches your floor | None — Odoo core has no true handheld tableside ordering |
| Waiter accountability on kitchen tickets | Waiter name stamped on every QWeb ticket and register check | Only if you design and build it yourself | Varies by app; often absent or partial | Not available out of the box |
| Real-time catalog / price / discount sync to devices | Real-time via standard POS sync, tuned to your pricelists | You must build and maintain the sync layer | Usually yes, but generic discount/tax handling | POS syncs the register, not a separate handheld flow |
| Security model (who sees which tables) | Dedicated Waiter group in ir.model.access.csv + record rules | DIY access rules, easy to get wrong | Fixed roles you can't easily change | Generic POS user access, no per-waiter table scoping |
| Fit to your kitchen stations & floor plan | Configured to your stations, printers, and tables at install | Fully custom but you own all the edge cases | Configure within the app's fixed assumptions | Not applicable |
| Odoo 17 / 18 / 19 + Community & Enterprise support | Built for your exact version and edition, upgrade path included | You maintain compatibility every release | Depends on the vendor keeping the app current | Core only; no tableside feature to version |
| Ownership, code access & extensibility (XML-RPC/JSON-RPC) | You get the source; reachable via XML-RPC/JSON-RPC for integrations | You own it, but also own all the risk | Often closed or licence-restricted | API exists, but there's nothing tableside to expose |
| Support when something breaks on a busy Friday night | Dedicated ECOSIRE support window with the engineers who built it | Whoever built it — if they're still around | Generic vendor ticket queue, no context on your setup | Community forums / your own Odoo partner |
Frequently Asked Questions about POS Waiter / Tableside Ordering App
How long until I get the module, and is this an instant download?
This is a build-to-order module, not an instant apps.odoo.com download. After you order, an ECOSIRE Odoo engineer scopes your POS setup, then builds, installs, and configures the module on your server. Typical lead time is one working week from kickoff depending on kitchen-routing complexity and how many outlets are involved. You'll get a delivery timeline confirmed at kickoff.
What do the support and updates cover after delivery?
Delivery includes a post-launch support window for bug fixes and configuration adjustments. Because the module is a clean extension of Odoo's point_of_sale (not a core fork), we also provide an update path so it keeps working across Odoo point releases. If you later upgrade major versions — say 18 to 19 — we can migrate the module under a separate maintenance or upgrade engagement.
Which Odoo versions and editions does this work with?
We build and deliver against your exact target: Odoo 17.0, 18.0, or 19.0, on both Community and Enterprise. The module rides on standard Odoo POS, so it works whether or not you have Enterprise POS add-ons. Tell us your version and edition at kickoff and we tune the build accordingly.
Do waiters need special hardware, or does it run on normal phones and tablets?
It runs in the browser-based Odoo POS client on any modern phone or tablet on your restaurant's network — no proprietary handhelds required. Waiters log in with a PIN tied to their Odoo Waiter security group. Kitchen tickets print to your existing network/IoT printers or push to a kitchen display; we configure that routing during installation.
How does it keep the register, kitchen, and prices in sync?
Tableside tickets and register checks are the same Odoo records — the handheld writes to pos.order / pos.order.line, not a parallel system. Products, pricelists, discounts, and tax rules sync in real time from the back office to every device, so a price change you make in Odoo is instantly live on the floor. Order-line totals and taxes use @api.depends compute fields so the kitchen ticket and the register check never drift.
Can orders move between waiters and tables, and is it auditable?
Yes. A check can be transferred between waiters (for shift handover) and between tables (when guests move), with the change recorded on the order so it's fully auditable. Every order line keeps the waiter who entered it, which is what drives the accountability reporting and the named kitchen tickets.
Can it connect to our booking system or a custom dashboard later?
Yes. Because everything lives in standard Odoo POS records, the tableside data is reachable over Odoo's XML-RPC / JSON-RPC API. We can scope an integration to a reservation system, a kitchen display system, or a custom reporting dashboard as an add-on to the initial build.
Related Modules

POS Terminal Payments for Odoo
A build-to-order Odoo integration that connects your card payment terminal to Odoo Point of Sale so cashiers trigger, capture, and reconcile terminal transactions without leaving the POS screen. ECOSIRE scopes, builds, installs, and supports it for you.

POS Tip Management
Capture, pool, and report tips at Odoo POS checkout with card-terminal prompts and per-employee tip allocation. Built, installed, and supported by ECOSIRE.

POS WhatsApp Receipt Sender
A build-to-order Odoo Point of Sale extension that delivers each order receipt to the customer's WhatsApp number — either automatically at payment validation or manually from the POS session. ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19.

Power BI Connector for Odoo
Stream Odoo Sales, Inventory, Accounting & CRM into Power BI — live or scheduled — with secure token auth and multi-company support.
POS Waiter / Tableside Ordering App
Waiters take orders tableside on phone/tablet, fire them to the kitchen instantly, and settle at the main Odoo POS register — fully synced.
- Waiter login on the handheld with per-user PIN, mapped to an Odoo Waiter security group so each session is attributable
- Visual table assignment: pick your table from the floor plan and open, hold, or reopen its check from the phone/tablet
- Take the full order tableside — products, variants, modifiers, and per-line kitchen notes — then settle later at the main POS register
- Instant kitchen firing: orders route to the correct kitchen station via QWeb ticket print, IoT/network printer, or kitchen display