BambooForge Labs

Direct Print compared with the alternatives

Send any report, label or receipt straight from Odoo to a network printer - IPP, CUPS, AirPrint, Zebra and ESC/POS over raw TCP - with no IoT Box, no print-server subscription and no agent on a desktop. Auto-print rules, a print queue with retries, one printer per user, warehouse or report.

Read the manualOpen the live demoBuy on the Odoo Apps Store

Checked on 2026-10-15. Prices are the Odoo Apps Store's prices in euros on that day (visitors outside the euro area see them converted); features are as each vendor's own public page describes them. If something here is out of date, write to support@bambooforge.dev and we will correct it.

At a glance

BambooForge Direct Print

OCA base_report_to_printer (free)

Odoo itself

VentorTech Direct Print PRO

Price

EUR 129, once per Odoo series; POS receipts are an add-on at EUR 49, once per Odoo series

Free (AGPL-3)

IoT is Enterprise, and "An IoT box subscription is required for production use of IoT systems"; Epson ePOS printing in the POS and, on 20.0, the printer module are in Community

EUR 99, once per series, plus a print subscription: "Subscriptions start from just a few euros per month" (no figure on the listing); 3 months / 15,000 documents free after purchase

Odoo series

16.0, 17.0, 18.0, 19.0, 20.0

16.0 to 19.0

IoT 16.0 to 20.0; Epson ePOS in the POS 16.0 to 20.0; printer from 20.0

10.0 to 20.0

Hosting

Odoo.sh or your own server

Odoo.sh or your own server

Odoo Online, Odoo.sh or your own server

Odoo.sh or your own server

How a document reaches the printer

From the Odoo server: IPP (port 631) to network printers, CUPS queues and AirPrint devices, raw TCP (port 9100) to label and receipt printers; a USB printer through QZ Tray on its PC

16.0 to 18.0: CUPS on the Odoo server; 19.0: a CUPS, QZ Tray or websocket backend, the last sending jobs over the Odoo bus to an agent on the printer's machine

Enterprise: an IoT box, or Windows virtual IoT on Windows 10 or 11. Community: the POS prints to Epson ePOS printers by IP; on 20.0 the printer module has the browser send ZPL or ePOS-Print to the printer's IP

Through VentorTech's cloud print service to its print client on a PC; Odoo need not be on the printers' network

Printers and formats

PDF to document printers, ZPL or raw to label printers (Zebra, TSC, Godex, Bixolon), ESC/POS to receipt printers; a PDF goes only to a document printer, ZPL only to a label printer; a test page per printer

CUPS printers, with tray selection; ZPL II labels through printer_zpl2

IoT: devices such as POS receipt printers and scales. printer (20.0): ZPL from text reports named "zpl", and PDF to Epson ePOS as a 576 px thermal image

Any printer, USB, network, Wi-Fi or Bluetooth; PDF or ZPL

Which printer, which report

Per report: open in the browser, send to the printer, or both; the report's printer, else the user's own, else the company default; copies; report.bf_direct_print() for your own buttons

Per user, per report, or per user and report

printer (20.0): printers linked to reports

Rules by user, document type, company or workstation; print action buttons

Printing without a click

Auto-print rules when a record is created or a field takes a value, stored computed fields included; a queue that retries after 1, 5, 15 and 60 minutes, keeps the bytes sent and offers Print again

printing_auto_base, "automatic printing of a report or attachments", on 18.0 only

Not described

20+ automated print scenarios; shipping labels; connected scales

POS receipts

The POS Receipts add-on: the server prints the ESC/POS receipt when an order is paid, 58 or 80 mm, to a network, CUPS or QZ Tray printer; a printer that is down never blocks a sale

Not described

Community: Epson ePOS printers by IP with no IoT box (on 20.0: receipt or preparation use, 80 or 58 mm, or Zebra label paper); Enterprise: through the IoT box (pos_iot)

An add-on; its price is not on this listing

Left out, as each page says

Printing to a printer the server cannot reach: one with no network port goes through QZ Tray on its PC, "and only while an Odoo tab is open there"; converting documents; POS receipts without the add-on

printer_zpl2 "does not provide a GUI on its own"

Windows virtual IoT does not support MRP devices

Not listed

Needs

base, web and mail; QZ Tray (free) only for a USB printer

CUPS and pycups on 16.0 to 18.0; on 19.0, what the chosen backend needs (pycups, pyOpenSSL or odoo-print-client)

For IoT: an IoT box or a Windows PC, and the IoT box subscription

Inventory, Invoicing, Purchase and Discuss; the print client on a PC

Choose which, and when

  • Choose OCA's base_report_to_printer if you run 16.0 to 19.0 with a CUPS server next to Odoo and want AGPL-3 code at no licence cost; on 19.0 you can pick a CUPS, QZ Tray or websocket-agent backend. Its maturity is marked Beta, its ZPL module is "meant to be used as a base for module development", and it has no build for 20.0 today.

  • Choose Odoo's IoT if you are on Enterprise and want the devices Odoo itself supports, scales and POS receipt printers included, through an IoT box or Windows virtual IoT, with the IoT box subscription Odoo requires for production use.

  • Choose Odoo's own Community printing if POS receipts on Epson ePOS printers are what you need (16.0 to 20.0), or if, on 20.0, Zebra (ZPL) and Epson ePOS printers on your network, driven from the browser, are enough.

  • Choose VentorTech Direct Print PRO if Odoo cannot reach your printers (Odoo in the cloud, printers on other sites) and a cloud print subscription with a client on a PC suits you; it also brings 20+ ready print scenarios, connected scales and shipping labels, on series back to 10.0.

  • Choose ours if the Odoo server can reach your printers (IPP, CUPS, AirPrint or raw port 9100) and documents should stay on your network, and you want auto-print rules, report routing and a queue that retries, on any of 16.0 to 20.0, for a one-time price - and a USB printer that prints only while an Odoo tab is open on its PC is acceptable. POS receipts need the add-on.

Sources

Read on 2026-10-15.