As standard, Odoo does not have “uniqueness” checks on many fields. This can be problematic, for example if there are
- multiple products with the same name (which one to choose?)
- multiple customers or vendors with the same name
Either they are different, in which case they should be given different names, or someone has entered the same data twice.
It is possible to set a field as being unique in the Model definition, but it’s also possible to use Automated Actions.
How to do it
If you are not familiar with Automated Actions, start here
Enable Developer Mode and navigate to Settings / Technical / (Automation) / Automated Actions:
Click on CREATE and enter the following:
Model: Product Template
Action To Do: Execute Python Code
Trigger Condition: On Creation & Update
Before Update Domain: Internal Reference is set
Apply on: Match all records
existing_product = env['product.template'].search([('id','!=',record.id),('default_code','=',record.default_code)])
raise Warning("You can't have the same Internal Reference Number in Odoo twice!")