Tutorial: Enabling Quantity Pricing (NetSuite Only)

Tutorial: Enabling Quantity Pricing (NetSuite Only)

Requires the purchase of the SuitePOS Advanced Promotions Module

Quantity Pricing is a NetSuite feature that permits different item prices based on quantities sold.  Using the Advanced Promotions Module and when the feature in enabled on POS Settings, SuitePOS considers this depending on how the pricing calculation is defined on the item record (by line quantity or overall line quantity). 

As an example, you can set up wine to be priced at 10.00 for each bottle. At 6 bottles, you could price at 9.00/bottle and at 12 (case), 8.3325 /bottle (99.99 a case).  

Enable Quantity Pricing

NetSuite POS Settings:

Quantity Pricing Explained

If this feature is enabled, the pricing of the item now considers all the price breaks available for that particular item.  From the example below, if one bottle of wine is purchased, the price is 10.00.  If 6 are purchased, all 6 are now priced at 9.00.

In addition, there may be various price levels available. For example, if an Employee (named customer) purchases 24 bottles of wine, the price is 6.666.

For POS Purposes: "Use Marginal Rates" should always be unchecked otherwise the Quantity Pricing is ignored.

Example Item with Quantity Pricing:

Serialized items or items where merge is "Off", it is suggested you set  "Calculate Quantity Discount" on the line item to 'Overall Line" item.  Otherwise Quantity pricing will not be considered (by default).


Item Size Issues:

When Quantity Pricing is enabled, you can end up with the "effective" item count growing exponentially.  This will increase sync times, perhaps even to the point of timing out and/or causing "concurrent request" issues which will make most of your terminals fail the item sync. 

To illustrate this, say you have 10,000 items with 4 price levels and 10 of those items have 5 levels of Quantity Breaks.

Using the formula:
i(tems  - Items with qty breaks )* price levels + (items with qty breaks * price levels * quantity breaks)
(10,000 - 10) * 4 + (10 * 4 * 5) = 40000 + (200) = 42,000 "effective" items 

As you can see there is a large increase of "effective" items from 10,000 items (without Quantity Break enabled). 
Reducing the Price Levels (by inactivating or in the item saved search via filters) will yield by far the most significant gains. Reducing the items with qty breaks will provide good gains so long as the item count  of those items with qty break is a significant proportion of the overall item count.
Why the increase?

Quantity Pricing requires the FULL NetSuite Item Pricing Matrix to be retrieved for all items and that takes significant NetSuite resources (per current NetSuite design). This is versus the Standard Pricing Matrix which consume much less.
It should be noted that this is NOT a SuitePOS limitation (directly).  It is a limitation with the NetSuite algorithms for getting the Price Matrix at higher volume item counts.

For Quantity Pricing to work, Price Levels (AKA Multi-Pricing) AND Quantity Pricing MUST be enabled in the SuitePOS Account. Quantity Pricing without Price Levels enabled is NOT supported. 

"Use Marginal Rates" is not supported. If checked, Quantity Pricing will be ignored.  

Only "Calculate Quantity Discount" by "Line" or by "Overall Line" are supported. All other calculations will result in Quantity Pricing being ignored.
Because of the far reaching impact of this feature it is always advisable to test in a recently refreshed Sandbox instance first.

SuitePOS always rounds currency amounts to the nearest 2 decimal places. This may affect the calculation of total cost for a line item on a POS transaction when the unit price of an item is specified with more then 2 decimal places (in NetSuite). This can affect a single quantity, calculated UOM price or Quantity Pricing calculation in SuitePOS.


Item A Quantity Pricing for a Quantity of "2" = $1.125 (as set in NetSuite)

In NetSuite, quantity 2 of Item A would result in a total item price of $2.25 on a transaction.
In SuitePOS, quantity 2 of item A would result in a total item price of $2.26.
If "Enable Quantity Pricing" is changed on POS Settings a FULL SYNC is required on ALL terminals. 
It is possible for a given price-level for the price of the item to be blank. If thats the case, the base price (with respect to the quantity pricing) will be used as the default. This is useful when you do not want to set pricing for all items at every level and quantity break.

    • Related Articles

    • Tutorial: Enabling UOM (Units of Measure) (NetSuite Only)

      Requires the purchase of the SuitePOS Advanced Inventory Module UOMs (Units of Measure) is a NetSuite feature that permits a single item SKU to be stocked and/or sold in various configuration Units at the click of a button. Using the Advanced ...
    • SuitePOS Item/Product Pricing

      SuitePOS syncs item pricing data from the platform (NetSuite or Salesforce) periodically and/or on-demand. This means items can be seamlessly up-to-date at all times; including pricing. For example, if you change pricing of "Chocolate Bar" from 2.99 ...
    • Tutorial: Enabling Sales Throttling

      In a higher volume/terminal count environment, NetSuite can fall victim to slowness. Since SuitePOS issues asynchronous calls to write transactions into NetSuite, these can rapidly accumulate resulting in NetSuite Concurrency Limits being reached ...
    • Tutorial: SuitePOS and NetSuite SuiteTax

      SuitePOS supports NetSuite's SuiteTax engine. This engine allows you to configure complex native tax rules and also allows for integration of NetSuite SuiteTax to third-party tax services such as TaxJar and Sovos. In the context of SuitePOS and ...
    • Tutorial:Enabling Kick Drawer and Pay In/Out

      Retailers who take cash at the POS can now track the reasons for kicking a drawer as well as cash paid in (or out) during an open shift. This avoids having to use hand-written notes and manual calculations. When "Open/Close Shift" is Enabled and the ...