POS Printing QZ

pos_printing_qztray
REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/19.0/pos_printing_qztray
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), APSL Nagarro
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), APSL Nagarro
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Miquel Alzanillas
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-09 13:53:38
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/report-print-send:
    - base_report_to_printer_qztray
    - base_report_to_printer
odoo/odoo:
    - point_of_sale
    - resource
    - base
    - web
    - stock_account
    - stock
    - product
    - mail
    - base_setup
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - http_routing
    - auth_signup
    - account
    - onboarding
    - analytic
    - phone_validation
    - partner_autocomplete
    - iap_mail
    - iap
    - iot_base
    - google_address_autocomplete
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-escpos
pyOpenSSL
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides a pure-software alternative to the Odoo IoT Box for
thermal receipt printing in the Point of Sale, using \[QZ
Tray\](<https://qz.io/>) as the print driver.

It extends base_report_to_printer_qz — which adds QZ Tray backend
support to printing.printer — and brings that functionality into the
POS, allowing users to select a printer with backend = qztray directly
from the POS configuration.

Key features:

- **Cash drawer support**: the cash drawer open command (ESC p) is sent
  automatically after each receipt print.
- **No IoT Box required**: designed as a software-only alternative for
  setups where deploying IoT infrastructure is not desirable.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_pos_config_form_qztray pos.config.form.qztray pos.config Inherits point_of_sale.pos_config_view_form
HTTP endpoints (2)
Route(s)HandlerAuthTypeMethodsFlags
/pos/escpos/render-image PosEscposController.render_any_report user jsonrpc ALL
/pos/escpos/receipt PosEscposController.render_template user jsonrpc ALL
Models touched (1)

New fields (2)
  • iface_qztray_printer_id Many2one → printing.printer
    comodel_name='printing.printer' domain=[('backend', '=', 'qztray')] help='Printer to use for POS receipts when QZ Tray mode is enabled.' string='QZ Tray Printer'
  • is_qztray Boolean
    default=False help='Use QZ Tray instead of IoT Box for printing POS receipts.' string='Enable QZ Tray Printing'
Public methods (0)

No public methods.