Approving Vendor Bill Via Email in NetSuite


One of our UK-based clients required some custom modifications in their NetSuite. The client asked for the implementation of vendor bill approval through Email. This simplified their business process and improved productivity. 

With the help of a workflow action script and Email plugin, our developers made it possible to execute actions in NetSuite via approval email. 


Our client required a mechanism that included multiple approval mechanisms that ultimately trigger an action in NetSuite. 

The workflow action script initiates the process. The system sends an email to the next approver when a user clicks on the  “submit for approval button”. The “Approve” or “Reject” buttons were included in the email for ease of accessibility. 

When the “Approver” clicks on either of these buttons, an email creation page will open with the default Sender ID and Subject. Note that the approver has to send the email to trigger the required action in NetSuite. 

Our developers utilized the  Email plug-in setup feature to capture the email triggered by the approver. The email-plugin performs various validations before the final action is executed in NetSuite:

1. It is important to maintain the subject unchanged while sending the approval email or the process will not be executed by NetSuite. 

Here, NetSuite uses a set of validations to cross-check various criteria in the Email. NetSuite will only proceed to check other validations if the above criteria are met.

2. Validates the existence of the corresponding transaction.

3. Validate the transaction status – whether the transaction is on the pending approval queue or not.

4. Validate whether the Approver via Email Expired by comparing the Days between the Submit For Approval and Approval email.

5. Existence of an active employee with:
    – Email id same as of the Approval Email sender
    – Access to Netsuite with Role that set as Next approver Role on the vendor bill

6. In case of rejection, the system validates the existence of reason in the email content.

7. Validate whether the corresponding transaction is already in an edit action by someone else.

Note that the authorization levels for each role was predefined by the client. 

Once these parameters are checked, it validates the transaction status – whether it is on the pending approval queue or not. Further, if the email is rejected, the approver has to mention the reason for rejection in the email content. Lastly, it validates whether the corresponding transaction is already in edit action by someone else. 

When all the above validations are successful, the script will perform the corresponding action in NetSuite and notify the user regarding successful Approval or the Reason for Rejection. 

If an unauthorized person sends an Approval email – the admin or the assigned employee will be notified to take necessary action against the unauthorized approval action.


The client asked to add a provision for attachments to be included in the email sent to the approver. Through this feature, the client was able to get a detailed overview of the transaction without logging into NetSuite.

The major challenge of the process was that, if the file size exceeds the defined limit, the attachment will not be included in the email. 


Our client here gained key insights and details of the transaction without opening NetSuite. With the help of email, the approver understood the ongoing process and was able to approve or reject the transaction promptly. The accessibility of the process enhances the user experience to a large extent. 

Make us your implementation partner for world-class service and advanced features. Contact us today.