Customizing Lot Numbers in NetSuite


One of our US-based clients who is a leader in the organic dry fruit industry wanted a custom “ Purchase Order receive page” in NetSuite. 

A custom receive page provides the user with more authority over their business processes. This case study details how our developers confronted the issue and offered a tailored solution for the client.


Standard NetSuite provides a default PO receive page where the user has to manually update the lot numbers leading to duplication of numbers or other errors. To avoid this, our client wanted a custom page that will allow them to receive the purchase orders with auto-generated lot numbers. 

Jobin & Jismi worked closely with the client to figure out the most viable solution. Our developers created a custom page that enabled users to select purchase orders that are to be received with auto-generated lot numbers attached to it for the entire quantity. 

Additional Requirement

Our client also asked for certain parameters to be included in the lot number naming convention while implementing the project. The client wanted a custom format for their lot number to ensure there were no duplicates in the inventory.

The client asked for the following parameters to be set up in the lot number

• The eight-digit lot number is a concatenation of – Julian date (5 digits) and an alphanumeric (3 digits).

• The 3 digit number should be sequential in nature, meaning every item that is received next in the same day should have a lot of Julian date + 3 digit number.

For e.g – 15025A01 for the first item in a day and 15025A02 for the next item and so on till the end of the day.

The challenge posed here was that the client wanted the alphanumeric to be reset the next day, meaning it goes back to Julian date + A01 rather than continuing on the last day’s lot number.


The primary requirement of the client was to add a custom page that allows them to receive the purchase orders with auto-generated lot numbers. 

As a solution for this our developers first created a suitelet form that displayed all the Purchase Orders to be received and then provided a link on the transaction menu that redirects to the “ Custom Receive Orders Page”. 

Secondly, they added a checkbox in the custom page that lets the user select the Purchase Orders to be received. Now, when a user submits the chosen orders on button click – the item receipts of all the received orders are generated in the background along with the unique lot number. 

Further the end-user lands on the results page that reveals the list of item receipts created with a link to the corresponding record. 

In order to address the additional requirements – i.e, resetting the alphanumeric back to A01 the next day, our developers stored the recently / last created “lot number” in a custom record. 

This ensures that the uniqueness of the lot number is preserved and not continued from the former day. 

Consider the following example to get a grip on the concept.

Assume the purchase orders received on a particular day starts with Julian date + A01 and follows the sequential order and went on till B55 for that day. 

Since our client wanted to reset the alphanumeric back to A01 the next day, our developers proposed a solution through a custom record – that stores the value of the last record ( B55). Next, they used a schedule script to reset this last record to A01 the next day. 

This ensures that the purchase orders received the next particular day will begin with Julian date ( of that day) + A01 as required by the client. 


The client was satisfied with the custom page and the generation of unique lot numbers. Our developers also made a provision where multiple purchase orders can be received to generate item receipts.