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 $249.00 USD; request a quote for a scoped proposal.
ایپ مینی فیسٹ
آپ کے ورک فلو کے مطابق تیار کردہ
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.
خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔
ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔
ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔
آپ تقریباً 2–4 ہفتوں میں لائیو ہو جاتے ہیں، لانچ کے بعد معاونت کی مدت کے ساتھ۔
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 2 to 4 weeks from confirmed scope, followed by UAT sign-off, production install, and a support window. Pricing starts from $249 (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.
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.
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.
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.
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.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Delivery model | Built to order for your printers and workflows, installed and supported by us | You spec and build it in-house or via a freelancer | Generic off-the-shelf download, one-size-fits-all defaults | |
| Print output | Native ZPL streamed to the printer at its true dpi | Whatever you code — often another PDF path | Usually a fixed ZPL template with limited layout control | |
| Printer routing | Per product / operation / warehouse via `@api.depends` compute | Hand-wired logic you must design and maintain | Typically a single default printer or manual selection | |
| Barcodes | Native `^BC`/`^BQ` Code128, GS1-128, QR, DataMatrix | Depends on effort; easy to get scaling/quiet-zone wrong | Common symbologies, less flexibility on GS1 layouts | |
| Automation / external triggers | Server-callable + `XML-RPC`/`JSON-RPC` for WMS, scales, PLCs | Possible but you build every integration point | Rarely exposes a clean automated print API | |
| Security & multi-company | `ir.model.access.csv` + record rules, company-scoped printers | Only what you remember to implement | Basic access, multi-company support varies | |
| Odoo version support | 17.0 / 18.0 / 19.0, Community or Enterprise, upgrade-safe | Whatever you target and keep maintaining | Depends on vendor's version coverage and update cadence | |
| Ownership & support | Full git handover + defined support window | You own it and all future maintenance | Vendor-controlled updates, shared support queue |
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.
Typical delivery is 2 to 4 weeks 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.
Pricing starts from $249 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.
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.
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.
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.
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.
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.