OdooWiki OCA HUB

Report to printer CUPS

base_report_to_printer_cups folder_open OCA/report-print-send open_in_new
Generic Modules/Base License: AGPL-3

This module extends base_report_to_printer to add support for printing reports through a CUPS server.

It allows users to configure one or more CUPS servers, automatically fetch available printers and trays, and send reports directly to them instead of downloading a PDF.

Main features:

  • Manage CUPS servers from the Odoo backend.
  • Synchronize available printers and trays with CUPS.
  • Define default printing behavior globally, per user, per report, or per user and report.
  • Test printer connectivity with a Print Test Page action.

Typical usage:

  • Send reports directly to CUPS printers.
  • Configure dedicated trays for pre-printed forms such as payment slips.
  • Allow each user to define their own default printer preferences.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Connect Odoo to one or more CUPS print servers, import their printers and paper trays, and send reports straight to a chosen printer instead of downloading a PDF.

This module adds CUPS print server support on top of the generic "Report to printer" feature. Users with the printing manager rights can create and manage CUPS servers (name, address, port, optional user, password and encryption policy) under the Printing menu, in the new "CUPS Servers" entry.

From a server record you can press "Update Printers" to import all printers known to that CUPS server, and "Update Jobs" to refresh the print queue. A separate menu entry "Update Printers from CUPS" opens a small wizard that does the same for every active server at once. A scheduled job named "Update CUPS Printers Jobs" runs every minute to keep printers and jobs in sync automatically.

On each printer you get buttons to Enable, Disable, Cancel all running jobs and Print Test Page, plus a Jobs list, paper source and output tray information, and status colouring in the list view. Printers can be set as default.

When a report is sent to a printer, Odoo checks the printer status first; if the printer is in error, unavailable or the server cannot be reached, the user is warned and offered a button to download the report instead. Print jobs show their CUPS job id, progress bar, state and state reason, and can be cancelled from the job form.

Required by other modules

Menus it adds

CUPS Serversmenu_printer_update_wizard
Models and fields (5)
  • printing.job · extends an existing modelactive, job_state, server_id (Server), job_id_cups (Job ID), job_state_reason (State Reason), job_media_progress (Media Progress)
  • printing.server · new modelname, port, user, active, address, password, printer_ids (Printers List), multi_thread, encryption_policy
  • printing.printer · extends an existing modelbackend, job_ids (Jobs), server_id (Server), multi_thread, input_tray_ids (Paper Sources), output_tray_ids (Output trays)
  • ir.actions.report · extends an existing model
  • printing.printer.update.wizard · new model

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/report-print-send.

terminal Installation and usage

OCA documentation · Odoo 19.0

To install this module, you need to:

  • Install PyCups -
sudo apt-get install cups
sudo apt-get install libcups2-dev
sudo apt-get install python3-dev
sudo pip install pycups

Configure base_report_to_printer_cups

  • Go to Settings > Printing > Servers and create a record for your CUPS server (hostname, port, credentials if needed).
  • Click Update Printers on the server form to load available printers from CUPS.
  • Set default printers or trays:
  • Globally in Settings > Printing > Reports
  • Per user in User Preferences
  • Per report in Reports configuration
  • Per user and report in Specific report actions per user
  • Use Print Test Page on a printer form to check connectivity and configuration.

Guidelines for use:

> - To update the CUPS printers in Settings \> Printing \> Update > Printers from CUPS > - To print a report on a specific printer or tray, you can change > these in Settings \> Printing \> Reports to define default > behaviour. > - To print a report on a specific printer and/or tray for a user, you > can change these in Settings \> Printing \> Reports in Specific > actions per user > - Users may also select a default action, printer or tray in their > preferences.

When no tray is configured for a report and a user, the default tray setup on the CUPS server is used.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.