> For the complete documentation index, see [llms.txt](https://docs.powerfulform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.powerfulform.com/field-types/input-fields/bulk-order-table.md).

# Bulk order table

Show a table of your products so a wholesale customer can order several items and quantities in one go.

The bulk order table is the **Products** element. It shows a fixed list of products you have chosen, each with a quantity box, so a wholesale customer can fill in the whole order on one screen.

{% hint style="info" %}
This element only exists on bulk order forms, which need a plan that includes them; otherwise a banner reads **Bulk order form is not available in your current plan**. See [Plans and billing](/settings/plans-and-billing.md).
{% endhint %}

## 🔧 How to Set It

### Add the field

{% stepper %}
{% step %}

### Create a bulk order form

The **Products** element is only offered on a bulk order form, from the template.

Open **Forms**, click **Create new form**, then **Browse pre-built forms**. Find the **Bulk order form** card and click **Select**. See [Create a form from a template](/getting-started/new-form.md).
{% endstep %}

{% step %}

### Select the table, or add another one

Click the product table in the preview to open its settings. To add a second table, click **Add element**, open the **Input** category and click **Products**.
{% endstep %}

{% step %}

### Choose the products the table lists

Under **Choose product**, click **Add product**. Tick the products you want in the table and click **Add**.
{% endstep %}

{% step %}

### Set the columns and save

Pick which columns the table shows under **Product column(s)**, rename the headings if you need to, then click **Save**.
{% endstep %}
{% endstepper %}

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Fgit-blob-64900aac4d243c3946ab74078510b940c17f4da6%2Fscreenshot-field-types-bulk-order-table.png?alt=media" alt="The Product for Bulk Order element settings showing Choose product, Product column(s) with quantity and price, the Title, Quantity and Price column labels, Show subtotal and Add selected product(s) to cart"><figcaption><p>The bulk order table is a product grid with a quantity box on every row.</p></figcaption></figure>

## 🔧 Settings

Only the settings specific to this field are listed here. **Label**, **Placeholder**, **Description**, **Required**, **Hide label**, **Column width**, **Conditional display** and the rest of the shared settings work the same on every field.

| Setting                                                                   | What it does                                                                                                      | Default                                                  |
| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **Choose product**                                                        | Opens the picker where you select which products the table lists.                                                 | no products                                              |
| **Product column(s)**                                                     | Which columns appear beside the product name: **Quantity**, **Price** and **Total**.                              | Quantity, Price                                          |
| **Title column**, **Quantity column**, **Price column**, **Total column** | The heading of each column. Each appears only when that column is chosen. Translatable.                           | Title, Quantity, Price, Total                            |
| **Show subtotal**                                                         | Adds a subtotal row under the table. Its wording, **Subtotal**, is translatable.                                  | off                                                      |
| **Add selected product(s) to cart**                                       | Shows a button that puts the chosen products and quantities into the visitor's cart. Its wording is translatable. | on                                                       |
| **Add to cart success message**                                           | The confirmation shown once the items are in the cart. Translatable.                                              | Selected product(s) have been added to cart successfully |
| **Hide unavailable variant**                                              | Leaves out-of-stock variants out of the table.                                                                    | off                                                      |
| **Collapse by default**                                                   | The table starts closed and the visitor opens it.                                                                 | off                                                      |

{% hint style="info" %}
The **Bulk order form** template ships with **Collapse by default** already on. Turn it off to show the products as soon as the page loads.
{% endhint %}

## 🔄 How It Works

### What the visitor sees

The table lists every product you picked with the columns you chose. Products with variants show a row per variant, so a customer can order two of one size and five of another.

The visitor types a number in the quantity box on each row they want. With **Price** and **Total** switched on, each row shows the unit price and line total, updating as quantities change. **Show subtotal** adds the running total underneath.

The rest of the form is filled in as normal, and it all arrives as one submission.

### Adding the order to the cart

**Add selected product(s) to cart** is on out of the box. It puts a button under the table that adds every product with a quantity to the visitor's Shopify cart, then shows your **Add to cart success message**.

Switch it off when the form is a request rather than a purchase. The table's contents still arrive as a submission and nothing touches the cart.

{% hint style="warning" %}
Adding items to the cart and submitting the form are two separate actions. A visitor who submits without clicking the add-to-cart button has sent you a request, not placed an order. Say which one you expect in the field's **Description**.
{% endhint %}

### What gets saved

The submission records each product that had a quantity, together with that quantity. In an export, each line appears as the product's title with the variant name in brackets and the quantity after it, linked to that variant's page. Products left at zero are not recorded.

<br>

## 💡 Example

* **Wholesale reorder sheet** ⇒ **Show subtotal** on, **Add selected product(s) to cart** on
* **Seasonal pre-order list** ⇒ **Hide unavailable variant** on, so sold-out sizes never show
* **Long catalogue on a phone** ⇒ **Collapse by default** on

<br>

## ⚠️ Limits & Notes

### Keeping the table tidy

* Turn on **Hide unavailable variant** to leave out-of-stock variants out.
* Turn on **Collapse by default** for long catalogs.
* Split very large ranges across several **Products** elements.

<br>

## Next steps

* [Product](/field-types/selects/product.md) — let visitors search your whole catalog instead of picking from a fixed table.
* [Export submissions](/submissions/export-submissions.md) — get the orders out as a spreadsheet.
