| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Restaurant (pos_restaurant)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 294 |
| Technical Name |
nz_pos_restaurant_sync |
| License | LGPL-3 |
| Website | https://www.nezam.co |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Restaurant (pos_restaurant)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 294 |
| Technical Name |
nz_pos_restaurant_sync |
| License | LGPL-3 |
| Website | https://www.nezam.co |
| Versions | 18.0 19.0 |
NZ Solutions Apps for Odoo
POS Restaurant Real-Time Sync — Odoo 18
Aggressive real-time synchronization for Odoo POS Restaurant across all connected terminals. Every order line, discount, note, payment, and table change syncs instantly — so your waiters, cashiers, and kitchen staff always see the same live data.
What does this module provide?
This module enhances Odoo 18 POS Restaurant mode with aggressive real-time synchronization across all connected terminals. Order line sync — every addition, quantity change, or deletion propagates instantly; Discount & price sync — numpad changes are detected and broadcast in real-time; Kitchen notes sync — customer and internal notes update immediately on all screens; Table state sync — floor screen table indicators refresh live after every sync; Payment line sync — payment additions and removals are synced instantly; and a Sync status indicator in the POS navbar shows syncing activity, pending count, and last sync time. Two sync modes are available: Bus (Real-Time) for instant push-based sync, and Interval (Polling) with a configurable polling interval. No extra setup required — install, enable, and all terminals stay in perfect sync.
KEY HIGHLIGHTS
Real-Time Order Sync
Every order line addition, quantity change, discount modification, and line deletion is synced immediately to all connected POS terminals — no manual refresh needed.
Table State Sync
Table occupancy and order counts update live on the floor screen across all terminals. When a waiter takes an order, every other terminal sees the table status change instantly.
Kitchen Notes Sync
Customer notes and internal notes propagate immediately to all terminals. When a waiter adds "no onions" or "extra spicy", the kitchen sees it right away.
Payment Line Sync
Payment additions and removals sync instantly across terminals. Split payments and partial payments are visible in real-time on every connected device.
Sync Status Indicator
A visual indicator in the POS navbar shows sync activity: a spinning icon when syncing, a count badge for pending changes, and a green checkmark when everything is synced.
Configurable Sync Mode
Choose between Bus mode (instant push-based sync via Odoo bus, recommended) or Interval mode (configurable polling). Adjust the polling interval per POS configuration.
1) POS Settings — Enable Real-Time Sync
In Settings → Point of Sale → Restaurant, a new Real-Time Sync option appears. Enable it to activate aggressive synchronization across all POS terminals. Choose between Bus (Real-Time) or Interval (Polling) mode and configure the polling interval.

2) Two Terminals — Same Order Before Sync
Two POS terminals are open on the same restaurant order. Both screens show the same initial state before any product is added — ready to demonstrate real-time synchronization between terminals.

3) Product Added — Automatic Sync to Other Terminal
A product is added on one terminal screen. The new order line automatically syncs and appears on the second terminal's screen in real-time — no manual refresh needed.

4) Discount Applied — Entering Discount Percentage
A discount percentage is being entered on one terminal using the numpad. The discount value is applied to the selected order line and will sync to all connected terminals.

5) Discount Synced — Both Terminals Updated
The discount applied on the first terminal has synced automatically to the second terminal. Both screens now show the same discount percentage on the order line.

6) Adding a Customer — Select Partner
A customer (partner) is being assigned to the order on one terminal. The customer selection will sync to all other terminals viewing the same order.

7) Customer Synced — Visible on Both Terminals
The assigned customer has synced automatically to the second terminal. Both screens now display the same customer name on the order, confirming real-time partner sync.

8) Adding a Kitchen Note
A kitchen note (e.g., "no onions", "extra spicy") is being added to an order line on one terminal. The note will propagate to all connected terminals and the kitchen display.

9) Kitchen Note Synced — Both Terminals Updated
The kitchen note has synced automatically to the second terminal. Both screens now show the same note on the order line, ensuring the kitchen and all staff see the same information.

10) Making a Payment — Payment Screen
A payment is being processed on one terminal via the payment screen. The payment action and amount will sync to all other terminals viewing the same order.

11) Payment Synced — Order Auto-Closed on Other Terminal
The payment has synced automatically to the second terminal. Since the order is now fully paid, it closes automatically on the other terminal — no manual action required. Both terminals reflect the completed order status.

What is real-time sync?
Real-time sync means that every change made on one POS terminal (order lines, discounts, notes, payments) is instantly pushed to all other connected terminals. No manual refresh or page reload is needed.
What is the difference between Bus and Interval mode?
Bus mode uses Odoo's built-in bus notifications for instant push-based sync (recommended, lowest latency). Interval mode periodically polls for changes at a configurable interval — useful if the bus is unreliable in your environment.
Where do I enable real-time sync?
Go to Settings → Point of Sale, open the POS configuration, and under the Restaurant section, enable Real-Time Sync. Choose your preferred sync mode and save.
What is the recommended polling interval?
The recommended range is 300–1000ms. Lower values (300ms) provide faster sync but increase network usage. Higher values (1000ms) are lighter on resources. The default is 500ms.
Does this work with multiple POS terminals?
Yes! That's the primary purpose of this module. All POS terminals connected to the same restaurant session will see real-time updates for orders, tables, payments, and notes.
What types of changes are synced?
The module syncs everything: order line additions/deletions, quantity changes, price overrides, discounts, customer notes, internal notes, payment lines, table assignments, table transfers, order splits, and merges.
Does this module require any extra configuration?
No. Install the module, enable "Real-Time Sync" in your POS configuration, and it works immediately. The default Bus mode with 300ms detection interval provides excellent performance out of the box.
Which Odoo editions and deployment modes are supported?
The module is compatible with Odoo 18 Community and Enterprise on On-Premise, Odoo Online, and Odoo.sh. It depends only on the POS Restaurant module.
Version 18.0.1.0.0
Initial Release- Real-time order line synchronization across all POS terminals
- Table state sync with live floor screen updates
- Kitchen notes sync (customer & internal notes)
- Payment line sync for split and partial payments
- Sync status indicator in POS navbar (syncing / pending / synced)
- Bus mode (Real-Time) using Odoo bus notifications
- Interval mode (Polling) with configurable frequency
- Per-POS-config sync settings
- Automatic dirty-order detection and sync triggering
- Table count auto-refresh after every sync cycle
- Odoo 18 Community & Enterprise support
Please log in to comment on this module