Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
Product Label & ZPL Report Direct Print — A build-to-order Odoo module that renders your product and warehouse labels as nati — 1/1Vista previa ilustrativa

A build-to-order Odoo module that renders your product and warehouse labels as native ZPL and streams them

straight to Zebra thermal printers — no PDF download, no manual re-print. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0/18.0/19.0.

¿Qué es Product Label & ZPL Report Direct Print?

A build-to-order Odoo module that renders your product and warehouse labels as native ZPL and streams them straight to Zebra thermal printers — no PDF download, no manual re-print. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0/18.0/19.0. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Native ZPL output rendered through a QWeb text report — the printer receives vector `^FO/^FD/^BC` commands, not a rasterized PDF, so text and barcodes stay sharp at 203 and 300 dpi
New `zpl.printer` model (`models.Model`) storing host/IP, port, dpi, darkness, print speed, media type, and default label dimensions per device
Direct transport to the printer: raw TCP to socket 9100, CUPS/IPP queue, or a local print agent for USB-attached Zebra units — selected to fit your network topology
`compute`/`@api.depends` routing that resolves the correct label template and target printer per product, operation type, and warehouse automatically
Native thermal barcodes via ZPL `^BC` (Code128 / GS1-128), `^BQ` (QR), and DataMatrix — no image generation, human-readable interpretation line included
'Print to Zebra' action added to product, stock move, transfer/picking, and lot/serial (`stock.lot`) views through OWL/XML
Server-callable print methods so labels can fire from Odoo automated actions (e.g. on receipt validation) and scheduled actions
External-trigger ready over `XML-RPC`/`JSON-RPC` — a WMS, weigh scale, or conveyor PLC can request a labelled print by product and quantity
ZPL templates stored as versioned QWeb views, editable in the UI without Python changes; supports label variables, conditional blocks, and per-language text
`ir.model.access.csv` plus record rules restricting printer and template management to warehouse/admin roles, with multi-company record scoping
Batch printing — one action emits N labels for a transfer's move lines or a quantity field, with configurable copies per unit
Per-print `print.log` audit records (user, printer, template, timestamp, payload size) for traceability and reprint
Graceful failure handling: unreachable printers queue the job and surface an error rather than silently dropping the label
Configurable label calibration parameters (`^LH` home, `^PW` width, `^LL` length, darkness `~SD`) so output matches your exact die-cut stock
Delivered against Odoo 17.0, 18.0, and 19.0, Community or Enterprise, as a clean upgrade-safe addon with a declared `__manifest__.py`

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Warehouse and shop-floor teams lose real minutes on every label. Odoo's stock and product labels ship as QWeb/PDF reports: an operator clicks Print, the browser downloads a PDF, they open it, choose the right printer, fight the scaling dialog, and only then does a label emerge — often shifted a few millimetres off the die-cut because a raster PDF was rasterized again by the printer driver. At scale — hundreds of putaway, pick, pack, or GS1 shipping labels a day — that click-download-open-print loop is both slow and error-prone, and it leaves label quality at the mercy of whatever driver is installed on each workstation. Odoo core has no concept of speaking a thermal printer's native page-description language, so barcodes drift, text blurs at 203/300 dpi, and there is no clean way to fire a label from an automated action or an external system.

Product Label & ZPL Report Direct Print is the module we build to close that gap. Instead of a PDF report, we author your labels as native ZPL (Zebra Programming Language) templates rendered through a QWeb-driven text report, so the printer receives crisp vector text, native ^BC/^BQ barcodes (Code128, GS1-128, QR, DataMatrix), and pixel-exact positioning at the printer's true dpi. The module adds a zpl.printer model (models.Model with fields for host, port, dpi, darkness, and default label size), plus a print-transport layer that sends the generated ZPL directly to the device — raw TCP to the printer's 9100 socket, a CUPS/IPP queue, or a lightweight local print agent for USB-attached units — chosen during scoping to match your network. A compute/@api.depends layer resolves the correct template and printer per product, per operation type, and per warehouse, so a pick label and a shipping label route to the right device automatically.

Technically it is a clean, upgrade-safe addon: a proper __manifest__.py declaring dependencies on stock/product, ZPL templates stored as versioned QWeb views you can edit without touching Python, ir.model.access.csv plus record rules so only warehouse roles manage printers and templates, and OWL/XML views that add a "Print to Zebra" action on products, stock moves, transfers, and lots/serials. Because printing is exposed as a server-callable method, we can wire it into Odoo automated actions (label on validation of a receipt), scheduled actions, or trigger it over the external XML-RPC/JSON-RPC API from a WMS, scale, or conveyor controller. It respects multi-company and multi-warehouse boundaries, logs every print for traceability, and degrades gracefully — if a printer is unreachable the job is queued and surfaced, never silently lost. It runs on Odoo Community and Enterprise alike; where Enterprise-only models are in play (e.g. certain barcode-app flows) we adapt the integration to your edition during scoping, and we deliver against Odoo 17.0, 18.0, or 19.0.

Because this is made to order, nothing is downloaded from an app store and installed blind. We start with a short scoping call, confirm your printer models, label stock, dpi, and the exact operations that need labels, then build and test against a staging copy of your database. Typical delivery is one working week from confirmed scope, followed by UAT sign-off, production install, and a support window. Pricing starts from $999 (indicative, single-company base scope); additional printer families, multi-company or multi-warehouse routing, GS1/regulatory label layouts, and integration with external systems over the RPC API increase the quoted scope. You receive a fixed quote after the scoping call.

lo que obtienes

  • Installable, commented source code for your Odoo version (17.0 / 18.0 / 19.0), delivered as a self-contained addon with a declared `__manifest__.py`
  • Production install and configuration on your server, including `zpl.printer` device records, network transport setup, and label calibration to your stock
  • Technical documentation: model/field reference, template variable guide, transport and security notes, and the RPC method signatures for external triggers
  • End-user guide plus a live training session for warehouse and admin staff covering printing, reprinting, and template edits
  • Post-go-live support window for bug fixes and configuration adjustments after production launch
  • UAT on a staging copy of your database with a documented rollback plan before any production change
  • Git repository handover with full commit history and tagged release
  • One or more ready-to-use ZPL label templates (product, pick, and/or shipping) built to your die-cut and dpi as agreed in scope

¿Para quién es esto?

Warehouse & Fulfilment Manager

Runs high-volume putaway, picking, and shipping in Odoo and needs labels to print in one click straight to the Zebra units on the floor — no PDF downloads, no per-workstation driver drift, and consistent barcode quality that scanners read first time.

Odoo Administrator / Internal IT

Owns the Odoo instance and wants a clean, upgrade-safe addon with proper access rules and multi-company scoping, plus a documented way to route different label types to different printers without customizing core stock reports.

Operations / Systems Integrator

Needs to fire labels automatically from receipt validation, a scale, or an external WMS. Values the server-callable print methods and `XML-RPC`/`JSON-RPC` entry points so labelling becomes part of the automated flow, not a manual step.

Compliance / Logistics Lead

Requires accurate GS1-128 shipping and lot/serial labels for traceability and carrier acceptance, and wants every print logged so a label can be audited and reprinted exactly.

Cómo se compara Product Label & ZPL Report Direct Print

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Delivery modelBuilt to order for your printers and workflows, installed and supported by usYou spec and build it in-house or via a freelancerGeneric off-the-shelf download, one-size-fits-all defaultsNothing to deliver — no thermal printing exists in core
Print outputNative ZPL streamed to the printer at its true dpiWhatever you code — often another PDF pathUsually a fixed ZPL template with limited layout controlQWeb/PDF, rasterized and re-scaled by the workstation driver
Printer routingPer product / operation / warehouse via `@api.depends` computeHand-wired logic you must design and maintainTypically a single default printer or manual selectionManual printer pick in the browser dialog each time
BarcodesNative `^BC`/`^BQ` Code128, GS1-128, QR, DataMatrixDepends on effort; easy to get scaling/quiet-zone wrongCommon symbologies, less flexibility on GS1 layoutsRendered as image in PDF, quality driver-dependent
Automation / external triggersServer-callable + `XML-RPC`/`JSON-RPC` for WMS, scales, PLCsPossible but you build every integration pointRarely exposes a clean automated print APINone — printing is a manual user action only
Security & multi-company`ir.model.access.csv` + record rules, company-scoped printersOnly what you remember to implementBasic access, multi-company support variesN/A — no printer model to secure
Odoo version support17.0 / 18.0 / 19.0, Community or Enterprise, upgrade-safeWhatever you target and keep maintainingDepends on vendor's version coverage and update cadenceShips with your version but offers no thermal path
Ownership & supportFull git handover + defined support windowYou own it and all future maintenanceVendor-controlled updates, shared support queueCovered by your Odoo support but feature absent

Preguntas frecuentes sobre Product Label & ZPL Report Direct Print

Is this an existing app I can download and install right now?

No. This is a build-to-order module. ECOSIRE scopes it to your printers, label stock, and Odoo workflows, then builds, tests, and installs it for you. It is not an instant apps.odoo.com download — the value is that it fits your exact devices and operations rather than a generic default.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After a short scoping call we build against a staging copy of your database, run UAT with you, then install to production and begin the support window. Complex multi-warehouse or external-integration scopes can extend the timeline, which we confirm before starting.

How does pricing and scoping work?

Pricing starts from $999 as an indicative from-price for a single-company base scope. The final number depends on how many printer families, whether multi-company/multi-warehouse routing is needed, GS1 or regulatory label layouts, and any external-system integration. You get a fixed, written quote after the scoping call — no surprises.

Which printers and Odoo versions are supported?

It targets Zebra printers using native ZPL, over raw TCP (socket 9100), CUPS/IPP, or a local agent for USB units — confirmed to your exact models during scoping. It is built for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise; edition-specific integration points are adapted during the build.

Why native ZPL instead of just printing the standard Odoo PDF label?

Odoo's labels are QWeb/PDF reports that get rasterized and re-scaled by each workstation's print driver, which shifts alignment and blurs barcodes on thermal media. Rendering native ZPL sends the printer vector text and native `^BC`/`^BQ` barcodes at its true dpi, so labels are pixel-exact, scanner-reliable, and print with one action — no download-open-print loop.

Can labels print automatically or be triggered from another system?

Yes. The print action is exposed as a server-callable method, so you can fire a label from an Odoo automated action (for example on receipt validation), from a scheduled action, or externally over the `XML-RPC`/`JSON-RPC` API from a WMS, scale, or conveyor controller. We wire the specific triggers you need during the build.

What happens to support and updates after go-live?

You get a post-go-live support window for fixes and configuration tweaks, plus the full git repository so you own the code. Because it is a clean, upgrade-safe addon, moving it to a newer Odoo version is straightforward; we can quote an upgrade or a longer support/maintenance arrangement separately when you need it.

Solicitar presupuesto

Product Label & ZPL Report Direct Print

A build-to-order Odoo module that renders your product and warehouse labels as native ZPL and streams them straight to Zebra thermal printers — no PDF download, no manual re-print. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0/18.0/19.0.

  • Native ZPL output rendered through a QWeb text report — the printer receives vector `^FO/^FD/^BC` commands, not a rasterized PDF, so text and barcodes stay sharp at 203 and 300 dpi
  • New `zpl.printer` model (`models.Model`) storing host/IP, port, dpi, darkness, print speed, media type, and default label dimensions per device
  • Direct transport to the printer: raw TCP to socket 9100, CUPS/IPP queue, or a local print agent for USB-attached Zebra units — selected to fit your network topology
  • `compute`/`@api.depends` routing that resolves the correct label template and target printer per product, operation type, and warehouse automatically

Solicitar presupuesto

Cuéntanos tus necesidades de Product Label & ZPL Report Direct Print y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.