Point of Sale app for Odoo
POS Direct Print
Print point of sale receipts from the server instead of the browser, over raw ESC/POS or PrintNode, including on Odoo.sh. A failed print never rolls back a sale.

Overview
POS Direct Print.
Odoo prints point of sale 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. POS Direct Print renders the receipt on the server and sends it to the printer directly, either as raw ESC/POS over TCP when the server can reach the printer, or relayed through PrintNode when it cannot. The python-escpos library is optional rather than required: the module installs without it and the PrintNode backend works with no extra libraries at all, where comparable apps refuse to install. A printer that is offline, jammed or misconfigured never rolls back a completed order, because the money has already been taken; the failure and its reason are recorded on the order instead. PrintNode credentials are restricted to point of sale managers and are never loaded into the till, so a cashier session cannot read them.
New to Odoo Point of Sale? Read our practical guide to how it works
How it works
Built around what you actually do.
Every screen below is the module running in Odoo, not a mockup.
01
Print receipts from the server, not the browser
- Raw ESC/POS over TCP
- PrintNode relay for hosted servers
- Works on Odoo.sh

02
python-escpos optional, never blocks install
- Network backend reports unavailable when the library is absent
- A failed print never rolls back a sale
- Print state and failure reason shown on the order

03
Reprint from the order, and a Print Failed filter to find what needs it
- PrintNode credentials restricted to managers
- Printer assigned per point of sale
- Multi company aware

What it does
Odoo prints point of sale receipts from the browser, which works perfectly 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. It is the kind of thing nobody mentions until go-live week.
POS Direct Print renders the receipt on the server and sends it to the printer directly. Where the server can reach the printer, it speaks raw ESC/POS over TCP. Where it cannot, it relays through PrintNode over plain HTTPS.
A printer that is offline, jammed or misconfigured never rolls back a completed order. The money has already been taken, so the failure and its reason are recorded on the order instead and a manager can reprint.
- Two backends. Raw ESC/POS over the network, or PrintNode when the server cannot see the shop. - Works on Odoo.sh. That is the main reason it exists. - The library is optional. python-escpos is not declared as a hard dependency, so the module installs everywhere. Without it the network backend reports itself unavailable and PrintNode keeps working. Comparable apps refuse to install at all. - A failed print never loses a sale. The order is saved regardless, carrying its print state and the failure reason. - Credentials stay on the server. The PrintNode key is restricted to point of sale managers and is never loaded into the till, so a cashier session cannot read it. - Configuration validated on save. A network printer without a host, or a PrintNode printer without credentials, is refused up front rather than failing at the counter. - Printer per register. Branches and counters print where they should, and printers carry a company.
Who it's for
Anyone running Odoo Point of Sale on Odoo.sh or hosted infrastructure, multi-branch retailers who need each counter printing to its own hardware, and operators who want a receipt to keep printing without a browser session holding the connection.
On the Odoo Store
Get POS Direct Print on the Odoo Store.
Pick your Odoo version and install it in a click, with free updates and real support behind it.
Get it on the Odoo StoreReady to make Odoo work the way your business does?
Book a free callCODEerts is a team of certified Odoo partners and full-stack engineers. We implement, customise and support Odoo ERP, then build the software around it.