I want to be able to generate serial numbers for use in (for example) uniquely identifying list items. The serial numbers all need to be unique, and preferably monotonically increasing (0001, 0002, 0004 etc).

In SharePoint Standard I could create a database which I poll for a serial number, update it and then return the result. Another (better?) option is to create a Windows Service on the server which is polled as a Web Service and keeps track of and returns the required number. However, none of these solutions are possible in SharePoint Online.

I could set up a web service on a separate server, but I'd ideally want something that's self-contained. It is important that the serial numbers are unique even if there are concurrent requests to the number service.

Any ideas?

3 Answers 3


Every list comes with the ID column that does exactly this.

  • 2
    And to think I've been working with SharePoint for a year and didn't remember this feature... The ID column might be the right choice, although it is specific to each list and hence can't be used site-globally. Might use a calculated column based on ID. Thanks. Apr 25, 2012 at 12:56

If the ID column does not meet your needs...

Without knowing exactly what the requirements are for generating the numbers it is hard to give you concrete advice. But you could have a SharePoint list that has a column for the numbers that have been allocated, you would then select the highest number from the list and increment it by one. You would, of course, need to write some sort of logic to ensure that if there were two requests at the same time it did not submit the same value. So you would need the field to enforce unique values and your application that would give out the numbers would need to take that error condition into account. But if you are only uniquely identifying the list item, that is in fact what the ID column is for a theChrisKent pointed out.


If the items are Documents you could try the Document ID Service feature (see Site Collection Features)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.