Approval routing is an important component of NetSuite and is widely used by customers. One of the challenges of these complex approval routings is accounting for an absent or out of office approver. There is no native functionality to handle dealing with an approver who is out of the office, so a custom solution is required. The steps below are a simple solution to a simple problem that many users face with Out of Office Approval.
First, you create custom fields. You will need two custom fields that are List/Record and use the Employee list. These will serve as the reference for the out of office approver. This design has the Out of Office Approver as a field that is editable through the UI. The Current Out of Office Approver should be a disabled field. I will cover this function later. The other custom fields are just date fields. These will be used to reflect how long the employee will be out of the office.
Second, you will need to create two saved searches. They are simple and you only need to set the criteria. These will be used by the workflow, so formatting the results is not necessary.
Search 1 – The Out of Office – Set Fields is just looking for custom start date field from step 1 is on or after today.
Search 2 – Out of Office – Unset is referencing the custom end date field from step 1. It is looking for an end date before today, or an empty end date and a Current Out of Office Approver
Then, you need to create two scheduled workflows.
The first workflow runs every night and uses the Out of Office – Set Fields search as the condition. This will return any employee with an Out of Office – Start Date on or after today to be returned. The only Action for the search is to set the Current Out of Office Approver to be whichever employee is in the Out of Office Approver Field.
The second workflow uses the Out of Office – Unset search as the condition and is scheduled just like the first workflow. The actions are to set the 2 date fields and the Current OOO Approver to be <NULL>.
Now that the fields, searches, and workflows are done, the next step is to incorporate the Current Out of Office Approver into approval workflows. When the Next Approver is set, you use an ‘OR’ expression condition to give access to the approval button to ‘Next Approver or Current Out of Office Approver’. Notice that the condition is using the Current Out of Office Approver and not the Out of Office Approver. This was designed to prevent the Out of Office Approver from always having the ability to approve. Since the second workflow is setting the Current Out of Office Approver to Null, the condition is pointing to a Null field and no additional employee can approve.
For more information on this topic or others related to NetSuite, contact RSM at erp@rsmus.com or by phone at 855.437.7202.
By: Matthew Balas