Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) • Purchase (purchase) • Invoicing (account) |
Community Apps Dependencies | Show |
Lines of code | 3438 |
Technical Name |
qztray |
License | See License tab |
Website | https://www.ryanc.me/contact/#qztray |
Versions | 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) • Purchase (purchase) • Invoicing (account) |
Community Apps Dependencies | Show |
Lines of code | 3438 |
Technical Name |
qztray |
License | See License tab |
Website | https://www.ryanc.me/contact/#qztray |
Versions | 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 |
Label Printing via QZ Tray
Steamline your inventory management and sales with easy-to-use label printing

This module adds an easy-to-use interface to allow label & barcode printing from within Odoo. Setup is simple - install the QZ Tray app (available on Windows, Linux, and Mac), and you're good to go! Streamline your warehouses Purchase Order workflow by printing barcoded labels for your products at the receipt stage. Add custom data, such as product name, price, and variant - even custom Python code for more advanced labels.
The module was designed with extensibility in mind, and comes with several well-commented addon modules that add support for Product, Partner, and Warehouse/Location barcode printing. We're also more than happy to add functionality for your specific use-case.
Note: This is a third-part integration module, and is not endorsed directly by QZ Industries LLC.
Overview
Supercharge your warehouse operations with user-friendly label printing. Powerful label templating allows you to add product metadata to your labels - barcodes, attributes, pricing, etc.
Please visit the Features and Installation sections for more information
Highly-Customizable Label Templates
Dynamic placeholders. Insert data such as product names, barcodes, prices, etc |
|
Custom Python for more advanced placeholders - full ORM access! |
|
Several pre-defined placeholders - start printing instantly |

Easy-of-use Features


User-friendly print Wizard. Print labels in batches, or line-by-line |
|
Print labels directly from stock transfers - perfect for PO receipts |
|
Built-in security features. Allow/Deny access to printers per user |
Features
- Print labels for products, partners, or warehouse locations
- Several pre-defined templates for easy setup
- Support modules for each label type - avoids the need to install stock/sale modules where not required
- Simple but poweful wizards to streamline your workflow
- Perfect for Warehouse operations of any size
- Quickly prototype and test labels
- Improve your traceability and inventory accuracy with barcodes
- Extend label templates from the Odoo UI - no need to edit source files
- Print product labels from Stock Transfers or Purchase Orders
- Load from various fields - Quanity Done,




Installation Guide
- Place the module(s) files in your Odoo addons directory
- Ensure you copy all 4 module folders (qztray, qztray_product_labels, etc)
- Download QZ Tray from the qz.io/download/ page
- Install QZ Tray on the PC that the label printer is plugged in to
- (Optional) Purchase a license to avoid authentication errors
- (Optional) Add you Private Key and Certificate by visiting Settings -> Parameters -> System Parameters
- (Optional) Certificate should be added to qztray.certificate
- (Optional) Private Key should be added to qztray.default_private_key
- Configure a printer - Printer Name should be the printer name shown under your OS's printer device manager
- Configure some label templates. Several examples are provided for Products, Locations, and Partners.
- Start printing!
Help and Support
This module is hosted and maintained on BitBucket. If you have purchased the module and would like access to the source repository, bug tracker, and the latest updates, please email me with your BitBucket/Atlassian account details.
For assistance with setup & bugfixes, contact me via the link below.
Label Printing via QZ Tray
Supercharge your inventory operation with easy-to-use label printing.
Installation
This module depends on a desktop tray application called QZ Tray
. This application is responsible for performing the hardware communication, and acts as a bridge between Odoo and your Label Printer
. QZ Tray is free (though it is recommended that you purchase a license to suppress warnings), and available for Windows, Linux, and Mac OSX.
The Desktop App
QZ Tray should be installed on the PC that your Label Printer is physically connected to. For network printers, you may want to install this on your workstation PC.
- Visit qz.io/download and download the latest QZ Tray 2.0 release
- Run the install wizard
- You're all done!
Optionally, purchase a warning-supressing license:
- Visit qz.io/buynow and choose one of the licensing options
- Follow the certificate install guide on the QZ Tray website
- Keep your
private
andpublic
keys close - we'll use them later
The Odoo Module
The Odoo module depends on a Python module called python-cryptography
- simply follow the installation guide.
- Install
python-cryptography
via the guide above - Download the module
.zip
file from the Odoo App Store - Copy the entire contents of the zip file to your server
- There are several sub-modules, ensure these are copied too
- Restart your Odoo server
- Refresh the module list
- Remove the
Apps
filter - Search for a module called
qztray_base
(make sure this matches exactly)
Note: This module will auto-install its supporting sub-modules depending on your setup. For example, if you have the Odoo Inventory Management
module installed, QZ Tray will auto-install the qztray_product_labels
module. Please do not install the sub-modules yourself.
Permissions
The module has a built-in roles system to prevent unauthorized users from editing/deleting your label templates, printers, or keypairs. Permissions are broken down into 3 distinct groups:
Label Printers - are able to print labels, but cannot edit printers, templates, or keypairs.
Label Designers - inherits from Label Printers, but are allowed to edit printers and templates (but not keypairs)
Settings (Keypairs) - have full access to all printers, templates, and keypairs. be careful with this role, as leaking a keypair can be a security threat.
To set permissions, simply visit Settings -> Users -> Your User
, then under the Applications
heading you will find the QZ Tray
group.
Setup
The module is split into several distinct models:
- Printers
- Label Templates
- Key Pairs
1. Printers
A Printer
represents a physical printer. Before continuing, please ensure the QZ Tray desktop app is installed, and that the label printer is plugged into the same PC.
- Visit
Settings -> QZ Tray -> Printers
- Create a new printer
- Enter a descriptive name
- Choose a keypair at the bottom
- Click
List Printers
, thenSearch
- You may need to click
Allow
on the prompts Select
your printer (normally something like ZDesigner ABC1200)Save
the document
All done! Assuming your printer showed up in the list correctly, you should be ready to start printing labels.
2. Label Templates
Label Templates contain the actual ZPL and Python code for your labels. The are several pre-defined templates, which can be found at Settings -> QZ Tray -> Label Templates
.
Some useful resources:
- The Labelary ZPL Viewer
- The ZPL Manual (heavy reading)
3. Key Pairs
The QZ Tray Desktop App uses public-key cryptography to secure API communications. Basically, anyone with access can send requests to the App, but these requests will cause a popup to show on the PC, asking if you would like to Allow or Deny the request. You may have seen this when setting up your first printer.
- The app comes with a default, non-signed certificate. This means that you will need to click Allow for each print job by default.
- Alternatively, you can purchase a signed certificate from QZ Industries LLC. These signed certificates will allow you to enable 'silent printing', and you will not need to click Allow at all.
- It is also possible to generate your own root certificate, and use that to self-sign your own keypair. This is an advanced feature and not recommended.
Please contact me if you have any questions regarding the keypair system.
Usage
Coming soon!
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