While NetSuite records/forms contain various data points, it is sometimes required to add additional customization according to client requirements. Most of the time, creating custom fields/sublists are sufficient. However, some requirements needs additional business logic to be added on top of the data entered. For these cases, we will show how to benefit from a Suitelet that will be used to enter data to the originating record.
There are various ways to trigger a pop-up window in NetSuite but we will use a User Event script that is adding a button and Client script that executes the button action. Suitelet will then show user the required fields for additional data entry and upon submitting, it will calculate data for the originating record and update the field on the record. User will have the option to continue editing the record before saving.
Our use case is calculating shipping costs for an item. Solution is developed for Inventory Item record where user can enter packaging dimensions and weight through Suitelet. Calculation will be done based on the dimensional weight and actual weight where the heavier number will be impacting the shipping cost of the item.
As the Suitelet is triggered from the Inventory Item record page, we can use window.opener property to access the parent page. Through this property, we can run client side code on the page that opened the Suitelet. You can find the source code of this solution is available on our GitHub page. Source code of the Suitelet can be modified to generate a form and business logic according to your requirements.
We would like to hear your opinion if you liked this solution or if you think there is a place for improvement. If you have any comments on this solution, please use the section below. For any other communication, please use the form on the Contact Us page.