A build-to-order Odoo module that lets you design custom label templates and bulk-print product, shelf-edge, and weighed-item barcode labels straight from your product list or PO receipts. Built, installed, and supported by ECOSIRE for Odoo 17, 18, and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that lets you design custom label templates and bulk-print product, shelf-edge, and weighed-item barcode labels straight from your product list or PO receipts. Built, installed, and supported by ECOSIRE for Odoo 17, 18, and 19.
现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。
Retailers and grocers live or die by their labels. Odoo core ships a basic "Print Labels" action on product.template that pushes a fixed 2x7 or 4x7 QWeb sheet of name-price-barcode tags, but it runs out of road fast: you cannot brand the layout, you cannot add a shelf-edge or price-tag format, you cannot generate EAN-13 embedded-price barcodes for weighed items, and there is no clean way to fire a batch of the right labels straight off an incoming purchase receipt. Teams end up exporting to spreadsheets, wrestling with third-party label software, or reprinting the whole product list just to relabel one shelf — every one of those is a place where prices drift out of sync with the POS.
Reusable `label.template` model storing element positions, visible fields, fonts, and physical media size, rendered through parameterized QWeb reports
Custom label designs combining price, barcode, product name, `default_code`/internal reference, UoM, and currency symbol
Server-side barcode generation for Code128, EAN-13, and EAN-8 with correct check-digit computation
EAN-13 embedded-price barcodes for weighed items (`2`-prefix + PLU + weight/price payload) that scan correctly at the register
Bulk 'Print Labels' server action wired into the `product.template`/`product.product` list view for multi-select runs
Print-from-receipt: generate exactly the received quantities off a `stock.picking` incoming PO in a single pass
POS Barcode & Label Printing Studio is a module we build to close that gap on your catalog and your hardware. At its core is a label.template model (models.Model) that stores reusable layouts — element positions, fonts, which fields to show (list_price, barcode, name, default_code, UoM, currency), and the physical media size — rendered through parameterized QWeb reports so the same template drives a 40x30mm price tag, a 100x50mm shelf-edge strip, or an A4 sheet of die-cut labels. Barcodes are generated server-side (Code128, EAN-13, EAN-8) with proper check-digit computation, and for weighed goods we implement the EAN-13 embedded-price convention (2 prefix + PLU + weight/price payload + check digit) so a scale-printed sticker scans correctly at the register. A compute layer (@api.depends on price and currency) keeps the printed price bound to the same field the POS reads, so a label can never quietly show a stale figure.
Operationally, the module adds a "Print Labels" server action wired into the product.template/product.product list view and, on request, onto the stock.picking receipt flow — select an incoming PO's move lines and print exactly the received quantities in one pass, no manual counting. A wizard lets the operator pick the template, quantity-per-product (or "one per unit received"), and the target printer size before rendering. We support multiple label printers and media sizes by mapping each label.template to a paper format and, where you use dedicated thermal units (Zebra/TSC/Brother), routing through your print server or ESC/POS/ZPL path rather than the browser dialog. Access is locked down with ir.model.access.csv plus record rules so only authorized roles can edit templates or trigger bulk runs, and an optional automated action can queue a relabel batch whenever a price changes. Everything is reachable over Odoo's XML-RPC/JSON-RPC API too, so an external scale, WMS, or scheduled job can request labels programmatically.
Because this is build-to-order, nothing is pre-listed on apps.odoo.com — we scope it to your exact label stock, printer models, barcode conventions, and Odoo edition first. After a short scoping call we confirm the template set, the media sizes, and whether you need the PO-receipt and price-change triggers, then build against your target version (17.0, 18.0, or 19.0) on a staging database. Typical delivery is 2 to 4 weeks from confirmed scope. You get the installable source, a UAT pass on staging with a rollback plan, install and configuration on your environment, documentation, a training session, and a post-go-live support window — all delivered and maintained by ECOSIRE. Community and Enterprise are both supported; we flag anything that depends on Enterprise-only stock or barcode features during scoping so there are no surprises.
Need EAN-13 embedded-price labels for weighed produce and deli items, plus fast shelf-edge relabeling when prices change — all bound to the same POS price field so scans and receipts never disagree.
Label hundreds of products per receiving cycle and want to print exactly the received quantities straight off the PO instead of exporting to spreadsheets or reprinting the whole catalog.
Want branded, consistent price tags and shelf labels across locations, role-locked template editing, and an audit-safe relabel trigger tied to price updates.
Need a maintainable module with clean ORM code, `ir.model.access.csv` security, QWeb reports, and an XML-RPC/JSON-RPC path so scales or a WMS can request labels programmatically.
在 ecosire.com 上购买许可证并从您的帐户仪表板下载 POS Barcode & Label Printing Studio 模块 ZIP。
将 ZIP 解压到服务器上的 Odoo 自定义插件文件夹中(或通过“应用程序”>“从 Odoo.sh / runbot 上的文件安装”上传)。
激活开发者模式,打开应用程序,单击更新应用程序列表,搜索 POS Barcode & Label Printing Studio,然后按安装。
打开新菜单,粘贴您的 ECOSIRE 许可证密钥,连接任何外部凭据(Shopify、Amazon、Stripe 等),然后保存。
运行内置连接测试,同步前 10 条记录,并安排定期 cron。如果出现任何问题,请联系支持人员。
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| Custom label layouts | Reusable `label.template` layouts (price tag, shelf-edge, A4 sheet) via QWeb | Possible, but you design and maintain the QWeb from scratch | A few fixed templates, limited restyling | |
| Weighed-item EAN-13 embedded price | Built to the `2`-prefix PLU/weight convention with check digit | Feasible if your dev knows the encoding rules | Rarely covered or sold as an add-on | |
| Print from PO receipt | Print exact received quantities off `stock.picking` in one pass | Extra scope on top of base labeling | Usually product-list only | |
| Price accuracy | `@api.depends` binds label price to the POS price field | Depends on how carefully it's wired | Reads price but no update trigger | |
| Printer & media support | Multiple sizes; ZPL/ESC-POS routing for thermal units | Whatever you budget to build | Often browser-dialog only | |
| Security & access control | `ir.model.access.csv` + record rules on templates and bulk runs | Must be designed and reviewed by you | Basic or generic access | |
| API / automation | XML-RPC/JSON-RPC endpoints + optional price-change trigger | Build the endpoints yourself | Rarely exposed | |
| Support & handover | Install, training, support window, git repo handover | Tied to your internal team's availability | Ticket-based vendor support only |
Because this is a build-to-order module, we start from a short scoping call to confirm your label stock, printers, barcode conventions, and Odoo edition. Typical delivery is 2 to 4 weeks from confirmed scope, including a UAT pass on staging before we touch production.
No. ECOSIRE builds, installs, and supports this module specifically for your catalog and hardware. There is no instant download — you receive the installable source, configured on your environment, after we build against your target version.
Every engagement includes a post-go-live support window for fixes and questions, plus a full git repository handover so your team owns the code. We can also quote ongoing maintenance or a version migration (for example 17.0 to 19.0) as a separate scope when you upgrade Odoo.
Yes — we map each label template to a physical media size and, for dedicated thermal units like Zebra, TSC, or Brother, route through your print server or a ZPL/ESC-POS path rather than the browser print dialog. We confirm your exact printer models during scoping.
Yes. We implement the EAN-13 embedded-price convention (a `2` prefix, PLU code, and weight/price payload with a computed check digit) so scale-printed or shelf labels scan correctly and ring up the right amount at the POS.
Yes, and on Odoo 17.0, 18.0, and 19.0. The core barcode, QWeb, and printing logic runs on Community. If any part of your workflow depends on Enterprise-only stock or barcode features, we flag it during scoping so there are no surprises.
Yes. Label requests are exposed over Odoo's XML-RPC/JSON-RPC API, so an integrated scale, WMS, or a scheduled automated action can request a batch of labels programmatically without anyone opening the Odoo UI.
A build-to-order Odoo module that lets you design custom label templates and bulk-print product, shelf-edge, and weighed-item barcode labels straight from your product list or PO receipts. Built, installed, and supported by ECOSIRE for Odoo 17, 18, and 19.