Internal references for every product and every variant
Configure pattern-based rules once and every new product — and every variant it creates — gets a correct, unique Internal Reference automatically. Clean up an existing catalog with a bulk generator that previews every code before it touches a single record.
The problem
Odoo leaves the Internal Reference field blank by default, so operations and purchasing teams end up inventing SKUs by hand for every new product. Worse, when a template creates multiple variants, most auto-numbering tools give the parent a code and leave every variant unreferenced, forcing manual cleanup across catalogs with hundreds or thousands of SKUs.
The solution
Auto Generate Product Internal Reference builds each code from configurable pattern rules that combine static text, category, product name, variant attributes and a zero-padded sequence — resolved per category with priority and ancestry fallback. Every variant gets its own distinct, correct reference the moment it is created, existing catalogs can be cleaned up with a dry-run bulk wizard, and duplicate codes are blocked catalog-wide.
Everything a growing catalog needs
Every capability below is implemented in the module.
Pattern-Based Rule Builder
Combine static text, category name, product name, variant attributes and a zero-padded sequence, in any order, to build the exact code format your catalog needs.
Category & Global Rules with Priority
Assign a rule to a specific product category with a priority order, or fall back to a single global default rule for everything else.
Category Ancestry Resolution
A rule defined on a parent category automatically applies to every child category that has no rule of its own — configure once, cover a whole tree.
Correct Per-Variant References
Every variant, including every attribute combination, gets its own distinct, correctly generated Internal Reference — the gap most competing apps still leave open.
Live Example Code Preview
See exactly what a generated code will look like as soon as you change a rule's components, separator or letter case — before you save it.
Per-Product Override & Regenerate
Turn auto-generation off, force a specific rule, or regenerate a fresh code on demand directly from the product form.
Bulk Generation with Dry-Run Preview
Generate references for an entire catalog in one pass. Preview every proposed code first — no sequence number is consumed until you apply.
Conflict Detection
The bulk wizard flags any proposed code that would collide with another product before you ever commit a change.
Catalog-Wide Duplicate Prevention
A validation guard blocks saving two active products with the same Internal Reference, keeping every code in your catalog unique.
How it works
Define a Rule
Build a pattern from category, product name, attribute and sequence components, with a separator and letter-case option.
Assign It to a Category
Or leave it global. Category rules win over the default, with ancestry fallback for subcategories left unconfigured.
Create Products
As products and variants are created, their Internal Reference generates automatically from the resolved rule.
Clean Up Existing Catalogs
Preview and apply bulk generation for any product missing a reference, with conflicts flagged before you apply.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Yes. References are generated on the variant itself, so each attribute combination — color, size and so on — gets a distinct, correct code, not just the parent product.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Auto Generate Product Internal Reference
Pattern rules that build each Internal Reference from category, name, attributes and a padded sequence — resolved by category priority and ancestry, applied to every variant, with a dry-run bulk wizard for existing catalogs.
Buy on Odoo App Store