# Product and variation rules

- Source: https://plugstack.dev/docs/qtyra-quantity-rules-tiered-pricing/product-and-variation-rules/
- Published by: PlugStack
- Last updated: 2026-10-22

## How inheritance works

 

Rules are resolved per **field**, not per product. For each of *min*, *max*, *step* and *default* the most specific value wins:

 
 
 Resolution order 
 

```
variation  →  product  →  role (Pro)  →  category (Pro)  →  store default
```

 
 

A blank field means *inherit*. So a product with only *min = 4* filled keeps the store’s step and maximum.

 

## Setting a product rule

 
1. 1
   Edit the product and open the **Quantity & Pricing** tab.
2. 2
   Tick **Enable quantity rule for this item**.
3. 3
   Fill only the fields you want to override. `0` in *min* or *max* means “no limit” (different from blank, which means “inherit”).
4. 4
   **Quantity input mode**: *Free number field* (default) or *Only specific values (dropdown)* (Pro) with **Allowed values** such as `12, 24, 48`.
5. 5
   Update the product.

 

## Variations

 

Each variation has the same fields inside its own panel. Leave them blank to inherit the parent product’s rule. On the front end the field, its limits and the hint switch the moment a variation is selected.

 
  
**Info**Limits are checked per line: a variable product’s maximum applies to each variation separately (6 of size M and 6 of size L are both fine with a max of 10). The quantity already in the cart is always counted: adding 4 when 8 are already there is refused with a max of 10.
 
 

## Stock

 

The effective maximum is always the lower of your rule and the available stock. If stock drops below the minimum, the product shows the *“stock below minimum”* message instead of a broken field.

 

## Sold individually

 

WooCommerce’s *Sold individually* flag normally forces quantity 1. When a rule needs a real quantity field the plugin overrides the flag; use the `qmtp_override_sold_individually` filter to keep WooCommerce’s behaviour.
