Report to printer
by Agile Business Group & Domsense https://github.com/OCA/report-print-send , Pegueroles SCP https://github.com/OCA/report-print-send , NaN https://github.com/OCA/report-print-send , LasLabs https://github.com/OCA/report-print-send , Camptocamp https://github.com/OCA/report-print-send , Odoo Community Association (OCA) https://github.com/OCA/report-print-send , Open for Small Business Ltd https://github.com/OCA/report-print-sendAvailability |
Odoo Online
Odoo.sh
On Premise
|
Lines of code | 1318 |
Technical Name |
base_report_to_printer |
License | AGPL-3 |
Website | http://www.agilebg.com |
Versions | 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 |
Report to printer
This module allows users to send reports to a printer attached to the server.
It adds an optional behaviour on reports to send it directly to a printer.
- Send to Client is the default behaviour providing you a downloadable PDF
- Send to Printer prints the report on selected printer
It detects trays on printers installation plus permits to select the paper source on which you want to print directly.
Report behaviour is defined by settings.
You will find this option on default user config, on default report config and on specific config per user per report.
This allows you to dedicate a specific paper source for example for preprinted paper such as payment slip.
Settings can be configured:
- globally
- per user
- per report
- per user and report
Table of contents
Installation
To install this module, you need to:
- Install PyCups - https://pypi.python.org/pypi/pycups
sudo apt-get install cups sudo apt-get install libcups2-dev sudo apt-get install python3-dev sudo pip install pycups
Configuration
To configure this module, you need to:
- Enable the “Printing / Print User” option under access rights to give users the ability to view the print menu.
The jobs will be sent to the printer with a name matching the print_report_name of the report (truncated at 80 characters). By default this will not be displayed by CUPS web interface or in Odoo. To see this information, you need to change the configuration of your CUPS server and set the JobPrivateValue directive to “none” (or some other list of values which does not include “job-name”) , and reload the server. See cupsd.conf(5) <https://www.cups.org/doc/man-cupsd.conf.html> for details.
Usage
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.
Changelog
12.0.1.0.0 (2018-02-04)
- [RELEASE] Port from V11.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Authors
- Agile Business Group & Domsense
- Pegueroles SCP
- NaN
- LasLabs
- Camptocamp
- Open for Small Business Ltd
Contributors
- Ferran Pegueroles <ferran@pegueroles.com>
- Albert Cervera i Areny <albert@nan-tic.com>
- Davide Corio <davide.corio@agilebg.com>
- Lorenzo Battistini <lorenzo.battistini@agilebg.com>
- Yannick Vaucher <yannick.vaucher@camptocamp.com>
- Lionel Sausin <ls@numerigraphe.com>
- Guewen Baconnier <guewen.baconnier@camptocamp.com>
- Dave Lasley <dave@laslabs.com>
- Sylvain Garancher <sylvain.garancher@syleam.fr>
- Jairo Llopis <jairo.llopis@tecnativa.com>
- Graeme Gellatly <graeme@o4sb.com>
- Akim Juillerat <akim.juillerat@camptocamp.com>
- Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
Maintainers
This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/report-print-send project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedGreat module !
I updated to V13 with
delete all the @api.multi in .py, and oldname in printing_action.py
add name in <tree string="Printers" name="printers"> in printing_printer.xml and delete colors style,
delete in same file and in printing_server.xml and in printing_printer_wizard_view.xml :
delete the fail function in qweb_action_manager.js
It's working fine and very useful.
Except the printer alarm function, I am wondering how to replace a fail function in v13 where odoo remove jquery deferred dependency.
Fails to deploy
Tried cloning and deploying directly from here and it fails with various errors. Module not found, etc... Unusable.
Traceback while deploying on odoo.sh
During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/odoo/src/odoo/odoo/modules/registry.py", line 86, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/home/odoo/src/odoo/odoo/modules/loading.py", line 386, in load_modules modules.button_install() File "", line 2, in button_install File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log return method(self, *args, **kwargs) File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 394, in button_install modules._state_update('to install', ['uninstalled']) File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 371, in _state_update self.check_external_dependencies(module.name, newstate) File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 344, in check_external_dependencies raise UserError(msg % (module_name, e.args[0])) odoo.exceptions.UserError: ('Unable to install module "base_report_to_printer" because an external dependency is not met: No module named cups', '') 2020-02-06 10:46:33,109 7 CRITICAL jdcdev-nshore-12-app-base-report-to-printer-0-860765 odoo.service.server: Failed to initialize database `jdcdev-nshore-12-app-base-report-to-printer-0-860765`. Traceback (most recent call last): File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 322, in _check_external_dependencies importlib.import_module(pydep) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 994, in _gcd_import File "", line 971, in _find_and_load File "", line 953, in _find_and_load_unlocked ModuleNotFoundError: No module named 'cups'
How can i configure a printer from the menu?
I installed on server the module, i can see the menu, when i hit update printers, nothing happens but the interface to create a printer opens up. I tried to create one printer, but how can i create a printer so i can print invoices using a windows client machine? The server has ubuntu. the odoo is v12 ce. thanks