Workflows best practices

  1. Don’t start from scratch – NetSuite offers several out of the box workflows that can be used as a starting point. Consider installing one of the available SuiteApprovals SuiteApps that executes on the record you are working with. These can be installed just like any other NetSuite bundle. For example, if you want to install the out of the box NetSuite PO Approval Workflow, simply install bundle ID 239645. The broader SuiteApprovals SuiteApp is bundle 203059.
    Note – These bundles are NetSuite managed bundles. In other words, they are automatically updated by NetSuite, so you risk losing customization added to the out of the box workflow. Instead make a copy of the workflow and customize the copied version to mitigate this risk altogether. Unless you have a highly customized approval process it is recommended to start with the applicable SuiteApprovals workflow as a starting point, save a copy and customize to meet the business requirements.
  2. Workflow state names matter – Make the state names something meaningful that tell the user what exactly to expect when the workflow is executing in a given state, else risk causing confusion to NetSuite users and Admins once the workflow has been released. Generally updating IDs on workflow states, actions and transitions is overkill.
  3. End users like buttons – Where it makes sense, consider using the NetSuite workflow action “Add Button”. Not only does this help drive end user behavior, but also provides insight as to how the workflow functions vs say a “Set Field Value” action that executes after the user sets a field value. The more end users understand the system workflows the more they will be willing to adopt them, from a change management perspective.
    Note – Button actions can be very powerful, as they allow an end user the ability to record many changes simultaneously (almost) with a single click. Users must avoid double clicking a button as this can lead to inadvertent workflow conflicts that result in errors or unexpected behavior. Be sure to remind your end users not to accidentally double click on buttons.
  4. Change ID – Don’t forget to change the ID of your workflow to something more meaningful than “customworkflow123”. This will help with migrating workflows between NetSuite environments.
  5. Final state – Ensure your workflow has a final state. This allows a user to easily identify if the workflow has been fully executed on a record as well as set final field values that will not conflict with other actions after a button action is processed.
  6. Stop migrating manually – NetSuite workflows are one of the more challenging objects to migrate between environments. Many companies will manage workflow migrations manually given they will need to review every workflow state, action, field to ensure they are accurate. Doing so creates risk of human error. With any workflow, the slightest difference in a field value or context value can have a significant impact on the workflow outcome.

Leave a comment

Your email address will not be published. Required fields are marked *