This article is relevant if you are seeking to implement NetSuite discount or markup items and you are challenged due to the way absolute value terms are natively implemented.
Background
For a recent client, we spent time analyzing their sales and pricing programs. They sold goods globally and spent great care working out standard pricing for all of their sales channels. They wanted to produce superior reporting by routing any deviation from standard list pricing through discount lines so they could increase their reporting usefulness and analyze how much margin they were giving away in their promotional efforts. Consider my article, Understand NetSuite Item Groups vs. Kits to Produce Superior Reporting.
The client had a number of places where discounts, when expressed in percentage terms, yielded undesired results. For example, for one of their clients, they negotiated a $25 off program on sales of a specific popular item. For another client, they did something similar but instead, it was for 20 EUR (foreign currency).
NetSuite offers a flexible item structure and many pricing options. When I lead new Netsuite implementations, we take great care to spend time with our clients on the item model as the different choices have significant implications in day-to-day processing and reporting . Promotional pricing involves the use of discounts. When discounts (and its equivalent, the markup) are expressed in percentage terms, NetSuite works nicely. However, when discounts are expressed in absolute terms, NetSuite’s behavior is less useful.
The fundamental challenge is two fold:
- Quantities; Discounts items do not support quantity factors. Thus, if you want to have $10 off your item but you sold 3 items, NetSuite does not automatically make it $30 off.
- Foreign Currency: Discounts items are not expressed in foreign currency. NetSuite will auto modify the price of the discount based on exchange rate. But if you want to express the exact discount in a foreign currency, you are stuck.
In my mind, the discount and markup item was really designed for percentage calculations and then the absolute value was offered as an afterthought.
Solving the NetSuite Item Discounts and Markup in Absolute (dollar) Terms
To solve this challenge, I invented a technology that I call Line Item Value Modifiers. It’s effectively a pricing extension tool designed to give more control over the use of absolute pricing discounts and markups and to indicate when these price programs apply. Let me illustrate how these work.
The concept uses a table to describe three important factors:
- Item and Modifier: Which Item and which Discount or Markup will be in play
- Criteria: What quality has to be about the order for this modifier record to apply
- Values: The amount to modify based in a specific currency
Thus the table allows us to describe the specific situations where the logic will fire. See image. We then offered a transaction switch to indicate if Line Item Value Modifiers will be evaluated. This allows us more flexibility if we want the implementation to only be evaluated for certain reasons, such as a specific customer category.
The logic fires during the save event on the server. This allows it to work in all situations including web store and third party integrations. Each item is evaluated and when a Line Item Value Modifier record has a match, a new line is inserted below the qualifying item to either discount or mark up according to the quantity.
To help understand better the criteria, the following fields are offered:
- Location: if the value is null, do not account for location. However, if set, only apply to orders where this location set.
- Price Level: if the value is null, any price level applies. However, if set, only apply to orders where with matching line price levels.
- Ancestor Entity: if the value is null, do not account for an entity. Here, if the entity matches, even if it is used in a hierarchy tree, then it applies.
- Quantity Minimum and Maximum: if the value is null, any quantity applies. However, if it is set, then apply if the quantity on the order is between the minimum and maximum. This allows you to produce a quantity tiered discount program.
When the order qualifies, we either markup (use a positive number) or discount (use a negative number) based on the quantity ordered. For example, if the discount is -14, then if you ordered 3, the discount would be -42. See related image.
Related Articles
Get the Line Item Value Modifier Bundle
Like all the algorithms we create for our clients, we offer this capacity without license charge. Since we only offer professional services, we ensure that the setup and configuration fits your specific requirements. Naturally, because we are experts in NetSuite innovation, we extend the feature set where desired. If you would like to use the Line Item Value Modifier bundle to solve your NetSuite situation, let’s have a conversation.