Automatically Target a Final NetSuite Order Amount

This article is relevant if you are looking to produce a way to have a NetSuite Sales Order (or invoice, purchase or other) target a final total amount no matter what the line elements are on the transaction.


For a recent non-profit client NetSuite implementation, we learned that a certain number of their customers qualify for a subsidized product and services program which they offer for free or for a specific low-dollar amount. In essence, we encountered a need to drive a sales order to zero or to a specific target price.

If our client only needed to give away the entire order amount, we would have simply suggested a header discount at 100% off. However, our client needed to have the sales order summarize to a specific total amount without knowing what was going to be placed on the sales order ahead of time — this is more challenging.

We certainly could have trained our client to create a sales order, determine what the desired total amount will become upon save, and then calculate how much of an absolute discount to enter on the sales order header. Yet, our client wanted to make sure of the following:

  • Qualification: The program needed to be only offered to customers meeting certain criteria. Will all sales people act consistently?
  • Avoid Mistakes: The sales people should not be calculating discounts. Else, we anticipate mistakes and greater need for management oversight.
  • Item Taxability: Items in the program were not necessarily taxable in a traditional sense when offered under the program. Yet, we did not want salespeople to modify the tax treatment of items in the sales orders.

While I have discussed other innovative NetSuite discounting programs in previous articles, this one had a more simple twist to it. Check out other articles that may be relevant if you are curious about innovative NetSuite discounting programs:
1. Overcoming NetSuite Discount Items in Absolute Terms
2. Automate Allowance Programs using NetSuite SuiteGL

Watch Video to See the Final NetSuite Order Amount Auto Calculate

The video below will demonstrate the basic system we produced:

  1. Target Amount Options: Setup a custom record to drive the program.
  2. Set on Sales Order: allow the custom record to be selected on the Sales Order (or other transaction). While it can be selected manually, it could also be auto selected on behalf of the user.
  3. Server Side Calculation: calculate the target amount of the order when it is saved so that it effectively “heals” itself should anything on the order change during edits. Because this is done server side, it allows the algorithm to work in other entry modes such as CSV upload or API integration.
  4. Auto Set Header Discount Code and Amount: the assumption is no other discounts are in the sales order. Thus, we can use this mechanism to discount the entire order by setting the values for header driven discounts.

Leverage the Algorithm

We think this app is a good example of how to leverage the NetSuite platform to dial-in order processing and “make life better”. Like all of the software we have built, we give our previously created work free of charge to help our clients get more value out of their NetSuite investment. Should you have a program that needs to drive similar business processing, 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, ERP, Marketing, 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>