Marty Zigman Marty Zigman
Prolecto Labs Accelerator Templates

Best Practice to Automatically Generate NetSuite Vendor Bills from Item Receipts

Accounting ERP NetSuite



This article is relevant if you are interested in understanding how you can automatically create a NetSuite vendor bill from an item receipt record.

Background

During a recent design and implementation of a fully automated NetSuite inventory ledger to third party inventory logistics (3PL) warehouse company, our client sought additional automation for their inbound inventory based accounting operations. Since our client’s item receipts were all being systematically generated from our integration work, their accounts payable operations sought to automate the creation of related vendor bills.  In our client’s case, they had vendor prepayments and they did not wait for the supplier to send vendor bills to pay them.  Instead, they would pay their suppliers only based on the actual item receipt and they used the rate on the purchase order to drive the cost per item.

Note, I have written a number of articles about vendor prepayment options including best practices for vendor bill accruals. Finally, a more recent 2020 article on NetSuite Vendor Bill Created From Purchase Order References informs this concern.

NetSuite’s General Purchase Order / Item Receipt / Vendor Bill Architecture

NetSuite’s architecture provides for the purchase order to control the expected item receipts and bills. Under typical NetSuite operations, the item receipt and the vendor bill are independent phenomena. We generally see item receipt events happen before vendor bill entry. I often have conversations with clients about how to handle accrual demands due to timing differences.

NetSuite provides basic onesie-twosie or bulk tools to “bill” from an item receipt or from a purchase order. These tools are meant to give users control over the operation — yet they need attention to run. In all cases, when NetSuite generates the vendor bill, it uses the purchase order as a template to “transform” into a vendor bill. The lines that will target the vendor bill are a reflection of the purchase order’s internal counters for each line’s “unbilled” quantity.

The algorithm generally works well yet there are some considerations:

  • Shape: The vendor bill may not look like the shape of the item receipt especially if there is more than one item receipt.
  • Link: The vendor bill and the item receipt are not linked except through the purchase order. This may pose challenges for searching and reporting.

I spoke about a similar structure in a previous article related to automatic invoice generation.

Scalable Approach to Automate Vendor Bill Generation

More frequently, I am in conversations with clients about the best practices for measuring NetSuite gross margin. As a result, we created a license-free NetSuite accelerator bundle to help our clients automate customer invoice generation to line them up shipments.  Because here we are seeking to line up vendor bills with item receipts, the same pattern can be used as I discussed in my article, Best Practices for Automating NetSuite Invoice Generation.

On the back of an Item Receipt, we generate a Vendor bill.  Many crafty Administrators will use a NetSuite workflow to generate a record.  However, that approach does not fully consider the following:

  1. Custom Logic: Generating a vendor bill directly from an item receipt’s AfterSubmit event will not honor any special logic that may be coupled to the vendor bill.
  2. Shape: The shape of the vendor bill will not be shaped exactly according to the item receipt.
  3. Link: There is no link between the vendor bill and item receipt limiting the range of reporting.

To solve these challenges, we abstracted out the logic to a central library allowing us to call it under different program modes:

  1. Call SuiteLet On Item Receipt Save: we use an intermediate Suitelet to act as a client to generate the vendor bill. This will result in a slower save operation —  but it is simple to understand and the results are immediate. The SuiteLet will ensure that all custom vendor bill logic is respected.
  2. Background Mode: instead of directly calling the logic upon saving the item receipt, we write a record to a queue to have a background job run to generate a list of vendor bills. We use this mode when we expect high volume or we need better hands-on user performance. Of course, all vendor bill logic is respected.

Get the Item Receipt to Vendor Bill Logic

We developed the logic and placed it into our bundle called “Business Process Automation (BPA)” and it is available to all our clients without a license charge.  We built a number of options into the bundle to allow this to work on just a select number of item receipts or globally.  We also built a mechanism to easily specify dynamic defaults to drive values on the vendor bill, such as the approval status, or the bill reference. The point is that we can set this up pretty quickly and we have full control over any client-specific requested refinements.

If you found this article meaningful, feel free to receive notifications of new articles as I publish them. If you are looking to automate the generation of your NetSuite vendor bills, let’s have a conversation.

Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is regarded as the top 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 30 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 - YouTube

About Marty Zigman

Marty Zigman

Holding all three official certifications, Marty is regarded as the top 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 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *