Skip to Content
Menu
This question has been flagged
4 Replies
1381 Views

I am working on an Odoo 15 project, and I would like to implement a feature where a document (such as an invoice, report, or ticket) is sent directly to the printer for printing, bypassing the browser preview or PDF download step.

Currently, when I print a document, it generates a PDF file that is either downloaded or opened in the browser, and I have to manually send it to the printer. My goal is to automate this process to allow direct printing from Odoo.

Here are some additional details:

  • Printer: I am using a thermal printer.
  • Operating System: The server runs on Windows.
  • Current setup: I have configured the printer and can print manually from Windows, but I want to automate this process via Odoo.
  • Odoo Module/Feature: This functionality should work for a specific module (e.g., Invoicing, Point of Sale) or globally.

Questions:

  1. What is the best approach to enable direct printing from Odoo 15?
  2. Are there any modules or third-party tools that can help implement this feature?
  3. Is it possible to configure Odoo to send print jobs directly to the printer connected to a Windows server?

Any guidance, sample code, or recommendations would be greatly appreciated. Thank you in advance for your help!

Avatar
Discard
Best Answer

By default, Odoo 15 opens PDF reports in the browser. To print directly to a printer (without preview), you need to integrate Odoo IoT Box or use 3rd-party automation.

 Option 1: Use Odoo IoT Box (Official and Supported)

Odoo IoT Box allows direct printing to connected thermal or regular printers:

Steps:

  1. Install the IoT Box App in Odoo.
  2. Connect the IoT Box to your local network and printer.
  3. In Settings > IoT, configure your printer.
  4. Enable “Print via IoT Box” in the report template.

When a user prints a report, it goes directly to the printer via the IoT Box.

 Option 2: Use External Print Services

For environments without IoT Box, consider tools like:

  • QZ Tray (Java-based tray app that listens for print commands from the browser)
  • PrintNode (cloud-based print automation)
  • Custom Python daemon monitoring a folder or queue and auto-printing

 Option 3: Technical Override (Not recommended for general users)

Advanced users can override the report_action() or use JavaScript to send raw PDF data to local print APIs. However, this requires:

  • Custom browser configuration
  • Elevated security permissions
  • Controlled user environment (e.g., internal apps)

Avatar
Discard
Best Answer

Hi,


You can use the following module to print directly to the printer.

https://apps.odoo.com/apps/modules/15.0/direct_print_odoo


Hope it helps.

Avatar
Discard
Best Answer

Hello,

Omni Print can assist you in achieving that. With Omni Print, you can:

  1. Directly print documents (PDF, ZPL, ESC/POS) to your desktop printer.
  2. Use it seamlessly with any module without the need for additional configurations.

Avatar
Discard