Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
POS Product Multi Barcode — A build-to-order Odoo module that lets a single product carry many barcodes — supplier packs, leg — 1/1Vista previa ilustrativa

A build-to-order Odoo module that lets a single product carry many barcodes

— supplier packs, legacy SKUs, unit and case codes — all resolving to the same product across POS, Sales, and Inventory.

ECOSIRE builds, installs, and supports it after you request a quotation.

¿Qué es POS Product Multi Barcode?

A build-to-order Odoo module that lets a single product carry many barcodes — supplier packs, legacy SKUs, unit and case codes — all resolving to the same product across POS, Sales, and Inventory. ECOSIRE builds, installs, and supports it after you request a quotation. 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

Dedicated `product.barcode` one-to-many model on `product.template` / `product.product`, giving each item unlimited alternate codes
Database-level `unique` SQL constraint plus `@api.constrains` guard so one code can never resolve to two products
Stored compute that keeps the core Odoo `barcode` field synced to the designated primary code for reporting and e-commerce compatibility
POS scan resolution via override of `load_product_from_scan` / `_get_product_by_barcode` so any registered code adds the correct line at the till
OWL/JS overrides loaded through the POS assets bundle for instant, offline-capable scanning at the point of sale
Server-side `_name_search` extension so alternate barcodes are found when creating quotations, sales orders, and invoices
Stock barcode handler extension so pickers can confirm receipts, deliveries, and internal transfers by scanning any registered code
Per-barcode label and active flag, letting you retire a legacy code without deleting its history
Optional pack-quantity per code so scanning a case or inner-pack barcode adds the right quantity automatically
CSV import wizard (`TransientModel`) to bulk-load thousands of legacy or supplier codes with duplicate detection
`ir.model.access.csv` plus record rules restricting who can create or edit barcode lines by role
Alternate barcodes exposed over the XML-RPC / JSON-RPC API for external scanners, WMS, or middleware
Inherited product form view adding a clean 'Barcodes' tab, no core view surgery
Optional QWeb label report to print any selected barcode with product name and price

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

Odoo core ties each product variant to exactly one barcode field on product.product. In the real world a single item arrives with several codes: the manufacturer's EAN-13, an old internal SKU from your previous system, a distributor's own label, a case or inner-pack code, and sometimes a weighed-item prefix. When a cashier scans any code other than the one you happened to store, the POS throws "product not found", the picker can't confirm a stock move, and staff fall back to manual search — slowing every checkout and every receipt. Native Odoo has no supported place to record more than one code per product, and the barcode.rule / barcode.nomenclature machinery only governs how a scanned string is parsed (price-embedded, weight-embedded, aliases), not which product a plain code belongs to. That is exactly where Odoo runs out of road.

We build a dedicated product.barcode model (a one-to-many off product.template and product.product) so each product owns an unlimited list of alternate barcodes, each with its own optional label, pack quantity, and active flag. A database-level unique SQL constraint plus an @api.constrains guard prevents the same code from resolving to two different products, and a stored compute keeps the core barcode field in sync with the designated primary so nothing in stock reporting, invoicing, or e-commerce breaks. The heart of the work is the lookup layer: we extend the POS load_product_from_scan / _get_product_by_barcode path so the point-of-sale UI resolves any registered alternate to the right product.product and adds the correct line, and we extend server-side name/barcode search (_name_search and the Sales/Inventory barcode handlers) so the same codes work when creating a quotation, receiving a purchase, or picking a delivery.

Technically the module ships as a proper Odoo addon: a versioned __manifest__.py declaring dependencies on point_of_sale, sale_management, and stock; OWL/JS overrides loaded through the POS assets bundle so scanning is instant at the till; XML and inherited form views adding a "Barcodes" tab on the product form; and ir.model.access.csv plus record rules so only the right roles can add or edit codes. Optional extras we scope on request include pack-quantity handling (scanning a case code adds the case quantity), an import wizard to load thousands of legacy codes from CSV, exposure of alternate barcodes over the XML-RPC / JSON-RPC API for external scanners or middleware, and a QWeb label report to print any of a product's codes. It runs on Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise (the POS overrides differ slightly between Community and Enterprise POS, which we account for during scoping).

Because this is a build-to-order product, nothing ships the instant you pay. After you request a quotation we hold a short scoping call, confirm the exact Odoo version, edition, and which barcode sources you need, then build against your requirements and deliver on staging for UAT before go-live — typically one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company barcode isolation, high-volume legacy-code data migration, or extra integrations such as external scanner middleware and custom label reports increase the quoted scope. You receive a fixed quote after the scoping call, never a surprise invoice.

lo que obtienes

  • Installable source code for your commissioned version of the module, targeting your exact Odoo major version (17.0 / 18.0 / 19.0) and edition
  • Installation and configuration on your environment, including POS assets rebuild and access-rights setup
  • Technical documentation: model reference, override points, and upgrade notes for future Odoo migrations
  • End-user guide plus a live training session for cashiers, sales, and warehouse staff
  • Post-go-live support window for defect fixes and questions
  • UAT on a staging database with a documented rollback plan before any production change
  • Git repository handover with full commit history and tagged release
  • Optional legacy-barcode data migration and import mapping when in scope

¿Para quién es esto?

Retailers running Odoo POS

Shops and chains whose products arrive with a manufacturer EAN plus their own shelf-label SKU. They need any of those codes to ring up the same product instantly at the till without cashiers hunting by name.

Wholesale and distribution teams

Businesses that sell the same item as a unit, an inner pack, and a case — each with its own barcode. They need scans to resolve to the right product and, ideally, the right quantity across sales and inventory.

Companies migrating from a legacy system

Teams carrying thousands of old internal barcodes from a previous ERP or POS. They need those historical codes to keep working in Odoo so existing labels, shelves, and scan guns don't have to be reprinted overnight.

Odoo administrators and integrators

In-house Odoo admins or partners who want a clean, upgrade-safe addon with proper constraints, access rules, and API exposure rather than an unmaintained one-off patch to the core barcode field.

Cómo se compara POS Product Multi Barcode

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Multiple codes per productPurpose-built `product.barcode` model, unlimited codes with labelsPossible but you design and maintain the model yourselfUsually a fixed extra-barcodes list, limited labellingExactly one `barcode` field per variant
POS scan resolutionAll codes resolve to the right product line at the tillDepends on how well the POS override is writtenOften POS-only, may miss Sales or InventoryOnly the single stored code is recognised
Works across Sales and InventorySame codes work in quotations, receipts, and pickingsExtra effort to cover every moduleFrequently scoped to POS aloneNo alternate-code support anywhere
Duplicate protectionDB unique constraint plus `@api.constrains` guardOnly if you implement itVaries; not always enforced at DB levelN/A — single field
Fit to your Odoo version and editionBuilt for your exact 17/18/19 and Community or EnterpriseFully tailored but built from zeroGeneric build; edition quirks left to youShips as-is with the version
Support and ownershipSupport window, source code, and git repo handoverYou own everything and all maintenanceVendor support varies; upgrades not guaranteedCovered by your Odoo subscription, no custom logic
Cost and timelineFrom $999 indicative, fixed quote after scoping, one working weekTypically higher; open-ended developer timeLow sticker price, but integration gaps cost timeNo cost, but the need stays unmet
Optional extrasImport wizard, pack quantities, API exposure, label reportAnything, at additional build costRarely all in one moduleNone

Preguntas frecuentes sobre POS Product Multi Barcode

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

No. This is a build-to-order Odoo module. After you request a quotation we scope it to your Odoo version and edition, build it against your requirements, and deliver it installed and tested. You receive the full source code and git repository at handover.

How long does delivery take?

Typically one working week from confirmed scope. The timeline depends on your Odoo version, edition, how many barcode sources you need, and whether legacy data migration is involved. We agree the schedule with you on the scoping call before any work starts.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. After a short scoping call we send a fixed quote. Drivers such as multi-company isolation, high-volume legacy-code migration, pack-quantity logic, or extra integrations increase the quoted scope — but the number you approve is fixed, not an open-ended estimate.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes. Because you receive the source and git repo, you can maintain it yourself or engage us for upgrades. We can quote a migration when you move to a newer Odoo major version, since POS overrides change between releases.

Does it work with both Community and Enterprise?

Yes, on Odoo 17.0, 18.0, and 19.0. The POS override points differ slightly between Community and Enterprise POS, so we confirm your edition during scoping and build the appropriate variant. We do not present one build as universal across editions without checking.

Will adding multiple barcodes break my existing reports or e-commerce?

No. We keep the core `barcode` field synced to a designated primary code, so stock reporting, invoicing, and website product lookups that rely on the standard field keep working. The alternate codes are additive and enforced unique across products.

Can it handle case and pack barcodes with different quantities?

Yes, as an in-scope option. Each barcode line can carry a pack quantity, so scanning a case code can add the case quantity automatically at POS or on a stock move. We confirm this behaviour during scoping since it affects the POS and inventory logic.

Solicitar presupuesto

POS Product Multi Barcode

A build-to-order Odoo module that lets a single product carry many barcodes — supplier packs, legacy SKUs, unit and case codes — all resolving to the same product across POS, Sales, and Inventory. ECOSIRE builds, installs, and supports it after you request a quotation.

  • Dedicated `product.barcode` one-to-many model on `product.template` / `product.product`, giving each item unlimited alternate codes
  • Database-level `unique` SQL constraint plus `@api.constrains` guard so one code can never resolve to two products
  • Stored compute that keeps the core Odoo `barcode` field synced to the designated primary code for reporting and e-commerce compatibility
  • POS scan resolution via override of `load_product_from_scan` / `_get_product_by_barcode` so any registered code adds the correct line at the till

Solicitar presupuesto

Cuéntanos tus necesidades de POS Product Multi Barcode 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.