A customer asks for 12 boxes of fasteners.
Your warehouse counts each fastener. The supplier quotes per thousand. The sales rep sees the current price as $80.00 and enters:
Quantity 12 · Rate $80.00 · Total $960.00
The correct answer may be 12 boxes × 50 each × $0.08 per each = $48.00.
Every number in the first calculation came from a real record. The units did not.
A safe quote line needs four values that agree:
- customer quantity and unit
- NetSuite transaction quantity and unit
- price and its unit basis
- inventory quantity in the base or stock unit
NetSuite Multiple Units of Measure can manage fixed conversions between those values. It cannot turn an ambiguous “box,” a variable-weight piece or an unknown pack into a reliable conversion. Those cases need item-specific data and review before the quote reaches the customer.
How NetSuite units work
Oracle’s Multiple Units of Measure guide describes the core model:
- Create a units type, such as Quantity, Length or Weight.
- Choose one base unit in that type.
- Define every other unit as a number of base units.
- Assign the units type to an item.
- Choose the item’s default purchase, stock and sale units.
If Each is the base unit and Box of 50 has a conversion rate of 50:
base quantity = transaction quantity × conversion rate
For 12 boxes:
600 each = 12 boxes × 50 each per box
The price must move in the same direction:
rate per box = rate per each × 50
At $0.08 per each:
$4.00 per box = $0.08 × 50
Both representations must produce the same extension:
| Representation | Quantity | Rate | Extension | Base quantity |
|---|---|---|---|---|
| Each | 600 EA | $0.08 / EA | $48.00 | 600 EA |
| Box of 50 | 12 BOX50 | $4.00 / BOX50 | $48.00 | 600 EA |
| Mixed basis | 12 BOX50 | $0.08 / EA | $0.96 | Invalid |
The extension check catches the common error. The base-quantity check catches a second one: a quote can have the right total and still promise the wrong physical quantity.
Design the units type before you assign it
NetSuite makes the units type a durable part of the item record.
Oracle’s item assignment instructions state that an item’s units type cannot change after assignment. Once any item uses a units type, you can add units to that type but cannot edit the type itself. Oracle’s setup instructions allow up to 650 units in one type and define each conversion as the number of base units in one unit.
That makes unit-type design a master-data decision.
Use one physical dimension in each type
Use units that can convert through one stable physical relationship.
Good unit types:
| Units type | Base unit | Other units | Why it works |
|---|---|---|---|
| Length | millimetre | centimetre, metre, inch, foot | The conversion is fixed |
| Mass | kilogram | gram, tonne, pound | The conversion is fixed once the exact unit is named |
| Quantity-12 | each | dozen, case of 12 | Every item assigned to the type follows the same pack conversion |
| Sheet-area | square millimetre | square metre, square foot | The conversion is fixed |
Bad unit type:
| Units type | Base unit | Other unit | Problem |
|---|---|---|---|
| Packaging | each | case = 24 | Some items ship 6, 12, 40 or 50 each per case |
The conversion rate lives on the units type, not on each transaction line. A generic Case with conversion 24 cannot also mean 50 for another item assigned to the same type.
Create separate types or unit names for materially different fixed packs, such as Quantity-12, Quantity-24 and Quantity-50. Another option is to sell the item’s packaging as its own inventory or assembly item when the pack has a separate identifier, price, stock behavior or replenishment process.
Do not create hundreds of nearly identical types without checking the item-master consequences. Group products only when the conversion means the same thing for all of them.
Choose the smallest useful base unit
The base unit anchors inventory and transaction math. For a fixed pack, Each usually works. For cable, millimetre, metre or foot may work depending on how the business buys, cuts and stocks it.
Avoid a base unit so small that normal orders create huge base quantities. NetSuite limits a transaction line to 9,999,999,999 base units. Oracle warns that large conversions can hit this limit unexpectedly.
Example:
- base unit: millimetre
- sale unit: kilometre
- conversion: 1,000,000 millimetres
- order: 12,000 kilometres
- base quantity: 12,000,000,000 millimetres
That line exceeds the documented limit. A metre base unit would produce 12,000,000 base units and stay below it.
The base must still fit inventory, work-order and precision needs. Do not choose it from the limit alone.
Set item defaults with the downstream transaction in mind
The item record can hold different defaults:
- Purchase unit for purchase transactions and last purchase price
- Stock unit for inventory counts and availability
- Sale unit for estimates, sales orders and invoices
- Consumption unit for inventory consumption
Oracle says purchase orders default to the purchase unit, invoices default to the sale unit and inventory adjustments default to the stock unit. Users can change units on many purchase and sales transactions, but not on every inventory transaction.
The defaults should match the work people normally perform. They do not remove the need to show the unit.
| Record or transaction | Default to review | Failure if wrong |
|---|---|---|
| RFQ and estimate | Sale unit | Rep prices a box with an each rate |
| Sales order and invoice | Sale unit | Customer sees a unit that differs from the offer |
| Purchase order | Purchase unit | Supplier receives the wrong pack or quantity |
| Inventory availability | Stock unit | Rep mistakes 40 cases for 40 each |
| Assembly build and work order | Base unit | Released build quantity differs from the sold quantity |
| Last purchase price | Purchase unit | Cost comparison mixes per-case and per-each values |
Review custom scripts, imports and integrations as well. A field named quantity does not identify the unit by itself.
Quote fixed packs correctly
Assume:
- base unit: Each
- sale unit: Box of 50
- purchase unit: Thousand
- stock unit: Each
- customer request: 12 boxes
- selling price: $0.08 per each
- supplier cost: $52.00 per thousand
Convert the physical quantity first:
| Step | Calculation | Result |
|---|---|---|
| Customer quantity to base | 12 × 50 | 600 EA |
| Base quantity to purchase unit | 600 ÷ 1,000 | 0.6 M |
| Selling extension | 600 × $0.08 | $48.00 |
| Supplier cost | 0.6 × $52.00 | $31.20 |
| Gross profit before other costs | $48.00 − $31.20 | $16.80 |
The quote may show 12 boxes at $4.00 each. The cost model may use 0.6 thousand at $52.00. The warehouse may reserve 600 each. All three views describe the same physical quantity.
Show “Box of 50” on the customer document. “Box” is not enough.
GS1’s GTIN Management Standard treats a change in pack or case quantity as a product-identification event. If the supplier changes the pack from 50 to 40, update the packaging identity and the conversion. Quote history cannot supply the old factor safely.
Handle price-per-thousand without corrupting quantity
Industrial suppliers often quote small parts per hundred or per thousand. The notation can be easy to miss:
- $85.00 / M may mean $85 per thousand
- $85.00 / C may mean $85 per hundred
- M can also mean metre in another context
Store the price unit as structured data. Do not parse the letter without the supplier’s convention.
For a 3,500-each requirement at $85 per thousand:
3,500 EA ÷ 1,000 = 3.5 M
3.5 × $85 = $297.50
If the customer wants seven boxes of 500, the physical quantity remains 3,500 each. The customer-facing unit can be BOX500 while the purchase-price basis remains M. Preserve both.
Treat variable packs as quantities, not fixed conversions
A conversion rate must remain true for every transaction that uses it.
Do not define:
- one coil = 2,400 kg when coil weights vary
- one bar = 6 m when the supplier can ship mixed lengths
- one reel = 1,000 m when partial and remnant reels circulate
- one crate = 12 pieces when export packing changes by destination
For a variable pack, use the measured or agreed quantity on the transaction and store the package count separately. A shipment might contain:
3 coils · 7,240 kg total
The commercial unit may be kilogram. The logistics record can carry three packages. Coil is a handling count, not a fixed mass conversion.
If sales offers a fixed per-coil price, define what that price covers and how weight variance affects billing. That is a commercial rule, not a universal unit conversion.
Sell cut length without losing the stock quantity
Suppose a customer asks for 20 pieces of hose at 3.5 metres each.
The demand is:
20 pieces × 3.5 m = 70 m
If NetSuite stocks and prices the hose by metre, the quote line can carry 70 m and a description that commits to 20 cuts of 3.5 m. If the company sells each finished cut as a separate item, the transaction may need 20 each plus the length attribute or configuration.
Decide which object carries each fact:
| Fact | Possible owner |
|---|---|
| Total material quantity | Inventory item in metres |
| Number of cuts | Transaction field, work instruction or configured item |
| Length of each cut | Configuration, transaction field or work instruction |
| Scrap allowance | Costing or routing rule |
| Customer price | Per metre, per cut or fixed line amount |
One Piece-to-Metre conversion works only when every piece has the same length. A configurable cut cannot use one fixed factor.
Quote weight-based products with a stated basis
Weight-based selling has two separate questions:
- How will you estimate the quantity for the quote?
- Which measured quantity will govern the invoice?
For a fabricated plate, the quote may use theoretical weight from material density and dimensions. The final invoice may use theoretical weight, certified weight or scale weight. State the basis.
Example:
- requested plate quantity: 8 pieces
- theoretical weight: 412.5 kg per piece
- quoted quantity: 3,300 kg
- quoted rate: $2.40 per kg
- extension: $7,920
If the customer expects a fixed price per piece, quote $990 per piece and retain the theoretical weight in the cost model. Do not switch to actual-weight billing later without an agreed term.
Name the mass unit. Ton can mean short ton, long ton or metric tonne. Use kg, t, lb, short ton or another explicit term. UNECE Recommendation 20 supplies standard codes for units used in international trade. The code gives integrations a shared label; it does not supply the item-specific conversion or commercial rule.
Check assemblies, serial numbers and lots
Manufacturing items add constraints that a basic quote test can miss.
Assemblies use base units for build records
Oracle’s Assemblies and Units of Measure guide states that assembly builds, unbuilds and work orders use base units. A sale of two dozens can create a base quantity of 24 assemblies downstream.
Test the quote-to-work-order path. The sales unit can look correct while a custom integration sends 2 as the build quantity instead of 24.
Serialized items need one serial per base unit
Oracle requires the base unit to be the lowest unit for serialized inventory and assemblies. The selected stock, purchase and sale units cannot use a fractional conversion to that base.
If the company sells two dozens of a serialized item with Each as the base unit, the transaction represents 24 serial numbers. Test serial entry, fulfilment and returns in the non-base unit.
Lot-numbered items count lots differently
Oracle allows fractional quantities for lot-numbered items. On transactions, the lot quantity follows the transaction unit. A receipt of ten cases can show ten against the lot even when each case converts to six base units.
Do not reuse serial-number logic for lot-numbered stock.
Apply quantity pricing on the correct basis
NetSuite Quantity Pricing can select different prices from the quantity sold. Oracle’s item pricing setup lets companies calculate discounts by line quantity, overall item quantity, overall parent quantity or overall schedule quantity.
Test the transaction unit used by your actual item and form. A break at 100 is meaningless in a design document unless the team knows whether it means 100 each, 100 boxes or the converted base quantity in that account.
Use a test table:
| Scenario | Input | Expected tier | Expected extension |
|---|---|---|---|
| Below break in eaches | 99 EA | Base tier | Known value |
| At break in eaches | 100 EA | Tier 2 | Known value |
| Equivalent boxes | 10 BOX10 | Same physical tier as 100 EA | Same extension |
| Split lines | 60 EA + 40 EA | Depends on line vs overall-item setting | Known value |
| Matrix children | 60 red + 40 blue | Depends on parent or schedule setting | Known value |
If the equivalent box case does not reach the expected tier, do not fix it with a hidden price override. Fix the price basis or conversion design.
Reconcile the customer PO by physical quantity
A customer may convert the quote into its preferred unit:
- quote: 12 BOX50 at $4.00
- PO: 600 EA at $0.08
These lines agree:
- physical quantity: 600 each
- extension: $48.00
- product identity: same
The reconciliation should show an equivalent representation, not a quantity exception.
A different case is:
- quote: 12 BOX50
- PO: 12 BOX40
The line counts agree. The physical quantities differ by 120 each. That needs review even if the PO copies the $48 total.
Compare:
- item identity
- customer and seller units
- conversion factors and their sources
- base quantity
- rate basis
- extension
- pack or dimensional specification
Carry the same decision into fulfilment and invoice creation. Our NetSuite PO-matching guide covers the broader order comparison.
Map external unit codes explicitly
Customer files may use EA, EACH, PC, PCS, C62 or a local code for the same concept. Another file may use M for metre while a supplier uses it for thousand.
Create a mapping table with context:
| Incoming code | Source or standard | NetSuite unit | Conditions |
|---|---|---|---|
| C62 | UNECE Recommendation 20 | Each | Direct mapping |
| MTR | UNECE Recommendation 20 | Metre | Direct mapping |
| BX | Customer code list | Box of 50 | Only for the specified customer and item family |
| M | Supplier price sheet | Thousand | Only when that supplier defines M as 1,000 pieces |
| blank | Customer spreadsheet | Unresolved | Ask or derive from a controlled contract field |
Map a code only within the scope that gives it meaning. A global M-to-metre rule will corrupt supplier price sheets that use M for thousand.
Oracle’s Universal Mapping Assistant can use a units-of-measure standard supplied by an installed SuiteApp. Oracle currently documents a PEPPOL UN/ECE option. Whether you use that feature or an integration mapping, preserve the external code and the chosen NetSuite internal unit.
What Bourne adds to NetSuite unit conversion
NetSuite should own the approved units type, item defaults and conversion rates used for transactions. Bourne handles the customer and supplier data that arrives before a clean NetSuite line exists.
Bourne can:
- extract quantity, unit and price basis from spreadsheets, PDFs and email
- retain the customer’s original words and unit code
- match the requested product before selecting its conversion
- map customer and supplier codes within the right scope
- read the item’s NetSuite base, sale, stock and purchase units
- convert quantity and rate onto one basis
- compare the converted quantity with pricing breaks
- flag variable packs, missing units and conflicting factors
- show the customer quantity, warehouse quantity and purchase-cost quantity together
- prepare the estimate after the rep accepts the interpretation
- reuse the same conversion during PO review and order entry
The review should answer the business question:
The customer requested 12 boxes. We matched item 1842. NetSuite defines one box as 50 each. The quote will show 12 BOX50 at $4.00. Inventory demand will be 600 EA. Supplier cost uses 0.6 thousand at $52.00. Approve?
That is easier to review than a hidden conversion behind a quote total.
Test the complete quote-to-cash path
Run these cases in a sandbox or controlled test account:
| Test case | Expected result |
|---|---|
| One fixed case in sale unit | Correct base quantity, rate and extension |
| Same demand entered in base unit | Same physical quantity and commercial result |
| Purchase in thousand, sale in case, stock in each | Cost, sale and availability reconcile |
| Customer code maps to the wrong pack | Workflow blocks the quote line |
| Missing unit | Line remains unresolved |
| Variable-weight coil | No fixed coil-to-kilogram conversion applied |
| Cut-length item | Total length and cut count reach the right downstream records |
| Quantity break at an equivalent unit | Correct pricing tier and extension |
| Serialized dozen | 12 serial numbers required per dozen |
| Lot-numbered case | Lot quantity follows NetSuite’s documented transaction behavior |
| Assembly sold in a non-base unit | Work order receives the correct base quantity |
| Quote in cases, PO in eaches | Reconciliation shows equivalent base quantity |
| Pack size changed from 50 to 40 | Packaging identity and conversion trigger review |
| Large unit conversion | Base quantity remains below NetSuite’s line limit |
| Printed proposal and invoice | Unit and price basis appear clearly on both |
Test scripts, CSV imports, integrations, saved searches, reports and custom PDFs. The UI can calculate correctly while an integration omits the unit field or a report labels base quantity as sale quantity.
Measure unit quality
Track:
- RFQ lines with a missing or unknown unit
- quote lines with manual unit overrides
- lines whose quantity changed after item matching
- pack-size exceptions
- quantity-pricing overrides caused by unit setup
- PO discrepancies resolved as equivalent conversions
- PO discrepancies caused by true physical-quantity changes
- warehouse corrections after sales-order release
- credits and rebills tied to unit errors
- margin changes caused by purchase-versus-sale unit mistakes
Report the rate by customer, supplier and product family. One customer with an undocumented code list can create most of the exceptions.
Frequently asked questions
Can one NetSuite unit type support cases of 12, 24 and 50?
Not under one generic Case conversion. A unit has one conversion rate inside its units type. Create distinct fixed-pack units or types, or represent the packages as separate items when they have their own identity and inventory behavior.
Should the quote show the customer’s unit or our stock unit?
Show a unit the customer can reconcile with its request and make the pack or dimensional basis explicit. Retain the stock or base quantity for fulfilment. If the customer unit cannot map safely to the item, resolve it before quoting.
Can AI infer the pack size?
AI can retrieve a candidate factor from an item record, supplier specification, contract or prior transaction. Use the factor only when a controlled source proves that it applies to the matched item and current packaging. A similar product or old quote is not enough.
Which unit should quantity pricing use?
Use the basis configured and tested in your NetSuite account. Test base and alternate-unit entries at each break, including split lines and matrix children. Put the governing unit in the pricing design.
How should we quote a variable-weight item?
Use the agreed commercial unit, such as kilogram, and state whether the quote and invoice use theoretical or measured weight. Track package count separately if one coil, bundle or crate does not have a fixed conversion.
What changes for serialized items?
Use the smallest unit as the base. NetSuite requires serial numbers equal to the base-unit quantity, even when the transaction uses a larger unit. A sale of two dozens therefore needs 24 serial numbers when Each is the base.
What if the customer PO uses a different unit?
Convert both lines to the same base quantity, then compare item, pack, rate basis and extension. Accept the representation as equivalent only when the physical and commercial commitments agree.
Can Bourne prepare the NetSuite line?
Yes. Bourne can extract the incoming quantity and unit, retrieve the matched item’s NetSuite conversion, explain the calculation and prepare the estimate or sales-order line after the workflow resolves any exception.
Further reading
Oracle: Multiple Units of Measure documentation
NetSuite documentation for the record or feature discussed in this guide.
GS1: pack and case quantity changes
When changed case or pallet quantities require a new GTIN.
Bourne for manufacturing
See what Bourne could do for your quoting team.
Bring a customer request and the steps your team takes to quote it. We’ll discuss the application, integrations and approvals you need.