NetSuite workflow and search functionality allows users to schedule automatic actions. This can be very beneficial during the last day of the month or quarter.

One of the most common use cases is sending emails or updating records, such as: 

  • Emailing internal Users reminder saved searches, such as transactions to approve, time entry to submit, or recently created credit memos for review 
  • Emailing external parties, such as sending customer invoices on the last day of the month 
  • Inactivating or changing the status of customers without activity in the past 12 months 

NetSuite workflow and search limitations

When scheduling an action for the last day of the month or quarter, users will run into a limitation when the recurrence day is later than the 28th of the month: 

NetSuite workflow and search limitation

NetSuite workflow and search work around 

A common work around is to simply use a different date, but that isn’t always desirable or even an option.

Maybe the emailing of certain search results can wait until the 1st of the month, but timesheet reminders or customer invoices need to be sent on the last day of the month. 

Luckily, there is a way to accomplish this in NetSuite by shifting the end-of-month scheduling logic from the search or email schedule to the search criteria. 

First, set the search or workflow schedule to process daily at the desired time.

If scheduling a search email, make sure to not select the option to send emails if there are no results. 

NetSuite workflow and search schedule 

The next step is to modify the search criteria of the search that is being emailed or is triggering the workflow to only show results when the search is run on the last day of the month. 

Add a ‘Formula (Numeric)’ criteria and input the following formula. 

CASE WHEN LAST_DAY({today})={today} THEN 1 ELSE 0 END 

Select the criteria to be greater than 0: 

NetSuite workflow and schedule date formula

Your search will now email or trigger your workflow on the last day of the month. 

How it Works 

The logic of the formula works as follows: 

{today} returns the current day 

LAST_DAY(date) returns the last day of the month for the date selected. For example, if the date the function runs on is 9/7/20, it will return 9/30/20. If the date is 2/2/20 the function will return 2/29/20.  

Netsuite workflow and search date result

The CASE portion of the formula is just one of many ways the LAST_DAY and {today} function can be compared to return a true/false result. 

The result is that if today is the last day of the month, it will return ‘1’, but if today isn’t the last day of the month it returns ‘0’.

Since the criteria states the results need to be greater than 0, results are only returned when the search is run on the last day of a month.  

The end result is NetSuite’s workflow and search scheduling function will look to trigger on a daily basis, but the additional criteria ensures results are only returned on the last day of the month to actually trigger the desired action or email.  

With this build, NetSuite workflow and search scheduling functionality can cleanly schedule invoices to email the last day of the month, send reminders for time entry and approvals the last day of the month, and plenty of other use cases.  

To learn more about how your business can benefit from NetSuite workflow and search scheduling limitations workaround,  PLEASE FEEL FREE TO CONTACT US!

About ABACI:

ABACI is a premier NetSuite Solution Provider that provides deep knowledge in both business process and technology architecture.
Our team is passionate about NetSuite and has an exclusive commitment to NetSuite.
We pride ourselves on providing the highest level of system expertise on its full suite of cloud-based business management applications.