WMGRs Minimum Order Quantity & Amount for WooCommerce

Description

Minimum Order Quantity & Amount for WooCommerce lets you control how much customers can buy — per product and for the whole order. Set a minimum order quantity (MOQ), a maximum quantity, a quantity step so products sell in packs or cases, and a minimum order amount the cart must reach before checkout.

Out of the box, WooCommerce lets anyone buy one of anything. That is fine for retail, but it does not work for wholesale suppliers who sell by the case, manufacturers with a minimum production run, or shops where small orders cost more to pick, pack and ship than they earn. Without order limits you end up cancelling orders, emailing customers to change quantities, or absorbing the loss on orders that were never worth sending.

This plugin enforces your rules everywhere a quantity can change — on the product page, when an item is added to the cart, when the cart is updated, and at checkout — with clear messages that tell the customer exactly what to fix.

Minimum and maximum quantity per product

  • Minimum order quantity — e.g. a minimum of 6 units per product line.
  • Maximum quantity — cap how many of an item a single order can contain, for limited stock, launches or trade-only items.
  • Storewide defaults — set limits once for the whole store, then override them on individual products.
  • Per-product overrides — the fields sit in Product data Inventory on the product edit screen, right next to stock settings.

Sell in packs and cases with quantity steps

  • Quantity step — sell in multiples: packs of 6, cases of 12, pallets of 48.
  • Steps count from the minimum — minimum 6 with step 6 allows 6, 12, 18; minimum 5 with step 10 allows 5, 15, 25.
  • Quantity box follows the rules — on the product page the quantity input starts at the minimum and the up/down arrows move in steps, so customers rarely make a mistake in the first place.

Minimum order amount for the cart

  • Require a minimum cart subtotal before checkout, e.g. 150 for wholesale orders or 25 to cover delivery costs.
  • The amount is measured on the cart subtotal before shipping and tax.
  • The customer sees how much they need, for example: “The minimum order amount is 150 — your current subtotal is 54.”

Enforced everywhere, explained clearly

  • Product page — quantity inputs are limited to the allowed range and step.
  • Add to cart — invalid quantities are refused with a message. If the item is already in the cart, the combined quantity is checked.
  • Cart and checkout — every line is checked and the minimum order amount is enforced. Checkout is blocked until the cart meets the rules.
  • Variable products — limits set on the parent product apply to every variation.
  • Works with the classic cart and checkout and with the WooCommerce block cart and checkout.

Lightweight by design

  • No extra database tables — settings in one option, product limits in product meta.
  • No front-end JavaScript or CSS added to your store.
  • Compatible with WooCommerce High-Performance Order Storage (HPOS).
  • Translation ready.

Who it is for

  • Wholesale and B2B stores that sell by the case or require a minimum spend per order.
  • Food, drink and packaging suppliers selling in fixed multiples.
  • Shops with high fulfilment costs that need a minimum order value to make small orders worthwhile.
  • Stores running limited releases that cap quantities per customer order.

How it works

  1. Install and activate the plugin.
  2. Go to WooCommerce Order Limits and set storewide defaults: minimum quantity, maximum quantity, quantity step and minimum order amount. Leave any field empty to switch that rule off.
  3. To give a product its own limits, edit the product, open Product data Inventory and fill in the minimum quantity, maximum quantity and quantity step.

Part of the WMGRs B2B range

Minimum Order Quantity & Amount is one of a set of free B2B tools for WooCommerce from WooManagers:

Free and premium

Everything described above is free, with no limits on products or orders.

A premium version is planned at woomanagers.com for stores that need rules per user role and category, role-based minimum order amounts, customisable messages and product exclusions.

Screenshots

Installation

  1. In your WordPress admin go to Plugins Add New, search for “WMGRs Minimum Order Quantity”, then install and activate it. WooCommerce must be active.
  2. Go to WooCommerce Order Limits and set the storewide defaults you need. Empty fields mean no rule.
  3. To set limits on a single product, edit it and open Product data Inventory. Fill in the minimum quantity, maximum quantity and quantity step, then update the product.

FAQ

How do I set a minimum order quantity in WooCommerce?

For every product, go to WooCommerce Order Limits and enter a default minimum quantity. For a single product, edit it and enter a minimum quantity under Product data Inventory. The product page quantity box then starts at that number, and smaller quantities are refused.

How do I set a minimum order amount in WooCommerce?

Go to WooCommerce Order Limits and enter a minimum order amount. Customers whose cart subtotal is below it see a message with the amount still needed, and checkout is blocked until they reach it.

Is the minimum order amount before or after shipping and tax?

Before. The cart subtotal (the total of the products, without shipping and tax) is compared with your minimum order amount.

How do I sell products in packs or cases?

Set a quantity step — for example 6 for packs of six or 12 for cases of twelve. Combine it with a minimum of the same number so the first allowed quantity is one full pack.

How do steps work with a minimum?

Steps count from the minimum. Minimum 6 with step 6 allows 6, 12, 18… Minimum 5 with step 10 allows 5, 15, 25…

Can I limit the maximum quantity of a product per order?

Yes. Set a maximum quantity storewide or on the product. Customers cannot add more than that number of the product to a single order. On a product, 0 means unlimited.

Can different products have different limits?

Yes. Storewide defaults apply to every product, and any product can override them with its own minimum, maximum and step in Product data Inventory. A product field left empty falls back to the storewide default.

What does the customer see if their cart breaks a rule?

A clear error notice on the product page, cart or checkout — for example “The minimum order quantity for Sunglasses is 6.” or “Sunglasses must be ordered in multiples of 6.” Checkout is blocked until the cart is fixed.

Does it work with variable products?

Yes. Limits set on the parent product apply to all its variations, and the quantity box on the product page follows them. Each variation in the cart is a separate line and is checked against the product’s limits.

Do limits apply per variation or per product?

Limits are defined on the product and checked per cart line. Two different variations are two lines, each checked against the product’s limits.

What happens if a customer adds more of an item that is already in the cart?

The combined quantity is checked. If the cart already holds 6 and the maximum is 10, adding another 6 is refused with a message.

Does it work with the block cart and checkout?

Yes. The rules are checked through WooCommerce’s standard cart validation, which runs on both the classic and the block cart and checkout.

Will it slow down my store?

No. The plugin adds no database tables and no front-end scripts or styles. It uses WooCommerce’s own quantity and cart validation hooks.

Is it compatible with HPOS?

Yes. The plugin does not touch order storage and declares compatibility with WooCommerce High-Performance Order Storage.

What happens to my settings if I uninstall?

Deleting the plugin removes its settings and the limits saved on your products. Your products and orders are not otherwise changed.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“WMGRs Minimum Order Quantity & Amount for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial release.