NetSuite quote margin for industrial sales

NetSuite can calculate estimated gross profit on an estimate, but the percentage only means what its selected cost sources include. Industrial sellers need a second commercial view that names the cost basis, adds quote-specific costs, exposes missing inputs and ties approval to the exact quote revision.

Buğra Gündüz

Co-Founder & CEO of Bourne · Updated

A pump manufacturer quotes a replacement skid for £420,000. The NetSuite estimate shows 27.6% gross profit. The sales manager sees a healthy deal and approves the price.

The estimate does not include £18,400 of outside machining, £8,400 of seller-paid freight, a £12,000 warranty allowance or the £5,600 rebate attached to the customer agreement. Once those costs enter the decision, expected contribution falls to £71,540, or 17.0%.

Nobody made an arithmetic error. The team approved one definition of margin and delivered another.

That gap appears often in industrial quotes. NetSuite calculates estimated gross profit from transaction revenue and the estimated cost source on each item line. It can do that calculation well. It cannot decide whether average inventory cost, a current supplier offer, a routing estimate or a contract-specific allowance represents the commercial exposure in this bid. Your quoting process has to make that decision visible.

This guide explains how to use NetSuite’s gross-profit fields, where those fields stop, and how to build a quote margin review that a sales manager, estimator and finance team can trust.

Start with the decision, not the percentage

The same quote can carry several valid profit figures because each figure answers a different question.

MeasureCalculationDecision it supports
NetSuite estimated gross profitTransaction revenue minus estimated item costIs this estimate attractive under the selected NetSuite cost basis?
Commercial contributionNet revenue minus all direct and quote-specific costsShould we offer these prices and terms to this customer?
Accounting gross profitRecognized revenue minus posted cost of goods soldWhat did the completed sale contribute under accounting policy?
Operating profitRevenue minus cost of goods sold and operating expensesWhat did the business earn after broader expenses?

Sales needs the second view before it sends the quote. Finance still needs the third view after fulfillment. Calling both “margin” causes avoidable arguments because the numerator and cost boundary differ.

Write the definition beside the number. A useful label says:

Expected contribution after material, conversion, outside processing, outbound freight, warranty and customer rebate. Excludes corporate overhead and tax.

That sentence gives an approver more information than a red or green percentage ever will.

What NetSuite calculates on an estimate

Oracle defines estimated gross profit as sales minus estimated cost. With the Gross Profit feature active, NetSuite exposes the following fields on estimates and other sales transactions:

NetSuite fieldLevelWhat it shows
Cost Estimate TypeItem lineThe rule NetSuite used to find estimated cost
Est. Unit CostItem lineThe unit cost returned by that rule
Est. Extended CostLine and transactionEstimated unit cost multiplied by quantity
Est. Gross ProfitLine and transactionRevenue minus estimated cost
Est. Gross Profit PercentLine and transactionEstimated gross profit divided by revenue

Oracle’s gross-profit field reference states that the transaction total includes line gross profit plus transaction-level discounts and markups. Standard forms show the fields after you activate Gross Profit. Custom forms need the fields added to the form.

These figures help. A manager can see a low-margin line inside an otherwise acceptable quote. Saved searches can find estimates below a threshold. An integration can read the header values through the estimate record. But the calculation inherits every strength and weakness of the selected cost estimate type.

Oracle also says the cost often remains unknown until fulfillment. Its Gross Profit overview tells users to treat the result as an estimate, not actual cost. An approval screen should make that uncertainty explicit.

Choose a cost source for the work you will perform

NetSuite offers several cost estimate types. The names sound interchangeable until a volatile material price, a new product or a subcontracted operation makes the difference material.

Cost estimate typeSourceAppropriate useCommon failure
Average CostCalculated average of purchased unitsStocked items when current inventory value supports the sales decisionOld inventory lowers the apparent replacement cost
Last Purchase PriceMost recent receipt priceRepetitive purchases with recent, representative receiptsOne emergency buy or old receipt controls the estimate
Purchase PriceItem purchase-price field, then recent price if emptyMaintained catalog or planning costMaster data falls behind the market
Preferred Vendor RatePreferred supplier rateStable multi-vendor items with a real preferred sourceThe named supplier cannot cover the quoted quantity or date
Purchase Order RatePreferred vendor rate at first, then recent PO rateSpecial-order and drop-ship itemsA prior PO covers different volume, timing or specification
Item Defined CostUser-maintained valueServices, non-inventory work or a governed planning costNobody owns the update cycle
Derived from Member ItemsCurrent estimated cost of kit membersKits whose members represent the quoted configurationThe current kit differs from the historical customer configuration
CustomValue entered on the transaction lineA quote-specific supplier offer or engineered costA user enters a number without source, date or approval

Oracle documents the definitions and fallback behavior in its cost estimate type reference. Availability also changes by item type. For example, an inventory item can use Average Cost, Item Defined Cost, Last Purchase Price, Preferred Vendor Rate, Purchase Order Rate or Purchase Price. A kit defaults to Derived from Member Items. Oracle lists the combinations in Available Cost Estimate Types for Each Item Type.

Do not select one type for the whole catalog because it looks conservative or convenient. Assign a policy by cost behavior.

Cost behaviorPractical quote basis
Stocked standard component with steady pricingAverage cost or governed standard cost
Commodity or alloy with fast price movementCurrent supplier offer plus validity date
Buy-to-order componentSupplier quote or purchase-order rate tied to the requirement
Made-to-order assemblyCurrent BOM, routing, labor and machine assumptions
Outside processingCurrent subcontractor offer for the quoted specification and quantity
Engineering or field serviceEstimated hours by skill and approved labor rate
Warranty exposureProduct- and customer-specific allowance

The policy should also state who may override the item default. NetSuite requires the Override Estimated Costs on Transactions permission before a user can change the cost estimate type on a transaction line. If an integration writes a line estimate, Oracle requires the Custom type. Limit that permission, then record the source behind each custom value.

Average cost can answer the wrong commercial question

Suppose the factory holds 100 motors at £1,000 average cost. Its supplier now quotes £1,280 for replenishment. A customer requests 80 units for delivery after the current stock will support other committed orders.

At a selling price of £1,400 per motor:

BasisRevenueCostApparent contribution
Average cost£112,000£80,000£32,000 / 28.6%
Current supplier offer£112,000£102,400£9,600 / 8.6%

Both calculations can describe the same item. Only one reflects the cost of taking this order under the current supply plan.

The reverse can happen too. An emergency receipt may push Last Purchase Price far above the supplier’s normal rate. Blindly choosing the “higher” source does not make a quote safer. It can price good work out of the market. The cost review needs quantity, source, date, validity, currency, unit and delivery context.

NetSuite inventory costing and quote cost estimation also serve different purposes. Oracle’s inventory costing guide explains how average, FIFO, LIFO, specific and standard methods value inventory transactions. The quote estimator should not silently replace the company’s accounting method. It can show a commercial cost beside the NetSuite estimate and state why the two differ.

Build the manufactured cost from the current job

An assembly can look profitable while an old routing quietly supplies its conversion cost. Review the parts of the cost model that change with the quoted configuration:

Cost componentEvidence to attach
Direct materialBOM revision, quantities, scrap factors, current purchase basis
Direct laborRouting revision, setup hours, run hours, labor class and rate
Machine or work-center costSetup time, cycle time, machine rate and expected utilization basis
ToolingExisting tool status, new-tool quote, expected life and allocation rule
Outside processingSupplier, operation, specification, quantity, rate and validity
Inspection and testingRequired plan, sample size, lab or certification cost
PackagingCustomer specification, returnable asset and packing labor
EngineeringNon-recurring hours, discipline and recovery method

The cost packet should identify the revision behind each input. “Routing cost £24,600” hides whether the estimator used the current cycle time or copied a prior job. “Routing Rev F, setup 18 hours, run 1.4 hours per unit, 40 units” gives engineering and operations something they can review.

For a configurable product, calculate the selected configuration. A family-level average cannot represent every motor, valve or skid variant. The same base item may require a stainless enclosure, hazardous-area motor, customer witness test or export packing on this quote. Each option changes cost before it changes the displayed item name.

Add the costs NetSuite gross profit can leave outside the line estimate

Oracle states that its gross-profit cost estimate excludes shipping and handling charges. That detail matters when the seller pays freight. NetSuite can calculate a customer shipping charge on an estimate, but a revenue charge does not prove that the commercial cost covers the carrier, route, split deliveries, insurance or special handling.

The review should test these categories separately:

Outbound freight

Record the delivery term, ship-from point, destination, shipment count, weight or dimensions, carrier basis, currency and validity. A quote with three planned releases needs three shipment assumptions. If the customer can call off ten partial deliveries, the review needs either a limit or a cost allowance.

Inbound freight and duty

Landed cost can include freight, duty, insurance and handling required to bring purchased stock into inventory. Oracle’s Landed Cost overview explains how NetSuite adds those charges to inventory value. For Gross Profit, Last Purchase Price includes landed cost only when the account preference enables it. Display that setting in the costing policy so users do not add the same cost twice or omit it entirely.

Outside processing

A material item may need heat treatment, coating, machining, calibration or certification. Link the supplier offer to the operation and quantity. If the quote uses a planning rate while sourcing waits for bids, mark the line provisional and set a release rule.

Warranty and service

A two-year field warranty does not have the same expected cost as a twelve-month return-to-base warranty. Estimate travel, labor, parts and subcontractor exposure using the product, destination and promised response. State whether the quote price includes that allowance.

Rebates and commissions

Customer rebates, distributor commissions and agent fees reduce what the seller retains. A transaction discount may already reduce revenue in NetSuite. A quarterly rebate or commission can sit outside the estimate. Show each one once, with its calculation basis.

Financing and payment terms

Net 90, milestone billing and retention affect cash exposure. Some companies include financing cost in commercial contribution; others show it as a separate approval. Either policy can work when the reviewer sees the amount and basis.

Risk allowance

Do not hide unknowns inside a blanket percentage. Name the risk: unconfirmed freight, commodity escalation, uncertain test hours or an open design question. Give it an owner, amount or range, and resolution date. The manager can then approve a real exposure.

Work a complete quote example

Northfield asks for one engineered pump skid. Sales prepares revision 4 at £420,000. NetSuite uses the item cost sources on the estimate and reports £304,200 estimated cost.

NetSuite estimateAmount
Revenue after line and transaction discounts£420,000
Estimated item cost£304,200
Est. gross profit£115,800
Est. gross profit percent27.6%

The commercial review finds costs outside that basis:

Commercial adjustmentAmountEvidence
Current material uplift£6,200Supplier offer valid through 30 Sep
Outside machining£18,400Supplier quote OS-1844
Seller-paid freight£8,400Three planned deliveries to site
Warranty allowance£12,000Two-year field warranty
Customer rebate£5,6001.33% annual agreement rebate
Total added cost£50,600

The resulting economics are:

Commercial viewAmount
Revenue£420,000
NetSuite estimated item cost£304,200
Added commercial costs£50,600
Expected contribution£65,200
Expected contribution margin15.5%

If the original material estimate already included £6,340 of related allowances, reconcile them before approval. After removing that overlap, the agreed commercial cost becomes £348,460 and contribution becomes £71,540, or 17.0%. The reconciliation matters as much as finding missing cost. Adding every number without checking scope creates a different error.

Now the manager can make a useful decision. They can raise the price, narrow warranty, charge freight, reduce delivery splits, ask sourcing for another machining bid or accept 17.0% because the order opens a strategic account. A single threshold cannot make that judgment.

Show every line that drives the answer

A quote economics screen should answer six questions without sending the manager into item records and email:

  1. What price and quote revision will the customer receive?
  2. Which cost source governs each material or service line?
  3. How old is each source, and when does it expire?
  4. Which costs sit outside NetSuite’s item estimate?
  5. What remains unresolved?
  6. Which change would require another approval?

For each cost, store this minimum record:

FieldExample
Quote and revisionQ-2048 revision 4
Cost categoryOutside machining
Amount and currency£18,400 GBP
Unit basisOne skid / 40 machined pieces
Source systemSupplier email and sourcing workspace
Source recordOS-1844
Effective date16 Sep 2026
Valid through30 Sep 2026
Included in NetSuite estimated costNo
OwnerSourcing
StatusConfirmed

This record prevents three common problems: an approver cannot tell where a number came from, two systems include the same allowance, or a later quote revision reuses an expired cost.

A Bourne quote economics workspace reconciles the NetSuite estimate with the current commercial costs and blocks release when a source needs review.
Quote margin · Example workspace

Treat missing cost as a decision, not zero

Zero is a real number. Unknown means the team has not established the number. A margin tool must distinguish them.

StatusMeaningRelease behavior
ConfirmedCurrent source matches scopeInclude in calculation
ProvisionalApproved planning value with a named ownerInclude and display the risk
RangeCost falls within stated boundsShow low and high contribution
MissingNo defensible valueBlock or request explicit exception
Not applicableReviewed and excluded for a stated reasonExclude with record of the decision

Suppose freight lies between £8,000 and £13,000. Show contribution at both values. At £8,000, the quote may clear the approval threshold. At £13,000, it may not. That is the point of the review.

A missing cost should not quietly convert to £0 because a spreadsheet cell was blank or an API returned null. The product view needs a visible status and an owner.

Control when NetSuite recalculates cost

Industrial sales cycles can run for months. Costs change between opportunity, estimate, sales order and invoice. NetSuite provides a Recalculate Estimated Cost on Creation of Linked Transactions preference with three options:

SettingBehavior
Through Sales OrderRecalculates through the sales order, but not the invoice
AlwaysRecalculates at every sales stage
NeverCarries the earlier estimate when item cost changes

Oracle explains the behavior in its linked-transaction recalculation guide. The setting applies when a user creates one transaction from another. It does not solve every route by which an estimate, order or integration can change.

There is no universally correct setting. The commercial workflow needs both views:

  • Approved quote economics: the cost basis and contribution that supported the customer offer.
  • Current expected economics: the latest forecast after supplier, freight, quantity or configuration changes.

If NetSuite recalculates the sales order, compare the new values with the approved estimate. Do not erase the earlier basis. If the margin moves beyond policy, route the difference to the right owner before order acknowledgement.

Custom cost behaves differently. Oracle says a Custom cost estimate value persists into linked transactions even when recalculation is active. That makes source and expiry metadata essential. A preserved custom value may represent a valid supplier commitment or a stale manual override.

Connect margin to quote approval

Margin approval should use amount and percentage. A £500 exception on a £2,000 spare part can produce a large percentage change with little absolute exposure. A one-point change on a £10 million project can matter far more.

Build the authority matrix around the actual decisions:

TriggerPrimary ownerEvidence required
Contribution below targetCommercialPrice, full cost bridge, account reason
Material cost older than policySourcingCurrent supplier basis or approved escalation rule
Routing or BOM not currentEngineering / operationsGoverning revisions and assumptions
Freight not confirmedLogisticsRoute, delivery term, shipment plan and estimate
Warranty beyond standardServiceScope, response obligation and allowance
Rebate or commission conflictFinanceAgreement and calculation basis
Missing direct costCost ownerConfirmed amount or explicit exception

The pricing approval guide explains how to route these decisions and lock customer release. The margin review supplies the economics inside that approval packet.

If someone changes quantity, configuration, price, delivery term, shipment count, warranty, currency or cost source after approval, calculate the impact and reopen only the affected decisions. A comment saying “finance approved” does not authorize a different quote.

Compare approved margin with actual performance

The margin process improves when the factory closes the loop after delivery. Compare the approved quote basis with the sales order, invoice and actual cost records.

VarianceWhat it may reveal
Material purchase varianceSupplier move, wrong quantity break or stale source
Labor-hours varianceRouting assumption, learning curve or production issue
Outside-processing varianceScope gap, expedite or supplier change
Freight varianceWrong shipment count, route or delivery term
Warranty varianceProduct reliability or underpriced service obligation
Revenue varianceDiscount, credit, rebate or change-order leakage

Do not judge the estimator from one noisy order. Group similar products, customers and workflows. Look for a repeated bias. If quoted freight runs low on 70% of split-delivery orders, fix the model. If a particular routing consistently overruns, engineering can update the standard. If custom cost overrides never expire, add a control.

NetSuite does not place estimated gross-profit fields in standard reports or KPIs automatically. Oracle’s reporting guide explains that teams must add the fields to custom reports, searches or saved-search KPIs. Add quote revision, cost source, source date and approval outcome to the analysis as well. The percentage alone cannot tell you why the forecast missed.

A practical implementation sequence

1. Define the commercial contribution policy

List every included and excluded cost. Define margin and markup. State how the process handles tax, overhead, financing, rebates, warranty and freight. Give finance ownership of the definition.

2. Map item classes to default cost sources

Review inventory, assemblies, kits, resale items, services and charges. Select the NetSuite cost estimate type that fits each class. Document permitted overrides and fallback behavior.

3. Add Gross Profit fields to every quote form in use

Standard forms expose them after feature activation. Custom forms need explicit configuration. Test estimate lines, transaction totals, discounts and markups.

4. Add quote-specific cost records

Capture outside processing, outbound freight, warranty, rebates, commissions, engineering and other costs that the selected NetSuite item estimate does not contain. Store source, date, scope, currency and inclusion status.

5. Build the cost bridge

Start with the NetSuite estimated item cost. Add or subtract reconciled commercial adjustments. Display the full bridge from revenue to contribution so an approver can challenge any line.

6. Add completeness rules

Require a status for every expected cost category. A blank source, expired supplier offer or unconfirmed freight estimate should produce a visible decision.

7. Tie approval to the quote revision

Freeze the reviewed economics with the customer-facing revision. Define which changes reopen pricing, sourcing, finance, service or logistics approval.

8. Compare forecast with actuals

After fulfillment and billing, calculate variance by product family, customer, plant and cost category. Feed repeated errors back into item data, routing assumptions and approval policy.

Test the calculation before people rely on it

Use a test set that represents the difficult work, not a clean demo quote.

TestExpected result
Transaction discountRevenue and header gross profit reflect the discount once
Custom line costSource and approval appear with the override
Seller-paid freightCommercial contribution includes cost even if NetSuite item cost does not
Customer-paid freightRevenue and related cost appear on the agreed basis
Landed cost activeReview does not add inbound freight twice
Missing outside-processing quoteRelease shows a blocker or named exception
Expired supplier offerCost shows stale status and owner
Quote revision changes quantityQuantity-dependent cost and approval rerun
Estimate converts to sales orderApproved basis remains visible beside recalculated cost
Currency changesRevenue and costs use dated, traceable exchange rates
Kit membership changesReview identifies the configuration and cost revision
Partial shipment addedFreight and handling assumptions update

Test both amount and percentage. Reconcile the product view to the NetSuite estimate line by line. Then use historical orders to see whether the model would have caught known margin misses.

Metrics that tell you whether the process works

Track outcomes that expose data quality and decision speed:

  • median time from draft price to margin approval
  • percentage of quote value supported by current cost sources
  • percentage of quotes with a custom cost override
  • expired or missing cost inputs at first review
  • approval reopen rate after quote revision
  • quoted contribution versus actual contribution by cost category
  • margin leakage from freight, rebates, outside processing and warranty
  • win rate by contribution band
  • value and percentage of approved exceptions

A higher margin is not the only goal. The team also needs faster, more consistent bids. If the process forces an engineer to rebuild every cost from scratch, it will slow the quote and drive people back to side spreadsheets. Reuse governed data where the scope matches. Ask for human review where the quote departs from it.

Frequently asked questions

What is the difference between margin and markup?

Margin divides profit or contribution by selling price. Markup divides it by cost. If an item costs £80 and sells for £100, the contribution is £20. Margin is 20%; markup is 25%. Put the formula beside any threshold because teams often use the terms interchangeably.

Does NetSuite calculate margin on an estimate?

Yes. With Gross Profit active, NetSuite can show estimated unit cost, extended cost, gross profit and gross-profit percentage on estimate lines and at transaction level. The result depends on the Cost Estimate Type used for each item.

Which NetSuite cost estimate type should we use?

Choose by item and commercial decision. Average Cost may suit stable stocked components. A current supplier offer may suit volatile or buy-to-order material. A manufactured assembly may need current BOM and routing cost. Document the source and allow controlled overrides for exceptions.

Does NetSuite estimated gross profit include freight?

Oracle says cost estimates used for Gross Profit exclude shipping and handling charges. If the seller pays outbound freight, include that cost in the commercial contribution view. Check whether Last Purchase Price already includes inbound landed cost under your account preference before adding it again.

Should we use current cost or standard cost when quoting?

Use the basis that reflects the decision, then show the accounting view separately. A current supplier price may better represent a buy-to-order commitment. Standard cost may support stable manufactured work and variance reporting. The quote should identify which one it uses.

What happens to margin when an estimate becomes a sales order?

It depends on the Recalculate Estimated Cost on Creation of Linked Transactions preference and the cost type. NetSuite can recalculate through sales order, always recalculate or never recalculate. Custom cost values persist. Preserve the approved estimate basis and compare any new cost with it.

Can NetSuite block a low-margin quote?

NetSuite can support workflow and approval controls around estimates, but a percentage alone rarely captures the full decision. Route the cost bridge, missing inputs and commercial terms with the exact quote revision. Block release until the required owners decide.

How should we handle unknown costs?

Do not treat an empty value as zero. Use a provisional amount, range or missing status. Assign an owner and state whether the quote can proceed. If the decision uses a range, show contribution at both bounds.

Can Bourne calculate quote contribution from NetSuite and supplier data?

Yes. Bourne can read the estimate, item cost sources, supplier offers, routings and commercial terms; reconcile the costs; flag gaps; and prepare the decision for the authorized people. The resulting record shows what NetSuite calculated, what the commercial view added and which inputs still need review.

Further reading

Sandvik Coromant: machining economics
How tooling decisions affect machining time and cost per component.

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.