Skip to main content
Stock Product Labels for Odoo — A made-to-order Odoo module that prints custom product and barcode labels straight from stock — 1/1Illustrative preview

A made-to-order Odoo module that prints custom product and barcode labels straight from stock transfers,

receipts and warehouse operations.

ECOSIRE builds it to your label stock, symbology and workflow, then installs and supports it on Odoo 17/18/19.

What is Stock Product Labels for Odoo?

A made-to-order Odoo module that prints custom product and barcode labels straight from stock transfers, receipts and warehouse operations. ECOSIRE builds it to your label stock, symbology and workflow, then installs and supports it on Odoo 17/18/19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

QWeb label report rendering to label paper, thermal roll (e.g. 40x30/57x40), or A4 sheet layouts sized to your exact media dimensions and margins
Data-driven `label.template` model so layouts, field placement and label size are configurable records rather than hard-coded XML you cannot change later
Print actions fired directly from `stock.picking` (receipts, deliveries, internal transfers) and individual `stock.move` / move lines, not just the Products screen
Quantity-to-print resolved by a compute layer (`@api.depends`) from received/moved quantities, packaging, or per-lot/per-serial counts
Barcode rendering via Odoo's `barcode` widget in Code128, EAN-13, GS1-128, ITF-14, QR or DataMatrix, matched to your scanner fleet
Lot/serial-aware labels that pull `stock.lot` values including expiry, best-before and manufacturing dates for traceability-heavy warehouses
Optional automated action (`base.automation`) to auto-queue a label print on transfer validation or MO completion
Per-warehouse and per-operation-type template binding so each dock or line prints the correct format automatically
Batch/wave printing that consolidates labels across multiple pickings into a single print run
Multi-company and multi-warehouse isolation enforced through `ir.model.access.csv` plus record rules on the label models
Custom face fields: internal reference, sales/customer description, customer part number, price, net/gross weight, UoM and GS1 application identifiers
XML-RPC / JSON-RPC endpoints so external label kiosks, PLCs or thermal print servers can request and stream labels
Reprint-with-audit action to re-run a specific label without re-validating the underlying stock move
Configurable copies-per-unit rules (per unit, per package, per lot) with an operator override at print time

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Warehouse teams lose real time at the label printer. When a receipt lands, an internal transfer moves, or a manufacturing order finishes, someone still has to identify each product, figure out how many labels to run, drop in the right barcode, and reprint the ones that came out crooked or unscannable. Odoo core does print product barcode labels from the Products screen and offers basic label formats, but it stops well short of the shop floor: you cannot easily trigger the exact label you need from the stock.picking you are actually processing, the built-in layouts are fixed, and there is no clean way to bind a specific label template to a warehouse, an operation type, a customer, or a product category. Off-the-shelf apps.odoo.com modules narrow the gap but hard-code a template, a paper size, or a symbology that rarely matches the label roll and scanners you already own.

This is a build-to-order module. We design and build a stock.product.label capability around your operations: a QWeb-based label report (label paper, thermal roll, or A4 sheet), a configurable label.template model so layouts are data-driven rather than baked into code, and print actions that fire directly from stock transfers, receipts, delivery orders, internal moves, and manufacturing outputs. Technically it is a proper Odoo addon — a __manifest__.py declaring the report, models extending stock.picking / stock.move / product.product, a compute layer (@api.depends) that resolves quantity-to-print from move lines, lots/serials, or packaging, and QWeb templates that render the barcode via Odoo's barcode widget in your chosen symbology (Code128, EAN-13, GS1-128, QR, or a DataMatrix render where your scanners need it). Security is wired through ir.model.access.csv and, where you run multiple warehouses or companies, record rules so warehouse operators only see and print their own labels. Optional automated actions (base.automation) can queue a label print the moment a transfer is validated, and everything is reachable over the XML-RPC / JSON-RPC API for label kiosks or external print servers.

We build against your real constraints: the physical label dimensions and margins, how many labels per unit versus per lot versus per package, which fields belong on the face (internal reference, sales description, lot/serial, expiry, weight, price, customer part number), and whether print happens per line, per picking, or batched across a wave. Community and Enterprise are both supported — the module targets the standard stock and product models, so it runs on Community; where you are on Enterprise we integrate cleanly with the barcode app and Studio-added fields rather than fighting them. Built and validated for Odoo 17.0, 18.0 and 19.0, pinned to the version you actually run.

Build-to-order delivery works in the open: a short scoping call to confirm label formats, trigger points, symbology and volume, then a fixed written quote and timeline. Typical delivery is one working week from confirmed scope, and you receive the installable source, staging UAT with a rollback plan, and a support window after go-live. Pricing starts from $999 (indicative, single-company base scope); multi-warehouse and multi-company record-rule work, extra label templates and symbologies, thermal/print-server integration, and localization depth increase the quoted scope. You get a firm number before any build begins — never a surprise.

What you get

  • Installable Odoo module source code for your pinned version (17.0, 18.0 or 19.0), built to your label media and workflow
  • Installation and configuration on your environment, including label templates, symbology and trigger-point setup
  • Technical documentation: model/field reference, `__manifest__.py` notes, QWeb template guide and record-rule map
  • End-user guide plus a live training session for warehouse operators and admins
  • UAT on a staging database with a documented rollback plan before any production change
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release
  • Configuration export of label templates and print rules so the setup is reproducible across databases

Who this is for

Warehouse / Inventory Manager

Runs receipts, transfers and dispatch on Odoo and needs the right label to print from the transfer being processed, in the exact size and symbology their existing scanners and thermal printers expect.

Operations / Supply Chain Lead

Wants labelling standardized across multiple warehouses and operation types, with each dock automatically printing the correct format and full lot/expiry traceability on the label face.

Odoo Administrator / IT Manager

Owns the Odoo instance and wants a clean, upgrade-safe addon with proper access rules and API hooks rather than a brittle Studio hack, plus source code and a git handover they can maintain.

Manufacturing / Quality Lead

Needs finished-goods and lot/serial labels printed at MO completion with mandatory traceability fields, so every unit leaving the line carries a scannable, compliant barcode.

How Stock Product Labels for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Print from a stock transferPrint actions on receipts, transfers and move linesPossible but you build the trigger logic yourselfOften limited to product screen or a fixed picking typePrints from the Products screen, not the transfer you are on
Label layout flexibilityData-driven `label.template` records sized to your mediaWhatever you code, no reuse across projectsHard-coded template and paper sizeFixed built-in formats only
Barcode symbologyCode128, EAN-13, GS1-128, QR, DataMatrix as neededYou implement each symbology by handUsually one or two baked-in symbologiesStandard barcode widget, limited options
Lot / serial & expiry on labelPulls `stock.lot` fields including expiry and datesCustom compute logic requiredVaries, often not lot-awareNot surfaced on the standard label
Multi-company / multi-warehouse rulesEnforced via `ir.model.access.csv` + record rulesYou design and test the security layerRarely handled, single-company assumptionsNo dedicated label-level isolation
Automation & API triggersAutomated actions + XML-RPC/JSON-RPC print endpointsBuilt from scratch per integrationSeldom exposes API-driven printingNo automated label triggering
Ownership & maintainabilityFull source, git handover, docs, tagged releaseYou own it but carry all the build costVendor-locked, black-box updatesNo custom code to own
Support & version fitPinned to 17/18/19 with a post-go-live support windowSelf-supported unless separately contractedGeneric support, upgrade timing not guaranteedCovered by base Odoo support only

Frequently Asked Questions about Stock Product Labels

Is this an existing app I can download and install today?

No. This is a build-to-order module. We design and build it to your label media, symbology and warehouse workflow, then install and support it. It is a productized service, not an instant apps.odoo.com download, which is why it is scoped and quoted per customer rather than sold as shelf software.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call we send a fixed quote and timeline; once you approve, we build on a branch, validate on your staging database, run UAT with a rollback plan, then deploy to production.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. We hold a short scoping call to confirm label formats, trigger points, symbology and volume, then send a firm fixed quote before any build begins. Multi-warehouse/multi-company rules, extra templates and symbologies, print-server integration and localization increase the quoted scope.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because we hand over the git repository and source code, the module is yours to maintain, and we can quote a version migration (for example 18.0 to 19.0) as a separate scoped engagement when you upgrade.

Does it work on Odoo Community or only Enterprise?

Both. The module targets the standard `stock` and `product` models, so it runs on Community. On Enterprise we integrate cleanly with the barcode app and any Studio-added fields rather than conflicting with them. We build and validate against Odoo 17.0, 18.0 and 19.0, pinned to the version you run.

Can it print from a specific transfer instead of only the product screen?

Yes. That is the core of the build. Print actions fire from `stock.picking` and individual move lines, with the quantity-to-print computed from received or moved quantities, packaging, or per-lot/serial counts, so operators label exactly what they are processing.

Can external thermal printers or label kiosks trigger prints?

Yes. The module exposes its print actions over the XML-RPC / JSON-RPC API, so external kiosks, thermal print servers or line PLCs can request and stream labels. We scope any such integration explicitly since it affects the timeline and quote.

Request a quote

Stock Product Labels

A made-to-order Odoo module that prints custom product and barcode labels straight from stock transfers, receipts and warehouse operations. ECOSIRE builds it to your label stock, symbology and workflow, then installs and supports it on Odoo 17/18/19.

  • QWeb label report rendering to label paper, thermal roll (e.g. 40x30/57x40), or A4 sheet layouts sized to your exact media dimensions and margins
  • Data-driven `label.template` model so layouts, field placement and label size are configurable records rather than hard-coded XML you cannot change later
  • Print actions fired directly from `stock.picking` (receipts, deliveries, internal transfers) and individual `stock.move` / move lines, not just the Products screen
  • Quantity-to-print resolved by a compute layer (`@api.depends`) from received/moved quantities, packaging, or per-lot/per-serial counts

Request a Quotation

Tell us about your Stock Product Labels requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.