CODEerts POS Direct Print | Odoo Point of Sale Server Side Receipt Printing | ESC/POS and PrintNode | Print from Odoo.sh
by CODEerts https://www.codeerts.com$ย 89.00
In-App PurchasesPOS Direct Print
Print receipts from the server, not the browser.
Browser printing needs a printer attached to the machine running the till. That breaks the moment your point of sale is hosted somewhere else, including on Odoo.sh.
|
2
Print Backends
|
0
Required Libraries
|
Server
Side Printing
|
Per POS
Printer Assigned
|
Safe
Failures Recorded
|
The hosting problem nobody mentions until go-live
A hosted point of sale cannot see the printer sitting on your counter
Odoo prints receipts from the browser, which works while the till and the printer share a room. Move the database to Odoo.sh or any server outside the shop network and that assumption quietly stops holding.
What this module does
It renders the receipt on the server and sends it to the printer directly, either as raw ESC/POS over the network or through PrintNode when the server cannot reach the shop. A printer that is offline never rolls back a completed sale.
|
๐จ
Raw ESC/POS
Send receipts straight to a thermal printer over TCP when your server can reach it on the network. |
โ
PrintNode Relay
When the server cannot see the shop network, relay through PrintNode over plain HTTPS. Nothing to install. |
๐ฆ
Installs Anywhere
python-escpos is optional, not required. If it is absent the network backend reports unavailable and PrintNode still works. |
๐ก
A Sale Is Never Lost
A jammed or unreachable printer records the failure on the order. The money is already taken; printing never rolls that back. |
|
๐ฅ Printer Per Register
Assign a printer to each point of sale, so branches and counters print where they should without any code. |
โก Print On Payment
Switch on automatic printing and the receipt goes out as soon as the order is paid, with no cashier action. |
|
๐ Credentials Stay On The Server
The PrintNode key is restricted to point of sale managers and is never loaded into the till, so cashiers cannot read it. |
๐ Failures Are Recorded
Each order carries its print state and the reason it failed, so a manager can see what did not come out and reprint. |
|
โ
Configuration Validated
A network printer without a host, or a PrintNode printer without credentials, is refused on save rather than failing at the counter. |
๐ข Multi Company
Printers carry a company, so separate branches keep their own hardware in a single database. |
How it works
|
1
Add your printer
Point of Sale, Configuration, Direct Printers. Choose the network backend and give it a host, or choose PrintNode and paste your key. |
2
Assign it to a register
In Settings, pick the printer for that point of sale and decide whether receipts print automatically on payment. |
3
Receipts print themselves
Orders print from the server as they are paid. Anything that fails is marked on the order with the reason. |
Screenshot walkthrough
Printers are ordinary records. Raw ESC/POS over the network, or PrintNode when the server cannot see the shop.
A network printer needs only a host and a port. The configuration is validated on save, not at the counter.
Assign the printer to a register and choose whether receipts go out automatically on payment.
A failed print never rolls back the sale. The reason is kept on the order and a manager can print it again.
Technical information
|
Version
Odoo 19 and 18
|
License
OPL-1
|
Editions
Community & Enterprise
|
Dependencies
point_of_sale
|
Frequently asked questions
Only if you want raw network printing. The module installs without it, and the PrintNode backend works with no extra libraries at all. Most apps in this category refuse to install without the library; this one does not.
Yes, and that is the main reason it exists. Use the PrintNode backend, since an Odoo.sh server cannot reach a printer sitting on your shop network.
The sale is saved and the failure is recorded on the order with its reason. Printing never rolls back a completed order; the money has already been taken.
No. The credential fields are restricted to point of sale managers, and the printer record is never loaded into the till, so it does not travel to the browser.
Yes. The printer is chosen per point of sale, and printers carry a company, so branches keep their own hardware.
Odoo 19 and 18, Community and Enterprise.
No. Browser printing keeps working as usual. This adds a server side path for the cases where the browser cannot reach the printer.
The team behind this module
About CODEerts
We build and support Odoo apps used by teams running real operations. Every module is tested against each supported version before release.
info@codeerts.com
More from CODEerts
Other apps we build to make Odoo do more. Tap any card to open it on the Odoo Apps Store.
| 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 | 318 |
| Technical Name |
codeerts_pos_direct_print |
| License | OPL-1 |
| Website | https://www.codeerts.com |
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