NetSuite quantity pricing for industrial quotes

Choose whether a price break applies to every unit or only the units inside that bracket, define which lines count toward the break, and test the exact quantities on either side. Then confirm the customer price, currency and unit before you release the quote.

Buğra Gündüz

Co-Founder & CEO of Bourne · Updated

A customer asks for 99 parts at $10 each. The quote totals $990.

The customer adds one part. NetSuite selects the 100-piece rate of $9.40 and the quote falls to $940.

The extra part reduced revenue by $50.

That result can be correct. It can also reveal a pricing rule that nobody tested. NetSuite supports two different ways to apply a quantity break:

  • All-units pricing applies the selected rate to every unit on the line.
  • Marginal pricing applies each rate only to the quantity inside its bracket.

The difference affects revenue, margin and what the customer expects on the next order. It is only one of the decisions behind a NetSuite quantity price. The account also needs to know which transaction lines contribute to the break, which unit the quantity uses, which customer price applies and what happens when the buyer changes a release schedule.

This guide explains those decisions with quote calculations an industrial OEM can test.

Start with the four pricing decisions

Before you build a quantity schedule, write down four answers.

DecisionOptionsWhat it changes
Discount methodAll units or marginalWhether the break reprices the full quantity or only the next bracket
Quantity scopeLine, item, parent or scheduleWhich lines NetSuite adds together
Quantity unitEach, case, metre, kilogram or another unitWhat the break number measures
Customer priceBase level, group, item-specific or absoluteWhich price table supplies the rate

Oracle documents the first three on the item record in Setting Up Item Pricing. The fourth depends on the customer and item pricing records.

A label such as “100+ price” answers none of them. A usable pricing rule says:

Apply the Northfield OEM price level to item family AX. Count base eaches across all matrix children on one estimate. Use marginal rates above 100 and 250 eaches.

That sentence gives an administrator enough information to configure the rule and gives a tester enough information to prove it.

Choose all-units or marginal pricing

NetSuite calls the setting Use Marginal Rates. If you leave it clear, the price for the reached break applies to all units. If you select it, the quantity in each bracket receives that bracket’s rate.

Assume this schedule:

QuantityRate
0 to 99$10.00 each
100 to 249$9.40 each
250 and above$8.90 each

In all-units mode, reaching 100 selects $9.40 for the full line. In Oracle’s marginal-rate model, the first 100 units remain in the base bracket and the lower rate applies to units above 100. The test cases below make that boundary visible.

All-units pricing

At 150 pieces, the 100-piece rate applies to all 150:

150 × $9.40 = $1,410

At the first break, the total falls:

QuantityRateTotalChange from prior row
99$10.00$990.00
100$9.40$940.00-$50.00
101$9.40$949.40+$9.40

The customer has a reason to buy 100 instead of 99. The company gives up $50 in revenue at that point. This may fit a deliberate commercial policy, but the pricing owner must see the discontinuity before approving the schedule.

The same problem appears at the second break:

QuantityRateTotal
249$9.40$2,340.60
250$8.90$2,225.00

The extra part cuts the total by $115.60.

Marginal pricing

With marginal rates, each bracket keeps its own rate. At a quantity of 150, NetSuite prices the first 100 at the base rate and the next 50 at the lower rate:

(100 × $10.00) + (50 × $9.40) = $1,470

The total no longer falls at the break. The blended rate at 150 becomes:

$1,470 ÷ 150 = $9.80 each

The customer-facing line may show a blended result even though the schedule calculated two brackets. Confirm how your transaction form and printed proposal show the rate. A buyer who sees only $9.80 may expect that rate to apply to every future unit.

Oracle’s Quantity Pricing Schedules uses the same distinction: marginal rates price each bracket separately; a schedule without marginal rates applies the reached discount to every unit sold.

Use economics to choose the method

Do not choose marginal pricing because the curve looks tidy. Match the method to the cost and commercial promise.

All-units pricing can make sense when crossing the break changes the whole production run. A larger batch may spread setup, programming, inspection and handling across more pieces. The lower rate can apply to the full batch.

Marginal pricing can make sense when extra volume creates incremental savings without changing the cost of earlier units. It also prevents the order total from falling at a threshold.

Model contribution at the quantities around each break:

QuantityRevenueMaterialConversion and setupContributionContribution %
99TestTestTestTestTest
100TestTestTestTestTest
101TestTestTestTestTest
249TestTestTestTestTest
250TestTestTestTestTest
251TestTestTestTestTest

Use current costs. A schedule built from an old setup assumption can protect revenue and still destroy margin.

Decide which quantities count together

The Calculate Quantity Discounts field controls the quantity NetSuite uses to select a break. Oracle provides four choices.

By line quantity

NetSuite evaluates each transaction line on its own.

An estimate has two lines for the same item:

  • 60 pieces for the first release
  • 40 pieces for the second release

Neither line reaches a 100-piece break. Both receive the lower-quantity rate.

Use line quantity when each line represents a separate commercial or production commitment. It avoids pooling quantities that the business will not make, buy or ship together.

By overall item quantity

NetSuite adds all lines for the same item on the transaction. The two lines above total 100, so both can receive the 100-piece treatment.

This method fits split delivery dates when the customer commits to the full quantity and the OEM treats the transaction as one order. It does not prove that one production run will cover both releases. Check inventory ownership, cancellation rights and manufacturing plans before the commercial policy assumes one batch.

By overall parent quantity

NetSuite adds items that share a parent. Oracle notes that this can support matrix items.

Example:

Matrix childQuantity
AX valve, 2 inch40
AX valve, 3 inch35
AX valve, 4 inch25
Parent-family total100

The family reaches the 100-piece break even though no child does.

Use this only when the variants create the savings behind the discount. If the 4-inch valve needs different material, routing and test work, pooling it with the 2-inch valve may grant a discount that the cost model does not support.

By overall schedule quantity

NetSuite adds all transaction items that use the same quantity pricing schedule. The items do not need to share the same item record or parent.

This is the broadest scope. It can support a family-wide or basket discount across related parts. It can also join unrelated items because an administrator reused the same schedule for convenience.

Treat schedule membership as a commercial decision. Give each reusable schedule a clear purpose, owner and list of eligible item families.

Compare the four modes on one test quote

Use a transaction that makes the modes produce different answers:

LineItemParentScheduleQuantity
1AX-2AXOEM volume60
2AX-2AXOEM volume40
3AX-4AXOEM volume30
4Seal kitService partsOEM volume20

Expected qualifying quantities:

ModeQuantity used for line 1
Line60
Overall item100
Overall parent130
Overall schedule150

Save the expected tier and extension for every line. This test catches an accidental scope change immediately.

Put the break on the correct unit

A break at 100 has no meaning until the unit is known.

It could mean:

  • 100 each
  • 100 boxes of 20
  • 100 metres
  • 100 kilograms
  • 100 assemblies

NetSuite quantity pricing schedules can use a units type and unit. Oracle also states that an item can use only a schedule with a matching units type. That guard does not prove that the chosen unit fits the commercial rule.

Suppose the customer asks for ten boxes and the item defines one box as 12 each. A 100-each break should qualify because the physical quantity equals 120 each. Test the actual estimate form with BOX12 selected. Do not assume the break will behave as a spreadsheet does.

Record these fields in the pricing design:

FieldExample
Customer unitBOX12
Conversion12 EA per BOX12
Schedule unitEA
Transaction quantity10 BOX12
Pricing quantity120 EA
Selected break100 EA

Our NetSuite units-of-measure guide covers fixed packs, price-per-thousand, variable-weight products, cut lengths and serialized items. Prove the conversion before you investigate the price schedule.

Know which customer price wins

Quantity is only one input to the rate. NetSuite can also select prices from customer, item and pricing-group records.

Oracle’s customer price-level instructions state that an item-specific customer price level overrides the customer’s general price level and its pricing-group level. Oracle’s absolute pricing instructions go further: an absolute customer-and-item price overrides other pricing and appears on every sales transaction for that customer and item.

For each quoted line, identify:

  1. customer
  2. subsidiary, when relevant
  3. transaction currency
  4. item
  5. item-specific customer price
  6. pricing group
  7. general customer price level
  8. quantity schedule and break
  9. any transaction-level custom rate

A rep can otherwise see the right quantity and the wrong rate without knowing which record supplied it.

Test price precedence with named customers

Use test customers that each exercise one route:

CustomerPricing setupExpected source
Standard accountGeneral price levelGeneral customer level
DistributorPricing group for AX familyGroup price level
Contract OEMItem-specific level for AX-2Item-specific level
Fixed-price customerAbsolute AX-2 priceAbsolute customer-item price

Run the same quantity for all four. The rate should differ for the reason in the last column.

If your account uses Advanced Pricing, inspect its conflict preference as well. Oracle’s Advanced Pricing preference chooses the lowest applicable price by default when NetSuite finds multiple prices for an item; an administrator can change it to the highest. Test the current account setting instead of relying on the default.

Use schedules for shared logic, not hidden policy

Quantity pricing schedules let one template generate item prices across price levels. They reduce repeated setup, but they also spread mistakes quickly.

Oracle documents several limits and behaviors:

  • A schedule supports a maximum of four non-zero quantity levels.
  • The schedule can apply different discount percentages by price level when the account preference allows it.
  • Selecting a schedule on an item sets the marginal-rate and quantity-calculation fields from the schedule.
  • A vendor pricing schedule can support negotiated purchase prices, but one vendor can link to each schedule.
  • An item import that uses a schedule should supply the quantity-zero price; NetSuite calculates the other quantities.

The four-level limit matters for companies with dense price books. Do not compress ten commercial breaks into four without checking the lost behavior. If the contract truly needs more tiers or another pricing model, document the gap before choosing a custom implementation.

Name schedules by commercial meaning, not by discount numbers that will change:

Good:

  • OEM valve family volume
  • North America service parts
  • Distributor annual commitment

Weak:

  • 5-10-15 discount
  • Schedule 3
  • New pricing

The owner should be able to answer why the items share a schedule and what event allows the customer to qualify.

Separate sales breaks from supplier breaks

NetSuite can use quantity schedules on both sales and purchase pricing. The tiers solve different problems.

A customer may order 300 assemblies in three monthly releases. Your supplier may price castings by each purchase order, while you grant the customer a rate based on the full order. The customer schedule cannot stand in for the supplier schedule.

Model each basis:

LayerQuantity commitmentBreak scopeRate source
Customer quote300 assembliesFull accepted orderSales quantity schedule
Production3 runs of 100Per runRouting and setup model
Supplier100 castings per POPer purchase orderVendor schedule or quote
Freight100 assemblies per shipmentPer shipmentCarrier or lane rate

The sales rate must cover the actual cost pattern. If the buyer can cancel later releases, the company may never receive the volume that funded the discount.

Put the commitment in the proposal:

  • total committed quantity
  • release period
  • minimum release
  • cancellation or rescheduling rule
  • inventory ownership
  • repricing trigger

The pricing table cannot carry these terms by itself.

Reprice revisions before you compare totals

Industrial quotes change. A buyer may split lines, remove a release, change one configuration or move from 240 to 260 pieces.

When quantity changes, recalculate in this order:

  1. normalize the quantity and unit
  2. determine which lines count together
  3. select the customer price source
  4. select the quantity break
  5. calculate the rate and extension
  6. update cost and contribution
  7. compare the new quote with the prior revision

Do not copy the old rate onto the new quantity. A reduction from 260 to 240 may lose a break. An increase may cross a break that lowers the all-units total. A configuration change may move the line to another item, parent or schedule.

Show the cause of each price change:

Revision differenceOldNewCommercial effect
Quantity240 EA260 EACrosses 250 break
Rate$9.40$8.90Schedule-selected rate falls
Extension$2,256$2,314Total rises by $58
Unit cost$7.20$7.05Purchase break also reached
Contribution$528$481Dollars fall despite higher volume

That last row deserves review. Revenue rose, but the selling discount exceeded the cost saving.

How Bourne reviews a quantity-priced line

NetSuite should own the approved price levels, schedules, item assignments and customer-specific prices used on transactions. Bourne connects those rules to the customer request and the work around it.

Bourne can:

  • extract quantities, units and release dates from an RFQ
  • match each request to the correct NetSuite item
  • convert customer units to the schedule unit
  • identify the customer price source
  • show which lines NetSuite counts together
  • calculate all-units or marginal extensions
  • compare quantity breaks with supplier, routing and freight costs
  • flag a lower total at a threshold
  • reprice every affected line when the buyer changes quantity or configuration
  • route an exception to the pricing owner
  • prepare the estimate after approval
  • reuse the accepted basis during customer PO review

The reviewer should see both the result and the reason:

Northfield requested 150 AX-2 valves in two releases. NetSuite pools both lines by overall item quantity and selects the 100-piece break. The Northfield item-specific price level supplies the rates. With marginal pricing, the first 100 units price at $10 and the next 50 at $9.40. Quote extension: $1,470. Contribution: $390. Approve?

This gives sales, finance and operations the same calculation.

Bourne can show the selected NetSuite schedule, quantity basis, customer price level, break calculation and margin effect before a rep sends the quote.
Quantity pricing · Example workspace

Test quantity pricing before production

Use a sandbox or a controlled test account. Include every transaction form, script, integration and printed document that handles the quote.

TestExpected result
One unit below each breakPrevious tier and known extension
Exactly at each breakNew tier starts at the intended quantity
One unit above each breakSame new tier with correct extension
All-units scheduleFull quantity receives selected rate
Marginal scheduleEach bracket receives its own rate
Same item on two linesResult matches line or overall-item setting
Matrix childrenResult matches parent-quantity setting
Different items on one scheduleResult matches schedule-quantity setting
Same physical quantity in eaches and casesSame qualifying quantity and extension
Item-specific customer levelOverrides customer and group levels as designed
Absolute customer-item priceOverrides other price sources
Multiple applicable Advanced Pricing rulesAccount preference selects the expected price
Alternate currencyCorrect price table and rate
Quantity reduced on revisionBreak and margin recalculate
Quantity increased on revisionThreshold effect appears in comparison
Split releasesEligibility matches the commercial commitment
Customer PO changes quantityOrder review recalculates before entry
CSV update to scheduled itemQuantity-zero source price produces expected tiers
Printed quoteUnit, quantity, rate and extension remain clear

For all-units schedules, calculate total revenue immediately below and at every break. For marginal schedules, calculate the blended rate at every break. Review contribution dollars as well as margin percentage.

Watch the exceptions that reveal bad rules

Track these measures by schedule, item family and customer:

  • quotes with a manual rate override
  • lines whose total falls when quantity rises
  • quantity breaks changed during approval
  • customer-specific prices that hide the expected quantity rate
  • lines assigned to the wrong schedule
  • quote revisions that retain an old rate
  • split lines that qualify differently from the commercial agreement
  • orders reduced after receiving a volume discount
  • margin exceptions near a break
  • customer POs that use a different quantity or unit
  • credits tied to disputed price breaks

A high override rate usually points to bad master data, an unclear policy or a schedule that does not fit the deal. Review the reason before you train people to work around it.

Frequently asked questions

Why did the quote total fall when quantity increased?

An all-units schedule applies the reached rate to the full line. If the discount at the break exceeds the value of the added units, the total falls. Check the quantities immediately below and at every break. Use marginal pricing only if it matches the intended commercial policy.

What does Use Marginal Rates change?

It applies each rate to the quantity inside that bracket. Without it, the reached rate applies to all units. Test the displayed transaction rate and extension because the customer may see a blended rate.

Can two quote lines combine to reach a break?

Yes, if the item uses overall item, overall parent or overall schedule quantity. By line quantity evaluates each line separately. The correct setting depends on what the customer commits to and what creates the underlying cost saving.

Can different products combine for one discount?

Overall parent quantity can pool related matrix children. Overall schedule quantity can pool any items assigned to the same schedule. Use either only when the combined products support the discount economics.

Does customer pricing override the quantity schedule?

The result depends on the type of customer price. Oracle states that item-specific customer price levels override the general customer and pricing-group levels. An absolute customer-and-item price overrides other pricing. Test the exact customer, item, currency and quantity in your account.

Should a 100-piece break apply to ten cases of 12?

It should if the schedule and item units evaluate the equivalent 120 eaches. Test the actual transaction with the case unit. A correct conversion on paper does not prove that a custom form or integration sends the right fields.

Can a customer combine several releases to earn a discount?

Only if the commercial agreement treats the releases as one committed quantity. Define cancellation rights, release dates, inventory ownership and repricing before you grant the full-volume rate.

How many breaks can a NetSuite quantity pricing schedule have?

Oracle documents a maximum of four non-zero quantity levels on a schedule. If the price book needs more, document the required behavior and test another supported design or a controlled extension.

Should AI calculate a separate quantity price?

Use NetSuite’s maintained pricing records for the transaction rate. AI can extract the request, select the relevant records, explain the calculation, test thresholds and route exceptions. A second price table will drift.

What should happen when the buyer changes quantity after approval?

Recalculate the unit conversion, aggregation scope, break, rate, extension, cost and contribution. Compare the new result with the approved revision and send any policy or margin exception back to the pricing owner.

Further reading

Lean Enterprise Institute: production changeovers
The distinction between setup work that stops a machine and work done while it runs.

Buğra Gündüz

Buğra Gündüz is the co-founder and CEO of Bourne and co-founder of HockeyStack. He built HockeyStack into an eight-figure AI business. At Bourne, he works with entrepreneurs and established companies to create AI products and services.