Automate NetSuite Vendor Bill Entry from 1099 Contractor Timesheets

This article is relevant if you are using the NetSuite Advanced Projects module and you wish to streamline the work required to process timesheets and their associated vendor bills.


My NetSuite Systems Integration practice, Prolecto Resources, offers expert NetSuite services on a time and materials basis. ¬†As such, we are heavy users of NetSuite’s Advanced Projects module. ¬†All time entered in the timesheet by staff is reviewed for reasonableness and ultimately offered up on our client invoices as evidence of services rendered.

In some respects, this business model is a common practice used by staffing organizations.  I know this business model well because in the year 2000, I sold my eCommerce firm, InterScore, Inc., to an established ERP staffing organization in Southern California.  While running the eCommerce practice in this organization, I studied carefully the overall business practice used in staffing world.

Fundamentally, the staffing organization that purchased my firm offered up individual experts to companies that needed ERP help on an hourly basis.  The practice was simple to understand but often times had high administration costs:

  1. Hire Outside Expert: A individual would be hired in a 1099 contractor capacity to engage on a staffing project.
  2. Track Time: The individual would produce a weekly timesheet and have it signed by the hiring manager.
  3. Submit Tracked Time: The staffed individual would then submit the approved timesheet to the staffing organization for processing.
  4. Track Obligation: The staffing organization received the approved timesheet and would then book an obligation to the contractor at an agreed rate.  Manually of course.
  5. Bill Customer: Simultaneously, the staffing organization would markup the rate paid to the 1099 contractor and compile a customer invoice requesting payment for services rendered.

How NetSuite Advanced Projects Almost Fits the Staffing Model

The practice above was helpful to outline because NetSuite’s Advanced Projects module gets close to solving many of the coordination and accounting concerns common in staffing organizations. ¬†Here are some of the most important elements:

  1. Project Constitution: A customer can have more than one project and each project can have multiple tasks.
  2. Assign Individuals and Cost/Price: Each project task can be resourced by individuals at a particular cost and price.
  3. Capture Time by All Parties: Projects can be resourced by both internal employees and external (1099) vendors.  NetSuite allows vendors to enter timesheets built into the module subscription price.  Everyone loves this!
  4. Timesheet Backs the Invoice: Timesheet entries can be routed for customer billing purposes.
However, there are some important elements that are incomplete to drive the entire cycle:
  1. Accounts Payable: The vendor bill system is connected to the purchase order system (traditional accounts payable practice).
  2. Disconnected Systems: The purchase order system (AP) and the timesheet system (Advanced Projects Module) are not connected (yet the API can connect them).
  3. Manual Bill Entry: Since there is no connection between the AP system and the timesheet system, you must manually manage the obligations created by 1099 contractors.

Re-evaluating the use of the NetSuite Purchase Order System

Since the NetSuite purchase order system is not connected to the Timesheet System, the question becomes what to do. ¬†Most companies I witness, as my firm did for years, is setup purchase orders for the instances where we employed an outside expert to help on our client projects. ¬† The purchase order holds the rate agreed between the expert and is most helpful to drive vendor bill creation. ¬†Time effectively would need to be manually “received” against the purchase order to constitute the vendor bill.
However, closer inspection of the business problem revealed the following:
  1. NetSuite’s Advanced Projects module already captured the cost for the outside contractor services.
  2. If we setup the project correctly, then we have everything we need to properly record the obligation to the outside expert.

How We Create Vendor Bills from Submitted NetSuite Timesheets

At this point, I need to step back and share that I have never been satisfied with the way NetSuite offered timesheet approval practices.  Effectively, each time entry needs to be marked approved.  In addition, there was not a clear event for staff to indicate they were committed to the time entered.
Note, since 2014.1, NetSuite offered a new Time Card (NetSuite calls it Timesheet but it effectively moves from a single time entry model to a grouped model) feature.    However, the Time Card implementation did not fit our model well for various reasons (which is subject to a different article).  We needed to keep the standard timesheet mechanism with individual entries working but add additional capacities.

Create a NetSuite Time Approval and Vendor Payment Workflow

The key way we solved this challenge was to invent a Time Approval mechanism that was not based on NetSuite’s standard logic. ¬†The key capacities we needed were as follows:
  1. Submissions: Give staff a clear way to submit a timesheet for approval.
  2. Notifications: Produce an email and reminder notification that the submitted timesheet needs to be approved.
  3. Late Reminders: Produce reminders to staff if their timesheet is late.
  4. Time Review: Give project managers a way to see if the time entered is reasonable.  If not, allow notes to be captured and reject the timesheet.
  5. Reject and ReSubmit: Automatically send rejected timesheets back to staff to modify the timesheet to address concerns.
  6. Generate Vendor Bill: Once the project manager approves the timesheet, if staff is an outside contractor, generate a NetSuite vendor bill using the project cost definitions.
We solved this challenge using a combination of NetSuite scripting and workflows.   Now with this solution, we have dramatically reduced the effort to manage timesheets and nearly eliminated all the bookkeeping effort.  Click image to get a glimpse of the approval screen and linked Vendor bill.

Getting NetSuite Time Approval and Vendor Submission

We decided to incorporate this capacity into our NetSuite Enterprise Timesheet Manager offering.  That offer is a SuiteBundle that we suspect would be very valuable to any organization that is running a project based business or staffing organization using Time and Materials billing and NetSuite Advanced Projects.

More importantly, my hope is to show you what is possible when you leverage the NetSuite platform. ¬†The platform represents a capacity for innovation. ¬†You can harness that capacity when you combine a vision, skillful talent and energy into a solution. ¬† If you want to get more out of your NetSuite timesheet practices and leverage the platform, 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

| Category: Accounting, Management, NetSuite | 4 Comments


  1. coen
    Posted December 27, 2015 at 7:53 pm | Permalink

    i really keen on the netsuite project,

    and i would like to ask a question that is

    what is the difference between the Netsuite SRP and the Advance Project?

  2. Posted January 16, 2016 at 11:20 am | Permalink
  3. Marie Chu
    Posted February 9, 2016 at 12:12 am | Permalink

    Can you please advise if the 2016.1 release would affect your solution?

  4. Posted February 9, 2016 at 5:23 pm | Permalink

    Hi Marie,

    Thanks for the question. I just tried it in the 2016.1 Release preview and it worked perfectly.


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>