A build-to-order Odoo module that turns product identifiers into first-class, validated data: one central registry for GTIN/UPC/EAN/ISBN, ASIN and MPN, plus per-marketplace SKU/ID mapping so every channel's product-identifier rules are met before you list. 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 turns product identifiers into first-class, validated data: one central registry for GTIN/UPC/EAN/ISBN, ASIN and MPN, plus per-marketplace SKU/ID mapping so every channel's product-identifier rules are met before you list.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Marketplaces reject listings that don't carry a valid, unique product identifier. Amazon wants a GTIN or an approved GTIN-exemption; eBay, Google Shopping, Walmart and Noon each enforce their own GTIN/UPC/EAN rules; and the same physical product often needs a different SKU or channel-specific ID on every store. In stock Odoo, product.template/product.product give you a single barcode field and a default_code (internal reference) — one slot for one code. There is no place to hold a UPC and an EAN and an ASIN and an ISBN at once, no check-digit validation, no cross-product uniqueness guard, and no way to say "this SKU is what we list on eBay, that ASIN is what Amazon assigned." Catalog managers end up tracking all of this in spreadsheets, and a single transposed digit becomes a suppressed listing.
Dedicated `gs1.identifier` model storing GTIN-8/12/13/14, UPC-A, EAN-13, ISBN, ASIN and MPN as separate typed rows per product, not one overloaded `barcode` field
GS1/UPC/EAN/ISBN check-digit validation via `@api.constrains` (modulo-10) that rejects a malformed digit at save time
Cross-catalog uniqueness enforcement — SQL `unique` constraint plus a `@api.constrains` scan blocks the same GTIN attaching to two products
`marketplace.sku` model mapping each product to `(marketplace, sku, external_id)` tuples for Amazon ASIN, eBay item ID, Walmart, Noon and channel-specific SKUs
GTIN-exemption `Boolean` flag with a brand-registry / approval note field for products legitimately listed without a GTIN
Computed `@api.depends` fields that surface primary GTIN and channel-ready status on the product list view for at-a-glance QA
We build a dedicated identifier layer on top of your product catalog. The core is a gs1.identifier model (a models.Model linked by Many2one to product.product) that stores each identifier as its own typed row — GTIN-8/12/13/14, UPC-A, EAN-13, ISBN, ASIN, MPN and free-form channel IDs — with a type selection field and a value char. A @api.constrains hook runs GS1 check-digit validation (the modulo-10 algorithm) on GTIN/UPC/EAN/ISBN values and rejects a bad digit at save time, and a SQL unique constraint plus a @api.constrains uniqueness scan stops the same GTIN being attached to two different products. A second marketplace.sku model maps each product to a (marketplace, sku, external_id) tuple so Amazon ASINs, eBay item IDs and per-channel SKUs live in structured rows, not notes.
On top of the data model we build the working surfaces: a notebook page on the product form (XML/OWL views) listing all identifiers and marketplace mappings inline; a Boolean GTIN-exemption flag with a brand-registry note field for products legitimately sold without a GTIN; ir.model.access.csv rules plus record rules so catalog editors can maintain identifiers while read-only roles only view them; and bulk import/export via a mapped Odoo Import template and an optional QWeb/XLSX export for channel feeds. Because everything is real Odoo data, your existing integrations reach it over standard XML-RPC/JSON-RPC — an Amazon or Google feed job can read search_read on gs1.identifier and marketplace.sku with no scraping. The module targets Odoo 17.0, 18.0 and 19.0 and works on Community and Enterprise (identifiers are core-model extensions, so no Enterprise-only dependency).
This is build-to-order: ECOSIRE develops, installs and supports the module for your specific catalog and channel mix — it is not an existing apps.odoo.com download. We start with a short scoping call to confirm which identifier types and marketplaces you sell on, your uniqueness and exemption rules, and how your feeds consume the data. Typical delivery is 2-4 weeks from confirmed scope, delivered as installable source you own, validated on a staging database against your real catalog before go-live.
Owns listings across Amazon, eBay, Walmart, Noon and Google Shopping and is blocked when a product lacks a valid GTIN or the right per-channel SKU. Needs one place to hold every identifier, catch bad check digits before upload, and know instantly which SKUs aren't list-ready.
Runs the feed and integration jobs that push products to each channel. Needs identifiers as structured, queryable Odoo data reachable over XML-RPC/JSON-RPC so feeds pull a clean GTIN and channel ID instead of parsing a barcode field or a spreadsheet.
Sells own-brand or bundled products that are legitimately exempt from GTIN on some channels. Needs to flag exemptions, record brand-registry approval notes, and prove per-product why a listing carries no GTIN.
Accountable for catalog accuracy across systems. Needs uniqueness enforcement, a duplicate/conflict report, and role-based access so identifier changes are controlled and auditable, not free-typed into notes.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Barcode / GS1 & Marketplace Identifier Manager depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Barcode / GS1 & Marketplace Identifier Manager et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Identifier storage | Typed rows per product for GTIN/UPC/EAN/ISBN/ASIN/MPN | Whatever you spec and build in-house | Often a few extra fixed fields | |
| Check-digit validation | GS1 modulo-10 enforced via `@api.constrains` at save | Only if you write and test it | Rarely included or partial | |
| Cross-product uniqueness | SQL `unique` + constraint scan + conflict report | Must design and maintain yourself | Inconsistent, often absent | |
| Per-marketplace SKU/ID mapping | `marketplace.sku` model per channel (ASIN, item ID, SKU) | Buildable but from scratch | Usually tied to one integration | |
| GTIN exemptions | Flag + brand-registry approval note per product | Only if scoped in | Seldom supported | |
| Feed / API access | Structured data over XML-RPC/JSON-RPC, no scraping | Depends on your data model | Often locked to its own feed job | |
| Fit to your channels | Scoped to your exact marketplaces and rules | Fully bespoke but you own the effort | Generic, one-size-fits-all | |
| Delivery & ownership | 2-4 weeks, source + Git handover, support window | Your timeline, cost and maintenance burden | Instant install, vendor-controlled updates |
This is a build-to-order module, not an instant download. After a short scoping call to confirm your identifier types, marketplaces, uniqueness and exemption rules, we build and install it for your Odoo version. Typical delivery is 2-4 weeks from confirmed scope, validated on a staging database against your real catalog before go-live.
Yes. You receive the full installable module source and a Git repository handover, so you own it outright and your team or any Odoo developer can extend it. Nothing is locked or obfuscated.
Every build includes a post-go-live support window for defect fixes and questions. Because we hand over the source and target Odoo 17/18/19, updates and version upgrades can be scoped as follow-on work; we can also arrange an ongoing support/maintenance retainer if you prefer.
We build for Odoo 17.0, 18.0 or 19.0, whichever you run, on both Community and Enterprise. The identifier and marketplace-mapping models are core-model extensions, so there is no Enterprise-only dependency.
Yes. Identifiers and marketplace mappings are stored as real Odoo models, so any existing Amazon, Google Shopping or eBay feed job reads them over standard XML-RPC/JSON-RPC with `search_read`. No scraping and no separate database.
Each GTIN/UPC/EAN/ISBN is validated with the GS1 modulo-10 check-digit algorithm inside an `@api.constrains` hook, so a bad digit is rejected at save time. A SQL `unique` constraint plus a uniqueness scan stop the same GTIN being attached to two different products, and a conflict report surfaces any existing duplicates.
Each product can carry a GTIN-exemption flag with a brand-registry / approval note field, so you can list exempt products on channels that allow it and keep a per-product record of why no GTIN is present.
A build-to-order Odoo module that turns product identifiers into first-class, validated data: one central registry for GTIN/UPC/EAN/ISBN, ASIN and MPN, plus per-marketplace SKU/ID mapping so every channel's product-identifier rules are met before you list.