Enforcing unique numbering
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.
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
---
title: Enforcing unique numbering
description: Although duplicate numbers are rare, numbering does not enforce uniqueness, by default.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/platform-administration/c\_EnforcingUniqueNumbering.html
release: australia
topic_type: concept
last_updated: "2026-09-10"
reading_time_minutes: 1
breadcrumb: [Record numbering, Customize, Field administration, Forms, fields, and lists, Configure core features, Administer the ServiceNow AI Platform]
---
# Enforcing unique numbering
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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/table-administration-and-data-management/t_CreateCustomIndex.md).
**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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/t_RenumberingRecords.md).
```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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/c_ManagingRecordNumbering.md)
**Related topics**
[Business rules](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/c_BusinessRules.md)
| title | Enforcing unique numbering |
| description | Although duplicate numbers are rare, numbering does not enforce uniqueness, by default. |
| locale | en-US |
| canonical_url | https://www.servicenow.com/docs/r/australia/platform-administration/c\_EnforcingUniqueNumbering.html |
| release | australia |
| topic_type | concept |
| last_updated | 2026-09-10 |
| reading_time_minutes | 1 |
| breadcrumb | Record numberingCustomizeField administrationFormsfieldsand listsConfigure core featuresAdminister the ServiceNow AI Platform |