A Pricing Rule in ERPNext is a saved condition that automatically applies a discount, a fixed rate, or a free item whenever a matching sales or purchase line is entered. You configure it once under Selling > Pricing Rule, and ERPNext handles the rest at the transaction level.
Short answer
To set up a Pricing Rule in ERPNext, go to Selling > Pricing Rule > New, choose what it applies on (Item Code, Item Group, Brand, or Transaction), pick Price Discount or Product Discount, set the quantity or amount thresholds, add the discount percentage or free item, scope it to a customer or territory, and set validity dates. Save and it applies automatically.
I run ERPNext implementations at Mith Tech in Bengaluru, and pricing configuration is where most distributor and retail projects either fly or stall. Get the rules right and your sales team stops hand-typing discounts; get them wrong and every invoice becomes an argument. Honest take: Pricing Rules are powerful, but the priority and stacking behaviour trips up almost everyone the first week, so plan your rule hierarchy before you build the first one.
What is a Pricing Rule in ERPNext?
A Pricing Rule is a master record that tells ERPNext to override the standard price or add a free item when a transaction line meets your defined conditions. Configuration lives under Selling > Pricing Rule (also reachable from Buying and Accounts). Each rule carries an Apply On target, a discount or rate value, threshold conditions, and an optional party scope.
The engine runs at the moment an item is added to a Quotation, Sales Order, Sales Invoice, or POS entry. If the line matches, ERPNext writes in the discount or free item and records which rule fired, so the applied logic is fully auditable later.
ERPNext itself is free and open source under the GPLv3 licence, so this entire pricing engine ships in the core product with no add-on fee. That is a genuine advantage over subscription tools where advanced discounting sits behind a higher edition.
Skimmable summary: A Pricing Rule is a condition-driven override for price or free items, applied automatically at the transaction line and fully auditable.
Price Discount vs Product Discount: which do you pick?
Two discount modes exist, and the choice defines everything downstream. Price Discount reduces the money value of a line through a Rate, Discount Percentage, or Discount Amount. Product Discount adds free units instead of cutting price, which is how you build "buy X, get Y free" schemes common in Indian FMCG and distribution.
Pick Price Discount when you want a percentage or flat cut on the selling rate. Pick Product Discount when the offer is quantity-based generosity rather than a rate change.
| Field / behaviour | Price Discount | Product Discount |
|---|---|---|
| What changes | Line rate or amount | Extra free units added |
| Key inputs | Rate, Discount Percentage, Discount Amount | Free Item, Free Qty, Same Item |
| Typical use | 10% off a brand, festival sale | Buy 10 get 1 free, combo scheme |
| Margin control | Margin Type + Margin Rate/Amount | Free-item cost absorbed |
Skimmable summary: Price Discount cuts the rate; Product Discount adds free units. Your business offer decides which mode to select.
How do you create a percentage discount Pricing Rule?
Percentage discounts are the most common rule and take under two minutes to build. The steps below create a rule that gives a fixed percentage off a chosen item, item group, or brand, optionally limited to a customer or territory.
Open a new Pricing Rule
Navigate to Selling > Pricing Rule > New and give the rule a clear Title such as "Diwali 10% - Paints Brand".
Set Apply On
Choose Apply On as Item Code for a single SKU, Item Group for a category, Brand for a manufacturer line, or Transaction to target the order total. Then select the specific value in the table below.
Select the discount type
Under Price or Product Discount, choose Price Discount. In the Rate or Discount section, enter your figure in Discount Percentage.
Add conditions
Set Min Qty, Max Qty, Min Amt, or Max Amt if the discount should only trigger above a threshold. Leave them blank to apply always.
Scope and date it
Under Applicable For, pick Customer, Customer Group, or Territory to limit who gets it. Set Valid From and Valid Upto so the offer expires on its own.
Save and test
Save, then create a test Sales Order with the matching item and confirm the discount and rule name appear on the line.
Always test with a throwaway order
Before announcing any scheme, raise a draft Sales Order in a test environment. ERPNext shows which Pricing Rule fired on each line, so you catch scoping mistakes before your sales team does.
Skimmable summary: New rule, set Apply On, choose Price Discount, enter the percentage, add thresholds, scope by party, date it, and test on a draft order.
How do you set up quantity slab discounts?
Slab discounts reward larger orders and are built by setting quantity or amount boundaries on each rule. Create one Pricing Rule per tier, using Min Qty and Max Qty to define the band, then assign the correct Discount Percentage to each band.
For example, one rule gives 5% between 10 and 49 units, a second gives 8% between 50 and 99 units, and a third gives 12% above 100. The important detail: if quantity falls outside a rule's Min/Max window, that rule simply does not apply, so your bands must not leave gaps.
Mind the Priority field
When more than one rule could match a line, ERPNext uses the Priority field to decide the winner (higher number wins). For overlapping slabs, set priority deliberately, or enable Apply Multiple Pricing Rules if you genuinely want discounts to stack.
Building tiered slabs one rule at a time is tedious. This is exactly what Promotional Schemes solve, covered below.
Skimmable summary: Build slab discounts as separate rules with Min/Max Qty bands, keep the bands gapless, and use Priority to resolve overlaps.
How do you configure a free-item (buy X get Y) scheme?
Free-item schemes use Product Discount rather than Price Discount. Set Price or Product Discount to Product Discount, define the trigger quantity in Min Qty, and specify what the customer receives.
Choose Product Discount
In a new Pricing Rule, select Product Discount as the discount type.
Set the trigger quantity
Enter the qualifying quantity in Min Qty, for example 10, so the scheme fires once ten units are ordered.
Define the free item
Untick Same Item if the free product differs from the purchased one, then set the Free Item and Free Qty. Keep Same Item ticked for "buy 10 get 1 of the same free".
Allow seller discretion (optional)
Enable Don't Enforce Free Item Qty if your team should be able to edit or remove the free item after it is first added. ERPNext then fetches it only once and leaves it editable.
Same Item vs different free item
Same Item ticked means the customer gets more of what they bought. Unticked lets you gift a completely different SKU, which is how combo and cross-promotion offers are built.
Skimmable summary: Use Product Discount, set Min Qty as the trigger, then define Free Item and Free Qty; untick Same Item for a different gift SKU.
When should you use a Promotional Scheme instead?
A Promotional Scheme is the right tool when you need several discount tiers at once, because it generates multiple Pricing Rules from a single record. On saving a scheme, ERPNext automatically creates one Pricing Rule per slab, so a five-tier volume offer becomes five linked rules without manual repetition.
Promotional Schemes support both Price Discount Slabs and Product Discount Slabs in the same document. You define the Apply On target, party details, validity window, and currency once, then add as many quantity or amount slabs as the offer needs.
| Consideration | Single Pricing Rule | Promotional Scheme |
|---|---|---|
| Best for | One condition, one discount | Multiple slabs / tiers |
| Rules created | One | One per slab, auto-generated |
| Setup effort | Fast for a single offer | Faster for tiered offers |
| Maintenance | Edit each rule | Edit slabs in one place |
For distributors running secondary-sales schemes across many SKUs, schemes save real time. See how these tie into field-sales tracking in our guide on distributor secondary-sales tracking in ERPNext.
Skimmable summary: Use a Promotional Scheme for multi-slab offers; it auto-creates one Pricing Rule per slab and manages Price and Product slabs in one record.
How do you scope a rule to specific customers or territories?
Scoping is controlled by the Applicable For section, which restricts a rule to a chosen party dimension. Leave it blank and the rule applies to everyone; fill it and only matching transactions qualify. Available dimensions include Customer, Customer Group, Territory, Sales Partner, and Campaign on the selling side, plus Supplier and Supplier Group for buying.
This is how you run a Bengaluru-only offer, a single-distributor deal, or a channel-partner incentive without touching your base price list. Combine it with Valid From and Valid Upto dates and the rule polices its own start and end.
Distributors and wholesalers lean on this heavily to run different margins per territory and per customer group. Our overview of ERP for distributors and wholesalers in India walks through how these controls fit a channel operation.
Skimmable summary: Use Applicable For to limit a rule to a Customer, Customer Group, Territory, or partner; leave it blank for an all-customer offer.
Frequently asked questions
Where are Pricing Rules located in ERPNext?
Pricing Rules live under the Selling module (Selling > Pricing Rule), and are also accessible from Buying and Accounts. Promotional Schemes sit in the same area. Both are core doctypes in ERPNext, so no installation or paid module is required to use them.
Why is my ERPNext Pricing Rule not applying?
The most common causes are a quantity or amount that falls outside the Min/Max window, an expired Valid Upto date, a party scope that does not match the customer, or a higher-Priority rule winning instead. Check each condition, and raise a draft order to see which rule ERPNext reports as applied.
Can two Pricing Rules apply to the same item at once?
Yes, but only if you enable Apply Multiple Pricing Rules; otherwise ERPNext picks a single winner using the Priority field, where the higher number takes precedence. Decide upfront whether discounts should stack, because accidental stacking erodes margin quickly.
What is the difference between a Pricing Rule and a Promotional Scheme?
A Pricing Rule is a single condition-and-discount record. A Promotional Scheme is a wrapper that generates multiple Pricing Rules from tiered slabs in one document. Use a rule for a one-off offer and a scheme when you need several quantity or amount tiers managed together.
Can I give a free item that is different from the purchased product?
Yes. Choose Product Discount, untick the Same Item checkbox, then set the Free Item and Free Qty fields to the SKU you want to gift. This drives combo offers and cross-promotions where buying one product earns a different free product.
Do Pricing Rules work for purchases as well as sales?
Yes. Pricing Rules apply on both selling and buying transactions. For purchases you scope them with Supplier and Supplier Group under Applicable For, letting you auto-apply negotiated supplier discounts on Purchase Orders and Purchase Invoices.
About the author
I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru. I help Indian SMBs, distributors, and manufacturers configure ERPNext for real operations, from pricing and inventory to field sales. Mith Tech is an independent open-source implementation studio working with ERPNext and the Frappe framework.
Need help designing a pricing and discount structure that holds up in production?
Want the platform overview first? See our ERPNext implementation page for how the full system fits together.