| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 26 |
| Technical Name |
nexus_pos_multi_printer |
| License | OPL-1 |
| Website | https://erpnexus.tech |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 26 |
| Technical Name |
nexus_pos_multi_printer |
| License | OPL-1 |
| Website | https://erpnexus.tech |
Let a specific browser or device print receipts on its own local Epson ePOS printer — without touching the shared POS session, the cash drawer, or who can close it.
Imagine you just brought in a new POS device for your second cashier. You want it to connect to its own printer — but stay on the exact same POS session as everyone else, so the manager still controls closing the session and collecting cash.
The problem: Odoo only lets you set one printer IP per POS Configuration. So normally, that new device would try to print on the first cashier's printer instead of its own.
This module fixes exactly that.
Why You Need This
Odoo's Point of Sale only stores one receipt-printer IP per POS Configuration. Here's what that means in practice.
- Only one receipt-printer IP can be set per POS Configuration
- A second device sharing the same session has no way to print on its own printer
- Splitting into separate POS sessions just to get a second printer breaks shared cash control
- No native, supported way to override the printer per browser
- Each device prints on its own local Epson printer, with one console command
- The shared POS session, cash drawer, and session-closing rights stay exactly as configured
- Every other device keeps printing on the printer already set in POS Configuration
- Override applies regardless of which employee is logged in on that device
How It Works
A small, focused module that does exactly one thing safely.
Per-Device Printer OverrideA single localStorage key, set once in the browser, tells that specific device to print receipts on its own printer IP instead of the one in POS Configuration |
Shared Session Stays UntouchedNo changes to pos.session, pos.config, the cash drawer, or who can close the session. Every device keeps logging into the same shared POS session as before |
Safe Fallback by DesignThe override logic is wrapped in try/catch. If anything goes wrong, it logs to the console and falls back to Odoo's normal printer behaviour instead of blocking POS startup |
Fully ReversibleClear the localStorage key, or simply uninstall the module, and the device returns to Odoo's stock printer behaviour with nothing left behind |
Independent of the Logged-In EmployeeThe override is tied to the browser, not the user. Any employee logging into that device prints on the printer set for it |
Lightweight, Frontend OnlyNo backend Python logic, no migrations, no new database tables. Just one JS override on top of pos_epson_printer |
Setup — One Command, One Time
| Browser Console — Setting the Printer Override |
The Set Override command running in Chrome DevTools on the second device
localStorage.setItem("nexus_pos_receipt_printer_ip", "192.168.x.x")
localStorage.removeItem("nexus_pos_receipt_printer_ip")
Reload the POS tab after running either command. Replace the IP with that device's own Epson printer IP.
Technical Notes
Built on pos_epson_printerExtends Odoo's own ePOS printer extension point. Requires the pos_epson_printer module, included with standard Odoo. |
No Data Model ChangesZero new fields on pos.order, pos.session, or any accounting model. Nothing here can affect data integrity. |
OWL Native for Odoo 18Patches the POS frontend's PosStore through the standard OWL override mechanism. No deprecated APIs. |
Try/Catch WrappedIf the override fails for any reason, it logs to the console and silently falls back rather than blocking POS startup. |
Any DeploymentWorks on On-Premise, Odoo.sh, and Docker deployments. No server-side configuration needed after install. |
Clean UninstallUninstalling fully reverts behaviour to stock Odoo. No leftover config, no orphaned data. |
Compatibility
Supported platforms and technical details.
| Odoo Version | 18.0 |
| Technical Name | nexus_pos_multi_printer |
| Community Edition | Supported |
| Enterprise Edition | Supported |
| License | OPL-1 |
| Category | Point of Sale |
| Dependencies | point_of_sale, pos_epson_printer |
| On-Premise | Supported |
| Odoo.sh | Supported |
| Publisher | Nexus ERP Systems |
About Nexus ERP Systems
The team behind Nexus POS Multi-Printer
Nexus ERP Systems is a software development and IT consultancy company specializing in Odoo ERP implementation, custom module development, Flutter mobile applications, and end-to-end IT infrastructure consulting. We build production-grade tools tested on live systems — no shortcuts, no deprecated APIs.
Support & Contact
Email SupportDirect technical support within 24 hours. Setup help and troubleshooting. info@erpnexus.tech |
WebsiteDocumentation and additional Odoo modules from Nexus ERP Systems. erpnexus.tech |
Find Us On LinkedIn
|
Nexus ERP Systems
Follow us for updates, new modules & demo videos
|
in Follow |
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