This article is relevant if you are using NetSuite and you seek a multi-signature approval workflow on purchase orders or vendor bills.
Background
In 2016, my firm worked with a client who required sophisticated NetSuite-driven approval workflows against purchase orders and vendor bills. The primary concern we had to address was the need to look up the nature of the purchase order and determine which organizational roles needed to approve the transaction before it would be safe for accounting to release or book. Not only would we need to get multiple signatures, but we may also need more than one signature of people holding the same role.
In a typical NetSuite-provided approval workflow, the nature of the rules is too simple to model: namely, which one person needs to change the transaction status from unapproved to approved. The pattern we needed to solve for was a specific sequence of approvals that would route to the appropriate individual(s) holding specific roles; plus a role may require more than one signature. Once one role in the hierarchy approved the purchase order or vendor bill, it may need to be further routed to the next role or another person in the same role. Sequence and number of signature matters.
More recently, I saw that another NetSuite partner has created a similar pattern in a paid-for bundle. Indeed, this other partner’s bundle came into existence in 2019, three years after I published an article describing the pattern. Thus, seeing that another partner used a similar pattern illustrates the power of properly modeling business application challenges.
I also discussed NetSuite’s “SuiteSolutions Advanced Approvals” in 2019. One big lesson is to generally avoid NetSuite’s workflow engine for complex approval challenges. The workflow engine is good for light logic — in this discussion, we are addressing significant approval routing requirements.
Accordingly, in this article, I intend to show screenshots of how my firm solved this challenge. The good news, as opposed to NetSuite or other partners, is that the bundle is license-free for all our clients.
Finally, all of these screenshots are presented in a video demonstration series. See this article, Video: Intelligent NetSuite Transaction Approval Routing.
Leverage NetSuite’s Portal
Through the use of NetSuite software development (Suitelets), we produced an application that can optionally operate within NetSuite’s provided portals. Depending on configuration switches, we can leverage NetSuite licensing features to authenticate the business user and bring the application forth. The implications of this are valuable especially for organizations that have a large user base that requires access to this specialized NetSuite application yet they do not need NetSuite for other uses.
Define Roles / Rules / Approvals
The power of the application comes forth through the use of table-driven roles, rules, and approval sequences. We also elected to move away from NetSuite’s definition of employee hierarchy so that we can invent our own; this gives us much more control over the definitions — especially as the existing NetSuite employee hierarchy in a configuration may not reflect the hierarchy rules we need.
By going further for proper rule management, we can use flexible transactional criteria to create different kinds of approval profiles that can be used to drive approval routing. For example, inventory-based purchase orders may need to route in one direction, yet capital expenditures may need a completely different table of authorities.
Click images to gain a better understanding.
Portal Driven Approval Center
While indeed the application can send emails from NetSuite and have business users approve from the comfort of their favorite email client or mobile phone, the ability to bring the individual into an approval application allows that user to perform a sitting to address approvals and rejections in one place. They don’t have to sift through email to become centered and act. We think of this element of the application as an Approval Center.
Depending on the user’s role, the Approval Center adapts to information relevant to the user:
- Transactions to Approve: all transactions that need approval are presented in a meaningful and sortable list.
- Previously Acted on Transactions: all transactions that have been previously approved or rejected are presented to help the user review past actions.
- Transactions Submitted for Approval: the same approval center is used to show business users that have crafted or are connected to purchase orders or vendor bills that need to be approved. For example, if the maintenance department manager submitted a purchase order for approval, that individual can see the status of the transaction: either pending, approved, or rejected. Yet that maintenance department manager may not have anything to approve themselves as they are not on the approval table of authorities.
Thus, the Approval Center presents queues for work that are contextually meaningful depending on your role.
Click images to gain a better understanding.
Vendor Bill vs. Purchase Order Approval Rules
The art of approval routing design can depend on the transaction type in question. Purchase Orders generally start the action to plan intended obligations to suppliers. However, vendor bills are demands by suppliers to pay for their performance obligations. Some vendor bills may be stand-alone; meaning, they are not connected to an originating purchase order.
Understandably, we have seen many organizations have the Accounts Payable clerk manually look up spreadsheet rules to honor the complex approval pattern and then push around the approval via email — this can now be solved quickly and reliably. By using multiple approval profiles, we can produce the right routing so that the application makes meaningful requests to the users. This software pattern is robust. When working with our clients, we often find that the capacities for defining approval patterns open up rich management conversations; of course, we often think “keep it simple” is better. However, if we need to account for complexity, we can.
Get the Intelligent NetSuite Approval Routing
I continue to see this pattern among my highly geographically distributed client organizations that have a larger employee user base. The need to route based on hierarchy, role, and criteria is fundamental. We need the maximum capacity to describe the challenge and then proper algorithms and applications to work the records. I invite you to watch the video series on this 2016 article; it’s just as relevant today as it was 5 years ago — fundamentals don’t change.
If you found this article relevant, feel free to sign up for notifications to new articles as I post them. If you have challenging NetSuite approval logic that demands expert listening, let’s have a conversation.