Best Practices: NetSuite Vendor Bill Approvals


Many accounting organizations that seek better practices in the accounts payable cycle often consider NetSuite approval workflows. The basic concern is that the accounting group who process transactions may not know if a vendor bill is valid and if the constituent business user is satisfied with the vendor performance. Thus, the accounting organization wishes to get the vendor bill approved before paying the bill.  NetSuite offers a workflow that you can use to drive the Vendor Approval Status field which moves the transaction from Pending Approval to Approved.  I have seen a number of organizations take this provided workflow and attempt to make it work in their organization — only to make their overall accounting process cumbersome and more costly.

NetSuite Vendor Bill Approval Status Misleads Accrual Function

I find the Vendor Approval Status, and the related workflow, is often implemented by folks that have more IT background versus Accounting background. The concern I hold for my clients is that a vendor bill in status Pending Approval will not post to the General Ledger — yet this is not what an accountant trained in accrual accounting wants.

The accountant’s unspoken concern is that they don’t want to pay a bill that represents the receipt of a good or service that is not satisfactory. Yet, they definitely want to book a liability as soon as possible. In accrual accounting, the goal is to recognize a liability in the period for which the obligation is incurred. One of the major activities that accountants perform each month is to look for liabilities that have not been recorded.

Accounts payable is the total amount of debt the company has to pay to its creditors for goods or services bought on credit. On the other hand, accrued expenses is the total liability that is payable for goods and services that have been received but not been billed.

as offered by the web site “Investopedia“.

At the same time, a review of the American Institute of Certified Public Accountants (AICPA) “Best Practices for Closing Cycles” suggest that companies move to a “Soft Close”. The primary point being we may not need exact precision each close period process. While the close process is subject for different article, our goal here is recognize liabilities as soon as possible. NetSuite’s Approval Status flag basically takes us away from the accountant’s goal.  The way I see it is this: if a vendor sends a bill to you, someone is declaring that you have an obligation. Granted, it may not legitimate — but we should recognize the liability and effectively have controls to avoid paying the bill until it is clear that it is safe to disburse funds.

Utilize NetSuite Payment Hold Flag in Lieu of Approval Status

Instead of using the Approval Status, I propose using the Payment Hold flag instead. Book all vendor bills with Approval Status as Approved so that the General Ledger impact is immediate.  Mark the Payment Hold Flag as on (we generally automate this to be on by default for our clients — see below for the script). Once you mark the Payment Hold On, the vendor bill will NOT come up as a candidate to be paid in NetSuite’s Pay Bills screen. In my mind, this is the better practice because it takes care of the accountants need for the accrual and also ensures the bill is not paid until we are satisfied that it meets acceptability criteria.

NetSuite’s Payment Hold Help Explanation Obscures the Power of the Flag

NetSuite’s help suggest that the Payment Hold does the following. Yet, it misleads because it offers to use the payment hold flag in a disputed bill context:

“Check the Payment Hold box to apply a payment hold on a disputed bill. When the Payment Hold box is checked, the following occurs:

  • The Make Payment button is not be available on the vendor bill and a vendor payment cannot be processed for that bill.
  • Vendor bills that have a Payment Hold enabled do not show up on the Bill Payments page.
  • The Electronic Payment SuiteApp does not process payments that have a payment hold.”

NetSuite AP Aging Gotcha and Payment Holds

At the time of this writing, NetSuite’s Accounts Payable Aging does not support the payment hold flag as criteria or as an output column. While you will indeed see the liability, you won’t be able to distinguish “Safe to pay AP” vs. “Payment Hold AP”.  Accordingly, you will need to use a Saved Transaction Search to help you key on the Payment Hold flag. We typically set up dashboards and other lists for our clients that reveal this information once we we understand their desired bill disbursement practice.

Script to Automatically Turn on Payment Hold

Here is a simple NetSuite Before Submit User Event SuiteScript (version 1.0) that can be deployed on Vendor Bills that will automatically set the Payment Hold flag to On when the vendor bill is created.

function initUEVendorBill(type, form) {
  "use strict";
  if (type == 'create'){
    nlapiSetFieldValue('paymenthold', 'T');

Leverage Business User Signature Workflows

In conjunction with this Payment Hold, we have helped our clients streamline the distribution of a bill to the business user to get their blessing. Once the blessing is obtained, we then turn off the Payment Hold flag which then opens up the vendor bill for normal accounts payable payment processing. If you are interested in the streamlined distribution, please see Video: Intelligent NetSuite Transaction Approval Routing to learn how you can produce better accounts payable processing. If you seek better NetSuite accounts payable practices, let’s have a conversation.

Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is Southern California's NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 25 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - Google Plus - YouTube

| Tags: , , | Category: Accounting, Management, NetSuite | Leave a comment

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>