| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1848 |
| Technical Name |
ak_direct_print |
| License | OPL-1 |
| Website | https://www.aktivsoftware.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1848 |
| Technical Name |
ak_direct_print |
| License | OPL-1 |
| Website | https://www.aktivsoftware.com |
- Compatible with:
-
Odoo Enterprise (Odoo.sh & On Premise)
-
Odoo Community
Direct Print Direct Print
Direct Print sends Odoo reports straight to your printer — no browser download dialog, no manual steps. When a user triggers a report, the module intercepts it, renders the PDF on the server, and pushes it directly to the configured printer. Supports CUPS (LAN / USB / WiFi via CUPS daemon) and Direct IPP (WiFi / network printers, no CUPS required). Built-in printer discovery via CUPS and mDNS/Avahi makes setup fast and hassle-free.
Explore this module
Auto-Print — No Download Dialog
When a user clicks Print on any report, Direct Print automatically intercepts the action before the browser download dialog appears. The PDF is rendered server-side and sent directly to the configured printer. A toast notification confirms the job was sent. No clicks, no downloads, no manual printing required.
When a user clicks Print on any report, Direct Print automatically intercepts the action before the browser download dialog appears. The PDF is rendered server-side and sent directly to the configured printer. A toast notification confirms the job was sent. No clicks, no downloads, no manual printing required.
Two Connection Types — CUPS & Direct IPP
Choose the right backend for each printer:
A) CUPS — Printers managed by the CUPS daemon on the server. Works for LAN, USB, and WiFi printers registered in CUPS. Most reliable for mixed printer environments.
B) Direct IPP (WiFi / Network) — Connects directly to the printer over the IPP protocol (RFC 8011, port 631). No CUPS required. Compatible with AirPrint, Brother, HP, and Epson WiFi printers. Built-in 6-probe firmware compatibility matrix handles quirks automatically.
Choose the right backend for each printer:
A) CUPS — Printers managed by the CUPS daemon on the server. Works for LAN, USB, and WiFi printers registered in CUPS. Most reliable for mixed printer environments.
B) Direct IPP (WiFi / Network) — Connects directly to the printer over the IPP protocol (RFC 8011, port 631). No CUPS required. Compatible with AirPrint, Brother, HP, and Epson WiFi printers. Built-in 6-probe firmware compatibility matrix handles quirks automatically.
CUPS Printer Configuration
Select CUPS as the connection type and enter the exact CUPS printer name (as shown by
Select CUPS as the connection type and enter the exact CUPS printer name (as shown by
lpstat -p). Use
Check Status to verify the printer is reachable and idle.
Use Test Print to send a CUPS test page instantly.
The status badge updates to Online, Offline, or Error in real time.
Direct IPP (WiFi) Printer Configuration
Select Direct IPP as the connection type and enter the printer's IP address or hostname, port (default 631), and IPP resource path (default
Select Direct IPP as the connection type and enter the printer's IP address or hostname, port (default 631), and IPP resource path (default
/ipp/print). On first print, the module automatically
probes 6 attribute combinations to find what the printer's firmware accepts —
no manual trial and error. Handles Brother, HP, and Epson firmware quirks
transparently.
Auto-Print Rules — Per Report & Per User
Configure rules under Configuration → Print Rules to map any Odoo report to a specific printer. Rules can be global (all users) or user-specific. Set the number of copies per rule. User-specific rules are always matched first; global rules serve as fallback. When a matching rule is found the report is printed automatically — no download dialog appears for that user.
Configure rules under Configuration → Print Rules to map any Odoo report to a specific printer. Rules can be global (all users) or user-specific. Set the number of copies per rule. User-specific rules are always matched first; global rules serve as fallback. When a matching rule is found the report is printed automatically — no download dialog appears for that user.
CUPS Printer Discovery Wizard
Go to Printers → Action → Discover CUPS Printers to open the discovery wizard. Click Scan CUPS — the module queries
Go to Printers → Action → Discover CUPS Printers to open the discovery wizard. Click Scan CUPS — the module queries
lpstat -p and lists all active (idle or printing)
printers. Disabled or unplugged printers are automatically excluded.
Tick the printers to import and click Add Selected. Already
configured printers are flagged so you never create duplicates.
WiFi Printer Discovery via mDNS / Avahi
Go to Printers → Action → Discover WiFi Printers (IPP). Click Scan Network — the module runs
Go to Printers → Action → Discover WiFi Printers (IPP). Click Scan Network — the module runs
avahi-browse to discover all IPP-capable printers
on the local network using mDNS. Results show the printer name,
IP address, port, and resource path — all pre-filled from the
mDNS advertisement. Select the printers to add and click
Add Selected. Requires avahi-utils on the server.
Smart Fill — Discover from a Printer Record
When the discovery wizard is opened from inside an existing printer form view (Action menu on the form), it enters fill mode. A blue banner informs the user: the first selected printer fills the current record's details (name, connection settings, status reset). Any additional selections are created as new separate printer records. No need to manually type IP addresses or CUPS names — just scan and fill.
When the discovery wizard is opened from inside an existing printer form view (Action menu on the form), it enters fill mode. A blue banner informs the user: the first selected printer fills the current record's details (name, connection settings, status reset). Any additional selections are created as new separate printer records. No need to manually type IP addresses or CUPS names — just scan and fill.
Print Job History & One-Click Reprint
Every print job is logged under Direct Print → Print Jobs with the report name, printer used, connection type, user, number of copies, status (Sent / Error), and the stored PDF. Failed jobs show the full error message. Use the Reprint button to resend the stored PDF to the same printer instantly — no need to regenerate the report. A daily cleanup cron removes jobs older than 30 days automatically.
Every print job is logged under Direct Print → Print Jobs with the report name, printer used, connection type, user, number of copies, status (Sent / Error), and the stored PDF. Failed jobs show the full error message. Use the Reprint button to resend the stored PDF to the same printer instantly — no need to regenerate the report. A daily cleanup cron removes jobs older than 30 days automatically.
Suggested Apps
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