For this post, I would like to elaborate on a limitation that I recently uncovered with NetSuite’s Workflow tool. Specifically, I will be speaking about missing functionality regarding the Subscribe to Record function working in conjunction with the Set Field Value action.
To give a brief overview of how this issue was uncovered, I am going to briefly explain the scenario and relevant records. This exact use case is applicable to any industry in which an entity is contractually bound to provide services to another under a predetermined scope of work.
However, the defined scope of work may be bound to change during the life of the contract which means that a scope change is required. There are several ways that scope changes are handled depending on the company or industry in question, but for the purposes of this explanation the process is as follows: An employee of the services provider submits a Scope Change Request to management for approval –> management approves the request and creates a Sales Opportunity –> any necessary edits are made to the Opportunity and it is converted to a Quote à the Quote is sent to the customer for approval –> If approved, the Quote is converted to a Sales Order.
To build this process within NetSuite, I leveraged the native Opportunity, Quote, and Sales Order records in NetSuite and also built a custom record called ‘Scope Change Request’. This is a form that stores the details of the requested scope change and goes through the approval process outlined above. Upon management approval, a button is present to the users with adequate permissions to ‘Create Opportunity’. This all was achieved using SuiteFlow with the Create Record action. The Scope Change Request form has its own status field with the following values: Being Prepared, Submitted for Manager Approval, Quote Created, Scope Change Accepted (Sales Order Created).
Now that the overall process has been detailed, I would like to discuss how the limitation was uncovered. My goal was to update the status field of the Scope Change Request record based on the status of its associated Opportunity. To do so, I created a Workflow Field called ‘Associated Opportunity’ that stored the Opportunity Record that was generated with the Create Record action mentioned above. I also used the Subscribe to Record Action with this Workflow field (see below):
The idea behind this was to subscribe to the associated opportunity and then create a conditional transition to the next state which would set the status of the Scope Change Request record to ‘Quote Created’. The condition of this transition would be when the Opportunity (subscribed to record) has a status change to ‘Issued Quote’. This transition would lead to a new state with the Set Field Value Action to set the status of the Scope Change Request record to ‘Quote Created’ with a Before Record Load trigger.
When testing this and viewing the workflow history and log, I noticed that the transition was functioning properly, but the Scope Change Status field was not updating. After much investigation and speaking with NetSuite support resources, it was determined that this is a limitation of the Subscribe to Record action. You cannot set field values for an existing record based on changes to a subscribed to record.
In order to get around this issue, I had to create a scheduled transition defined by saved search criteria. I created a saved search on my custom record called ‘Scope Changes with Issued Quotes’ which had the following criteria:
The parameters of the scheduled transition can be seen below as well:
This was the most feasible alternative to my initial plan before discovering the limitation. The saved search just looks at all Scope Change Requests that have an associated Opportunity with an ‘Issued Quote’ status. If it matches this criteria, it will be included in the transition to the next state that runs every hour and ultimately sets the Scope Change Status field to ‘Quote Created’. This was fortunate because the volume of these records is not very high and running this transition every hour does not have much of a downstream impact. However, if your business intends on using this for a similar situations but have a higher volume of records and speed is more crucial, other solutions should be pursued.
Optimize NetSuite and Business Processes With the Experts at MIBAR
As a leading NetSuite partner, we provide superior knowledge of NetSuite’s features and functionality, in order for your company to configure the application to your specific requirements. Through our expertise over the years, we’ve established a genuine methodology to help improve business processes and workflow in all areas of your operations to ensure NetSuite is meeting the business expectations it was intended for. Schedule a free consultation to learn more.