> For the complete documentation index, see [llms.txt](https://orbit-b2b.gitbook.io/orbit-b2b-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://orbit-b2b.gitbook.io/orbit-b2b-docs/volume-pricing/minimum-order.md).

# Require a minimum order (MOV / MOQ)

A volume pricing rule can **block checkout** until the customer reaches its first tier. Below that, the products in the rule cannot be bought at all — not merely "no discount", which the tiers already handle on their own.

> **Advanced plan feature.** On Free and Essential the switch is visible but read-only, with an upgrade link.

***

## The threshold is tier 1

There is no separate number to fill in. The minimum **is** the first tier of the rule:

| Tier 1                  | The block becomes                   |
| ----------------------- | ----------------------------------- |
| Spend $500+ → 10% off   | Must spend $500 before checkout     |
| Buy 50+ units → 15% off | Must order 50 units before checkout |

Edit tier 1 and the minimum moves with it — the two can never drift apart, and a minimum can never be set above your tiers in a way that makes the lower tiers unreachable.

**Want "minimum 20, but discounts only from 50"?** Add a 0%-off tier at 20. It shows as a row in the storefront table, and the block then sits at 20.

***

## Turn it on

1. Open the rule in **Volume Pricing**
2. Add your tiers first — the switch has nothing to point at without them
3. Between the tier list and **Discount method**, find:
   * **Minimum order value (MOV)** on amount rules, or
   * **Minimum order quantity (MOQ)** on quantity rules
4. Toggle **Block checkout below the first tier**
5. Save

The help text under the switch always shows the live threshold, e.g. *"Customers must reach $1,000.00 on this rule's products before they can check out."*

***

## What the threshold is measured over

This differs by volume type, and it deliberately matches how each type awards its tiers — so a cart that clears the minimum is exactly a cart that earns tier 1.

| Volume type        | Counted over                                                                                                                                                        |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Amount (MOV)**   | **Each cart line on its own.** One line must reach the threshold by itself; two half-sized lines do not add up                                                      |
| **Quantity (MOQ)** | **Follows the rule's Discount method** — `Same variant` = that line alone, `Mix variants` = every line of the same product, `Mix products` = every line in the cart |

> A cart-wide "$1,000 across the whole order" minimum is not available today. Amount tiers themselves are per line, and a block measured differently from the tiers would let a cart clear the threshold while no line actually earns a discount.

***

## What the customer sees

**On the product page**, under the volume table:

```
Save 10% — minimum €1,000.00 spend
```

Shoppers learn the minimum before filling a cart, not at checkout. When tier 1 is a **Fixed price** there is no saving to quote, so the line reads `Minimum €800.00 spend`. Quantity rules read `… minimum 50 units`.

**At checkout**, if the line is still short:

```
"Farm Trailer 3T" requires a minimum order of 1000.00 EUR.
"Farm Trailer 3T" requires a minimum order quantity of 50.
```

Only one minimum is reported per line, so a customer who is short on two rules is not shown a wall of errors.

***

## Translating the storefront note

The note is a template with two placeholders, `{discount}` and `{amount}`. Edit it in **Settings → Storefront Text → Volume Pricing**, per language:

| Entry                                      | Used when                                        |
| ------------------------------------------ | ------------------------------------------------ |
| `Save {discount} — minimum {amount} spend` | Amount rule with a percent / amount-off tier 1   |
| `Minimum {amount} spend`                   | Amount rule with a fixed-price tier 1            |
| `Save {discount} — minimum {amount} units` | Quantity rule with a percent / amount-off tier 1 |
| `Minimum {amount} units`                   | Quantity rule with a fixed-price tier 1          |

Keep the braces — they are substituted at render time. A rule's own **Translations** tab still wins over Settings, which wins over the app's bundled English.

***

## Wholesale rules have their own minimum

The equivalent on a wholesale pricing rule is its **Minimum quantity** field, enforced per cart line in the same way. The two are independent and both apply: a line can owe 5 units to a wholesale rule and $1,000 to a volume rule at once.

As of v1.0.11 the wholesale minimum is **also an Advanced feature**, so the two behave alike.

***

## After a downgrade

A rule keeps its minimum in the database — nothing is erased. What stops is enforcement: on the next sync the minimum is stripped out of what the storefront and checkout are told, so customers can buy freely again. Upgrade and it comes straight back, with no re-typing.

Your **discounts keep running** through all of this. Losing the ability to block checkout does not deactivate the rule that was doing the discounting.

***

## Related guides

* [Set up amount tiers (order value)](/orbit-b2b-docs/volume-pricing/amount-tiers.md)
* [Set up quantity tiers](/orbit-b2b-docs/volume-pricing/quantity-tiers.md)
* [Storefront pricing table](/orbit-b2b-docs/volume-pricing/storefront-table.md)
* [Billing & plan](/orbit-b2b-docs/settings/billing.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://orbit-b2b.gitbook.io/orbit-b2b-docs/volume-pricing/minimum-order.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
