A made-to-order Odoo module that prints custom barcode product labels directly from manufacturing orders. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17.0/18.0/19.0 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
App manifest
Built around your workflow
A made-to-order Odoo module that prints custom barcode product labels directly from manufacturing orders. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17.0/18.0/19.0 environment.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your Odoo.
You go live in about 2–4 weeks, with a post-launch support window.
On a busy shop floor, the label is the last mile of every manufacturing order. Operators finish an mrp.production, then leave Odoo to hand-key SKUs, lot numbers, and quantities into a separate label designer or a spreadsheet that feeds a thermal printer. Odoo core does ship a product-label print action, but it prints from product.template/product.product with a fixed set of QWeb layouts — it has no native awareness of the manufacturing order that just closed. It cannot pull the produced quantity, the assigned stock.lot (production lot/serial), the MO reference, the linked work order, or the finished-goods context onto the label. Teams end up with generic labels, transcription errors, and a printing step that lives outside the ERP the rest of the plant runs on.
We build a productized Odoo module that adds a "Print Labels" action directly on the manufacturing order. The module extends mrp.production with a server action — and, optionally, an automated action wired to the MO's "done" transition — that reads the finished product, the produced quantity, and the lot/serial context, then renders one label per unit (or one per pack, per your rule) through a dedicated QWeb report. Barcodes are generated with Odoo's built-in barcode reporting widget, so the same symbology your stock.picking operations already scan is what prints — Code128, EAN-13, or GS1-128/DataMatrix where your scanners require it. A configurable label.template model lets you set label size, printable fields, and layout per product category, so a raw-material tote label and a finished-goods retail label come off the same MO without operator guesswork.
Technically, the work is a clean, upgrade-safe module: a __manifest__.py declaring mrp and product as dependencies, ORM models with compute/@api.depends fields for the derived label data (barcode payload, human-readable batch string, print quantity), QWeb report templates and paperformat records sized for your label stock, XML/OWL view extensions to surface the action button and the per-template configuration, and access control via ir.model.access.csv plus record rules so only Manufacturing users can print and only within their allowed companies. Where you want unattended printing, we expose the same routine over the XML-RPC/JSON-RPC API so an external print controller or a station PC can trigger a batch reprint. It runs on Odoo Community and Enterprise; if you are on Enterprise we can also hand the label payload to the native report/printer proxy, and we note any Community-vs-Enterprise differences during scoping.
Because this is build-to-order, delivery follows a short, defined path: a scoping call to lock the label templates, symbologies, and print triggers; a fixed quote; a build on a staging branch matching your Odoo version (17.0, 18.0, or 19.0); UAT on your data with real MOs and your actual label printer; then production install and a support window. Typical delivery is 2–4 weeks from confirmed scope, depending on how many label variants and print triggers you need. Pricing starts from $249 (indicative, single-company base scope); multi-company printing rules, additional label templates per product category, GS1/DataMatrix compliance work, and physical printer/label-stock integration increase the quoted scope.
Runs `mrp.production` daily and needs finished-goods labels printed at MO close with correct lot, quantity, and barcode — without operators retyping data into a separate label tool.
Needs the barcode symbology on production labels to match what `stock.picking` scanners already read, so finished goods flow into inventory and shipping without relabeling.
Requires traceable batch and lot data on every label, with GS1 or DataMatrix encoding where regulations demand it, tied directly to the manufacturing order of record.
Wants an upgrade-safe module with clean access rules, company scoping, and an optional API trigger — installed on the right Odoo version with a git handover and rollback plan.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Prints from the manufacturing order | Native action on `mrp.production` with MO context | Possible, but you design and maintain it | Usually prints from the product, not the MO | |
| Lot / serial + produced quantity on label | Pulled automatically from `stock.lot` and the MO | Depends on your developer's implementation | Partial — often lot only, quantity manual | |
| Barcode symbology choice | Code128, EAN-13, GS1-128, DataMatrix per template | Whatever you build in | Fixed or limited set | |
| Configurability | `label.template` per product category, your fields | Fully open but you own the effort | Preset templates, limited fields | |
| Fit to your Odoo version/edition | Built and tested for your 17/18/19, Comm or Ent | Yours to target and test | Generic across versions, may need patching | |
| Access control & multi-company | `ir.model.access.csv` + record rules, company-scoped | You implement the security model | Basic, varies by vendor | |
| Support & ownership | Support window + git handover, you own the code | In-house or contractor dependency | Vendor-dependent, per-seat or subscription | |
| Time to production | 2–4 weeks from confirmed scope | Variable — hiring, spec, build, test | Fast install but rework to fit |
No. This is a build-to-order module. ECOSIRE scopes, builds, and installs it for your specific Odoo environment after a quotation — it is not an off-the-shelf apps.odoo.com download. That is deliberate: the label templates, barcode symbologies, and print triggers are tailored to your product data and printers rather than a generic one-size layout.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline depends on how many label templates and print triggers you need, whether GS1/DataMatrix compliance is in scope, and your Odoo version. We agree the date in writing after the scoping call.
Pricing starts from $249 (indicative, single-company base scope). After a short scoping call we send a fixed quote — no surprise charges. Drivers that increase scope include multi-company printing rules, extra label templates per product category, GS1/DataMatrix compliance work, and physical printer or label-stock integration.
Every build includes a post-go-live support window for defect fixes and layout adjustments. Because the module is upgrade-safe (declared dependencies in `__manifest__.py`, no core file patching), it carries forward across point releases. When you migrate to a newer major version (e.g. 18.0 → 19.0) we can quote a migration pass separately.
We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. We confirm your exact version and edition during scoping and note any Community-vs-Enterprise differences — for example, handing the label payload to the Enterprise report/printer proxy.
Yes. We can wire an automated action to the MO's "done" transition so labels print the moment production is marked complete. It is optional — many teams prefer a manual "Print Labels" button so operators control timing and quantity. Both can coexist.
Yes. We generate barcodes with Odoo's built-in barcode reporting widget and set the symbology per label template, so the codes on production labels match what your `stock.picking` and inventory scanners already read — no separate encoding scheme to maintain.
A made-to-order Odoo module that prints custom barcode product labels directly from manufacturing orders. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17.0/18.0/19.0 environment.