Backend de impresión QZ Tray
Este módulo añade soporte para imprimir informes de Odoo directamente desde la máquina del cliente utilizando QZ Tray como backend de impresión.
Permite enviar informes de forma segura a impresoras instaladas localmente sin depender de sistemas de impresión del lado del servidor como CUPS. En su lugar, la impresión se gestiona en el lado del cliente a través de QZ Tray, lo que permite el acceso directo a impresoras USB, de red o del sistema.
Este backend es especialmente útil en entornos donde se requiere impresión del lado del cliente, como configuraciones de Punto de Venta, sistemas de kiosco o despliegues en los que el servidor de Odoo no tiene acceso a las impresoras utilizadas por los usuarios finales.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Este módulo permite a Odoo enviar informes directamente a impresoras instaladas en el propio ordenador del usuario mediante QZ Tray, sin necesidad de un servidor de impresión. Añade una opción "QZTray" a las impresoras de impresión y gestiona la conexión segura y la impresión en el navegador.
Cuando se imprime un informe, Odoo ahora puede usar QZ Tray como método de impresión en lugar de un sistema del lado del servidor. Aparece una nueva opción de backend llamada "QZTray" en los registros de impresora de impresión, por lo que puede marcar una impresora como gestionada por QZ Tray.
- El informe se prepara en el navegador y se envía a una impresora en la máquina del usuario, lo cual es útil para el Punto de Venta, kioscos o cuando el servidor de Odoo no puede alcanzar las impresoras.
- El módulo añade un pequeño script a cada página que carga la librería QZ Tray, y registra un controlador de impresión para los informes.
- Proporciona dos direcciones web usadas para seguridad: una entrega el certificado de QZ Tray, y la otra firma mensajes con una clave privada. Ambas se almacenan en los ajustes del sistema de Odoo.
- Al imprimir, el sistema comprueba que la impresora elegida usa el backend QZTray. Si es así, genera el informe como PDF, se conecta a QZ Tray (opcionalmente a un host específico si el nombre de la impresora contiene una barra invertida), encuentra la impresora, envía el documento y muestra un mensaje de éxito. Si algo falla, muestra un mensaje de error y se desconecta.
El módulo extiende los modelos report action y printing printer, y añade una plantilla que carga la librería QZ Tray en el diseño web.
Depende de
Lo necesitan otros módulos
Modelos y campos (2)
- printing.printer · amplía un modelo existentebackend
- ir.actions.report · amplía un modelo existente
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 19.0
Confirmado el 2026-11-03 en la rama 19.0 de OCA/report-print-send.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Instalación
Fuente · Odoo 19.0Este módulo requiere que QZ Tray esté instalado y correctamente configurado en la máquina cliente, así como una configuración adicional en el servidor de Odoo para habilitar la comunicación segura.
Requisitos previos
- Instalar QZ Tray en el cliente
Descargue e instale QZ Tray en cada cliente que vaya a enviar trabajos de impresión:
https://qz.io/download/
Asegúrese de que QZ Tray esté en ejecución antes de intentar imprimir desde Odoo.
---
- Instalar pyOpenSSL en el servidor de Odoo
pyOpenSSL es necesario para firmar los mensajes enviados a QZ Tray. Esto evita advertencias de seguridad y permite una comunicación de confianza.
sudo pip3 install pyOpenSSLSi utiliza un entorno virtual, asegúrese de instalarlo dentro de ese entorno.
- Generar un certificado de firma
Genere un certificado autofirmado que será utilizado por Odoo para firmar los mensajes de QZ Tray.
Cuando se le solicite:
Common Name (e.g. server FQDN or YOUR name) []:Debe introducir su nombre de dominio de Odoo.
También puede utilizar un dominio comodín, por ejemplo:
*.my-odoo-domain.comGenere el certificado con:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 3650 -nodesEsto generará dos archivos:
cert.pem → certificado público
key.pem → clave privada
- Configurar el certificado en Odoo
Inicie sesión en Odoo con privilegios de administrador y habilite el modo desarrollador. A continuación, vaya a:
- Settings -> Technical -> Parameters -> System Parameters
Cree los siguientes parámetros:
| Key | Value | |----------------|---------------------------------| | qz.certificate | Contenido de cert.pem (texto completo) | | qz.key | Contenido de key.pem (texto completo) |
Asegúrese de copiar el contenido completo, incluyendo las líneas BEGIN y END.
- Instalar el certificado en QZ Tray (lado cliente)
En la máquina cliente:
- Abra el menú de QZ Tray.
- Vaya a Advanced → Site Manager.
- Arrastre y suelte el archivo cert.pem en el Site Manager.
- Asegúrese de que el certificado esté asociado con su dominio de Odoo.
Este paso autoriza a su servidor de Odoo a enviar trabajos de impresión firmados a QZ Tray.
Notas
- Cada máquina cliente debe tener QZ Tray instalado y en ejecución.
- El certificado debe coincidir con el dominio utilizado para acceder a Odoo.
- El mismo certificado puede utilizarse en todas las máquinas cliente.
- Este módulo está diseñado para ser independiente del backend y funciona junto con otros backends base_report_to_printer_*.
Configuración
Fuente · Odoo 19.0Este documento explica cómo configurar el módulo base_report_to_printer_qz antes de usarlo. Está dirigido a usuarios con privilegios de administración.
---
- Configurar una impresora usando el backend QZ Tray
El módulo se basa en impresoras configuradas en Odoo que usan el backend QZ Tray.
Crear o configurar una impresora
- Vaya a Settings → Technical → Printing → Printers.
- Haga clic en Create (o abra una impresora existente).
- Configure la impresora con los siguientes valores:
- Name: debe coincidir exactamente con el nombre de la impresora instalada en el sistema operativo del cliente y visible en QZ Tray.
- Backend: seleccione QZ Tray.
> Los trabajos de impresión se enviarán a la impresora instalada localmente cuyo nombre coincida > con el nombre de la impresora configurada en Odoo.
---
- Asignar la impresora (opcional pero recomendado)
Puede definir qué impresora se usa por defecto en distintos niveles.
Por usuario
- Vaya a Settings → Users & Companies → Users.
- Abra el usuario.
- Configure:
- Printing Action (por ejemplo, Send to Printer).
- Printing Printer (seleccione la impresora QZ Tray creada anteriormente).
- Guarde.
Por informe (opcional)
- Vaya a Settings → Technical → Reports.
- Abra el informe que desea imprimir automáticamente.
- Configure:
- Printing Action
- Printing Printer
- Guarde.
La configuración a nivel de usuario siempre tendrá prioridad sobre la configuración a nivel de informe.
---
- Requisitos del lado del cliente
Asegúrese de lo siguiente en cada máquina cliente:
- QZ Tray está instalado y en ejecución.
- El cliente confía en el certificado configurado en Odoo.
- La impresora está instalada localmente y su nombre coincide con el configurado en Odoo.
---
Una vez completados estos pasos, los informes configurados para enviarse a la impresora se imprimirán a través de QZ Tray sin más interacción del usuario.
Pautas de uso:
> - Para imprimir un informe en una impresora o bandeja específica, puede cambiar estos en Ajustes \> Impresión \> Informes para definir el comportamiento predeterminado. > - Para imprimir un informe en una impresora y/o bandeja específica para un usuario, puede cambiar estos en Ajustes \> Impresión \> Informes en Acciones específicas por usuario > - Los usuarios también pueden seleccionar una acción, impresora o bandeja predeterminada en sus preferencias.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.