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
Also included
Everything else in the box.
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.