Skip to content
elastly
Book a demo

ERP pricing: how NetSuite, SAP, Business Central and Odoo handle prices, and where they stop

How the main ERPs store and apply prices: price levels, condition records, price lists and pricelists. What each does well, and where ERP pricing stops.

Mohamed AshrafOct 19, 2026 · 3 min read

Every ERP stores and applies prices, but they do it in different ways. NetSuite uses price levels on a base price, SAP uses condition records in a pricing procedure, Business Central uses sales price lists, and Odoo uses pricelists with rules. All of them answer the same question well: given this customer, item and quantity, which stored price applies? None of them answers the harder one: what should that price be?

How the main ERPs handle pricing

  • NetSuite

    Price levels as a markup or discount on base price, quantity pricing, and customer item prices.

  • SAP S/4HANA

    Condition types and records, applied in order by a pricing procedure.

  • Business Central

    Sales price lists by customer, price group or campaign, plus line and invoice discounts.

  • Odoo

    Pricelists with rules: fixed prices, discounts or formulas on cost or another list.

  • QuickBooks

    Price levels in Desktop and price rules in Online, for simpler catalogues.

NetSuite: price levels and quantity pricing

NetSuite starts from a base price per item. Price levels are named markups or discounts on it, such as "Contractor, 10% below base", and each customer has a default level. Quantity pricing adds breaks, and customer-specific item pricing overrides the level for chosen items. For more complex rules, NetSuite also offers Advanced Pricing, compared with Elastly in NetSuite Advanced Pricing vs Elastly.

It works well for a clean catalogue with a few levels. The strain shows as levels multiply and as exceptions pile up on customer records, where nobody reviews them.

SAP: the condition technique

SAP prices every sales line through a pricing procedure: an ordered list of condition types, such as the base price, customer discounts, surcharges and freight. Each condition type finds its value through an access sequence, which checks the most specific record first, such as this customer and this material, then falls back to broader ones.

It is the most flexible of the four and the hardest to change. Adding a new kind of discount usually means configuration work, and the records themselves still have to be maintained by hand.

Business Central: price lists

Microsoft Dynamics 365 Business Central keeps sales prices in price lists that can apply to all customers, a customer price group, one customer or a campaign, with start and end dates. Line discounts and invoice discounts sit alongside them. The system picks the best price among the lists that apply.

Odoo: pricelists with rules

Odoo pricelists hold rules per product, category or all products: a fixed price, a percentage discount, or a formula based on cost or another pricelist, with minimum quantities and date ranges. Each customer has a pricelist. It is quick to set up and readable, which makes it popular with smaller distributors.

What every ERP does well

  • Apply the right stored price for a customer, item, quantity and date.
  • Hold contract prices and quantity breaks.
  • Keep an audit trail of who changed a price record.
  • Calculate the margin on a line once cost is known.

Where ERP pricing stops

Decide
What the ERP doesApplies a stored price
What it leaves to peopleSomeone has to set that price
Learn
What the ERP doesRecords the sale
What it leaves to peopleNobody uses lost quotes to adjust
Explain
What the ERP doesShows the level used
What it leaves to peopleNot why this price is right
Update
What the ERP doesStores new cost on receipt
What it leaves to peoplePrices change only when edited

The result is the same in every ERP after a few years: thousands of price records, levels and exceptions, maintained by hand, that drift away from cost and from what customers actually accept. Reps work around them with discounts on every quote.

The ERP is where prices live. It is not where they should be decided.

Pricing on top of the ERP

The common fix is a pricing layer that sits next to the ERP rather than replacing it. It reads items, costs, customers, price levels and quote history from the ERP, recommends a price for each quote line with the reasons, and writes the price back into the quote or sales order. The ERP stays the system of record. The prices in it get better.

Elastly works this way with NetSuite today, and with the commerce platforms many distributors run beside their ERP. The integrations page lists what connects and what syncs in each direction.

Price a quote on top of your ERP

Price a quote from your own historySend us a recent quote. We price every line live on a 30-minute call.
Integrations

Common questions

Each item has a base price, and each price level is a named markup or discount on it, such as 10% below base for contractors. Customers are assigned a default price level, quantity pricing can set lower prices for larger orders, and customer-specific item prices override the level for chosen items. The level decides the price; nothing in it learns from results.