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

# Variant Table

Variant Table adds a table of a product's variants — with a quantity field for each — directly on the product page, next to the Add to Cart button. Customers set quantities across sizes, colors, or other options and add them to cart in one action. It appears automatically; you don't place it with a shortcode.

Manage it from **Variant Table** in the app navigation.

{% hint style="info" %}
If more than one Variant Table's visibility rules match a product, only the most recently saved one is shown.
{% endhint %}

<figure><img src="/files/i4ptX9bnY4UFQJhdWoqQ" alt="Variant Table on a product page"><figcaption><p>Variant Table on a product page</p></figcaption></figure>

## Choosing products

Same three modes as Quick Order Form (All products / Specific products / Specific collections), plus a **Conditions** mode — see [Customer & Product Targeting](/b2b-bulk-order/features/customer-and-product-targeting.md#product-conditions).

## Layout

Pick a template on the **Customize** tab:

* **Default** — a classic table, one row per variant.
* **Matrix column** — a grid where one option is the row axis and the other option(s) are columns, with a stock legend (Available, In stock, Low stock, Last stock, Out of stock).

{% hint style="warning" %}
"Products need at least 2 options to render as a matrix. Products with fewer options will be shown as a table."
{% endhint %}

**Show columns** lets you pick which of Variant, Price, Stock, Quantity, Action, and Barcode appear.

## Advanced Restrictions

Under **Advanced restrictions** — *"Configure product quantity rules and variant-level restrictions"* — you can turn on quantity rules that customers must satisfy before they can add items to cart. Only one restriction type can be active at a time; turning one on disables the others (shown as **"Not applicable when {{name}} is applied"**).

<details>

<summary>Min/Max Order Quantity</summary>

Set a minimum and/or maximum quantity, scoped to either **each variant** or **all variants combined**.

</details>

<details>

<summary>Incremental Quantity (Quantity Steps)</summary>

Require quantities to be ordered in multiples of a set step (minimum 1). Customer sees: *"Quantity must be ordered in multiples of {{step}}."*

</details>

<details>

<summary>Mix and Match</summary>

Set a minimum/maximum quantity per variant or across all variants combined (labeled as a minimum/maximum number of variants when scoped to all variants). Optionally add a **bundle quantity range** ("Bundle from" / "Bundle to") on top of the base rule.

</details>

<details>

<summary>Bundle Quantity</summary>

Define a fixed list of allowed total quantities (e.g. `5, 10, 20`) — the customer's order must match one of them exactly. On the storefront this becomes a dropdown of allowed quantities instead of a free number field. Customer sees: *"Total quantity must be one of: {{list}}."*

</details>

<details>

<summary>Min/Max Order Value</summary>

Set a minimum/maximum order value in your store's currency, scoped per variant or across all variants combined.

</details>

<details>

<summary>Variant Restriction</summary>

Require a minimum and/or maximum number of *distinct* variants to be selected.

</details>

<details>

<summary>Limit Per Variant Option</summary>

Set a minimum/maximum quantity for a specific option value (for example, a color or size).

</details>

<details>

<summary>Mix'n Max Multiple Bundle</summary>

Set a hard cap on total quantity from a preset list (5, 10, 20, 50, 100). Customer sees: *"Total quantity must be no more than {{n}}."*

</details>

If a restriction isn't met, the storefront shows a red error banner with the specific message (only the first failing rule is shown); once satisfied, a green success banner confirms it.

<details>

<summary>All validation message formats</summary>

* "Total {{unit}} must be at least {{n}}." / "...no more than {{n}}." (unit is "quantity" or "order value")
* "Each selected variant {{unit}} must be at least {{n}}." / "...no more than {{n}}."
* "Please select at least {{n}} different variant(s)." / "...no more than {{n}} different variant(s)."
* "Select at least {{n}} variant(s)." / "Select no more than {{n}} variant(s)."
* "{{optionValue}} must have at least {{n}}." / "...no more than {{n}}."

</details>

## Style and visibility

Layout, colors (including the restriction message box), and Custom CSS are covered in [Design & Custom CSS](/b2b-bulk-order/features/design-and-custom-css.md). Who sees the widget and on which products is covered in [Customer & Product Targeting](/b2b-bulk-order/features/customer-and-product-targeting.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://docs.samita.io/b2b-bulk-order/features/variant-table.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.
