Enforcing unique numbering

concept australia Updated Sep 10, 2026 1 min read c_EnforcingUniqueNumbering.md
Raw file servicenow.com

Although duplicate numbers are rare, numbering does not enforce uniqueness, by default.

To enforce uniqueness, you can:

  • Create a before business rule on insert only to check for duplicate values and replace duplicates with the next available number.

  • Enable a unique index on the table. For more information, see Create a table index.

    Note: While unique indexes ensure data integrity they also prevent any insert involving a duplicate number. This may cause unexpected errors during data entry.

Sample business rule

This sample script can be used as part of a before business rule on insert only to check for duplicate numbers and replace them with the next available number. The following script references a script created in Configure left padding of a system number in a table.

JavaScript
var curNum = current.number + ''; if(curNum) {   var recordClass = current.getRecordClassName();  var now_GR = new GlideRecord(recordClass);  now_GR.addQuery('number', curNum);  now_GR.setLimit(1);    now_GR.query();   if(now_GR.getRowCount() > 0) {    var newNum = getNextObjNumberPadded();    gs.addInfoMessage("The number " + current.number + " was already used by another " +     recordClass + ". The " + recordClass + " number has been changed to " + newNum);    current.number = newNum;  }}

Parent Topic:Record numbering

Related topics

Business rules

Search documentation
Search document titles and file paths on the australia branch