Waiters take orders tableside on phone/tablet, fire them to the kitchen instantly, and settle at the main Odoo POS register — fully synced. One-time license from $249.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Waiters take orders tableside on phone/tablet, fire them to the kitchen instantly, and settle at the main Odoo POS register — fully synced.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
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
Waiter name stamped on every kitchen ticket and on the register check for full order accountability
Real-time sync of the product catalog, pricelists, discounts, and tax rules from the back office to every handheld
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 2–4 weeks from kickoff.
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.
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.
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.
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.
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.
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.
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.
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.
Buy the license on ecosire.com and download the POS Waiter / Tableside Ordering App module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for POS Waiter / Tableside Ordering App, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Time to a working tableside solution | 2–4 weeks, 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 |
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 2–4 weeks from kickoff depending on kitchen-routing complexity and how many outlets are involved. You'll get a delivery timeline confirmed at kickoff.
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.
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.
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.
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.
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.
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.
Waiters take orders tableside on phone/tablet, fire them to the kitchen instantly, and settle at the main Odoo POS register — fully synced.