Wil je dat elk nieuw product automatisch een opvolgend nummer krijgt in het veld Internal Reference (het productnummer)? Standaard laat Odoo dat veld leeg of vult een medewerker het handmatig in. Met een nummerreeks en een kleine automated action laat je Odoo het werk doen.
Je hebt hiervoor drie dingen nodig:
- Zet het veld Internal Reference op Read Only, zodat niemand het handmatig overschrijft.
- Maak een nummerreeks (sequence) aan met een eigen code en prefix.
- Maak een automated action met een Python-expressie die bij het aanmaken het eerstvolgende vrije nummer uit de reeks ophaalt.
De nummerreeks aanmaken
Ga naar de instellingen voor nummerreeksen (Settings, Technical, Sequences & Identifiers, Sequences) en maak een nieuwe reeks aan. Geef de reeks een duidelijke naam en een eigen reekscode - die code gebruik je straks in de automated action. Stel de prefix, de reeksgrootte (aantal cijfers) en de stap in.

In dit voorbeeld is de reekscode bm.product.numbers, met prefix BM- en een reeksgrootte van 4 cijfers. Het volgende nummer wordt dan bijvoorbeeld BM-0115.
De automated action koppelen
Maak vervolgens een automated action aan op het model Product. Zet de trigger op On Creation, zodat de actie afgaat zodra een nieuw product wordt aangemaakt. Kies als actie Update the Record en vul bij het veld Internal Reference een Python expression in die het volgende nummer uit de reeks ophaalt.

Gebruik deze expressie en vervang de reekscode door die van jouw eigen reeks:
record.env['ir.sequence'].next_by_code('tp.product.number')
Vanaf nu krijgt elk nieuw product automatisch het eerstvolgende vrije nummer in het veld Internal Reference.
Hulp nodig bij je Odoo-inrichting?
Wil je dit netjes ingericht hebben of loop je vast op een eigen nummerlogica? Plan een Odoo-scan of neem contact op - dan kijken we met je mee.