# Quantity Discount EOQ Calculator

> Source: https://netray.co/tools/quantity-discount-eoq-all-units-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Compare three all-units price tiers and see which order quantity gives the lowest total annual cost once holding cost is counted.

## Category

supply-chain

## Audience

- Buyer
- Materials planner
- Procurement manager

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### Annual demand

**Key:** D

**Type:** number

**Default:** 12000

**Min:** 0

**Step:** 100

**Unit:** units

#### Cost per order

**Key:** S

**Type:** number

**Default:** 85

**Min:** 0

**Step:** 5

**Unit:** $/order

**Help:** Buyer time, receiving, inspection, freight handling and payables per order.

#### Annual carrying rate

**Key:** hpct

**Type:** number

**Default:** 22

**Min:** 0

**Step:** 1

**Unit:** % of price

#### Price, tier 1

**Key:** p1

**Type:** number

**Default:** 4.8

**Min:** 0

**Step:** 0.05

**Unit:** $/unit

#### Tier 2 starts at

**Key:** b1

**Type:** number

**Default:** 1000

**Min:** 1

**Step:** 50

**Unit:** units

#### Price, tier 2

**Key:** p2

**Type:** number

**Default:** 4.55

**Min:** 0

**Step:** 0.05

**Unit:** $/unit

#### Tier 3 starts at

**Key:** b2

**Type:** number

**Default:** 3000

**Min:** 1

**Step:** 50

**Unit:** units

#### Price, tier 3

**Key:** p3

**Type:** number

**Default:** 4.3

**Min:** 0

**Step:** 0.05

**Unit:** $/unit

**Outputs:**

#### Tier 1 quantity

**Key:** q1

**Expr:** min(sqrt(2 * D * S / (hpct / 100 * p1)), b1 - 1)

**Format:** integer

#### Tier 2 quantity

**Key:** q2

**Expr:** clamp(sqrt(2 * D * S / (hpct / 100 * p2)), b1, b2 - 1)

**Format:** integer

#### Tier 3 quantity

**Key:** q3

**Expr:** max(sqrt(2 * D * S / (hpct / 100 * p3)), b2)

**Format:** integer

#### Total annual cost, tier 1

**Key:** tc1

**Expr:** D * p1 + D / q1 * S + q1 / 2 * hpct / 100 * p1

**Format:** currency

#### Total annual cost, tier 2

**Key:** tc2

**Expr:** D * p2 + D / q2 * S + q2 / 2 * hpct / 100 * p2

**Format:** currency

#### Total annual cost, tier 3

**Key:** tc3

**Expr:** D * p3 + D / q3 * S + q3 / 2 * hpct / 100 * p3

**Format:** currency

#### Lowest total annual cost

**Key:** best

**Expr:** min(tc1, min(tc2, tc3))

**Format:** currency

**Primary:** true

#### Best order quantity

**Key:** bestq

**Expr:** if(eq(best, tc1), q1, if(eq(best, tc2), q2, q3))

**Format:** integer

**Primary:** true

**Chart:**

#### Total annual cost by tier vs cost per order

**Type:** line

**X:** S

**From:** 5

**To:** 400

**Steps:** 30

**Series:**

- tc1
- tc2
- tc3

**Disclaimer:** All-units discounts only: the lower price applies to every unit once the break is reached. Incremental discounts need a different calculation.

## Content

**Intro:** A supplier offers a lower price for bigger orders, and the cheapest unit price is not always the cheapest total cost. This calculator tests each price tier against purchase cost, ordering cost and carrying cost and picks the winner.

**Sections:**

#### How to use it

**Body:** Enter annual demand, your cost per order and the carrying rate as a percent of price. Then fill in up to three price tiers and the quantities where tiers two and three begin. The tool computes the best feasible order quantity within each tier and the total annual cost of each, and reports the lowest.

**Bullets:**

- Leave tier 3 at an unreachable break if there are only two tiers
- Use a full carrying rate: capital, storage, insurance, obsolescence
- Re-run when the carrying rate or order cost changes

#### The method

**Body:** For each tier, compute the EOQ with that tier's price. If the EOQ falls below the tier's minimum, order at the break quantity. If it exceeds the tier's top, order at the top. Total annual cost is D times price plus (D / Q) times S plus (Q / 2) times carrying rate times price. The tier with the lowest total wins.

#### Reading the result

**Body:** If tier 3 wins at the break quantity, you are buying more than you would like to hold. Check shelf life, storage space and demand risk before accepting. The chart shows that as ordering cost rises, the larger tiers become more attractive, because each avoided order saves more.

#### Common mistakes

**Body:** Buyers often forget carrying cost and chase the lowest price. Others use a tiny order cost that makes small lots look cheap. In an ERP, price breaks live on the purchasing info record or price list, while lot sizing is separate, so the cheapest quantity may not be what MRP proposes unless you set a fixed or minimum lot.

**Cta:** If you want price breaks checked against actual demand and storage data inside your ERP, Netray can build that analysis for you.

**Faq:**

#### What is an all-units discount?

**Answer:** When you reach the break quantity, the lower price applies to every unit on the order, not just the units above the break. An incremental discount applies the lower price only to the extra units.

#### Why compare total cost rather than price?

**Answer:** A lower price on a bigger order raises average inventory, and that has a holding cost. Total cost adds purchase, ordering and holding cost so you can see the real net saving.

#### What carrying rate should I use?

**Answer:** Many manufacturers land between 15% and 30% a year once capital cost, storage, handling, insurance and obsolescence risk are included. Use your own finance number if you have one.

#### Does this include freight breaks?

**Answer:** Not directly. Add freight per order into the cost per order if it is fixed, or model a freight break as another price tier by adjusting the landed price.

## Search terms

quantity discount eoq calculator, eoq with price breaks, all units discount eoq, price break order quantity, total annual cost price breaks, volume discount order quantity, eoq quantity discount example, economic order quantity discount

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
