Best Practices for Workflow Initiation on Record Load
Avoid initiating complex business workflows on record load when you select the On View or Update option. This can occur with the Before Record Load or All trigger.
With this configuration, opening a record in view or edit mode can initiate the workflow. If users reopen the record before an earlier workflow instance persists, NetSuite can create another workflow instance.
For simple workflows that only change the user interface, such as hiding fields, adding buttons, or changing field display properties, this behavior usually has little impact.
For workflows that perform complex business processing, multiple instances can produce unintended results. The results depend on the workflow design.
Use one of the following alternatives when appropriate:
-
Trigger the workflow during record submission by using the Before Record Submit or After Record Submit trigger.
-
Trigger the workflow programmatically with SuiteScript after the record is created.
-
Use the Before Record Load trigger only to prepare the user interface, such as displaying a button. Start business processing only after an explicit user action.