> ## Documentation Index
> Fetch the complete documentation index at: https://docs.variable.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Assigning a supplier in bulk

> Set the supplier on many inventory items at once, filling in the ones that are missing or explicitly overwriting what is already there

A material's **supplier** is the company you source it from. It drives inbound transport (A2 and A4) and lets Variable attribute emissions per supplier, so it's worth filling in — but setting it one item at a time, in [each item's settings](#setting-a-supplier-on-one-item), is slow work once you have a few hundred materials.

**Assign supplier** does it in bulk. Select items in your inventory, pick a supplier, and Variable points all of them at that company in one action.

## Running it

<Steps>
  <Step title="Select the items">
    In **Inventory → Elements**, tick the items you want. The bulk toolbar slides in from the bottom with the selection count and its actions.
  </Step>

  <Step title="Choose Assign supplier">
    Pick **Assign supplier** from the toolbar. A dialog opens with a supplier picker — search your existing suppliers, or create a new one from the same field.
  </Step>

  <Step title="Decide what happens to items that already have a supplier">
    Leave **Overwrite existing suppliers** off to fill in only the items that are missing one, or tick it to re-point every selected item. See [the two modes](#the-two-modes) below.
  </Step>

  <Step title="Check the counts and confirm">
    The dialog shows how many items will be assigned and how many will be skipped before you commit. The confirm button repeats the number — *"Assign to 42 items"* — so you always know the size of the write.
  </Step>
</Steps>

## The two modes

The dialog uses the same idea as the [import match mode](/docs/import/import-behavior#import-match-mode-products-and-materials): fill in what's missing, or let your new value win.

| Mode                                               | What happens                                                                                                                                                                                                                                                                        |
| :------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fill missing only** (default — the checkbox off) | Only items with no supplier are assigned. An item counts as missing when its supplier is unset, or when it points at your own company — that means *made in-house*, not *sourced from someone*. Items that already name another company are left alone and reported as **skipped**. |
| **Overwrite existing** (the checkbox on)           | Every selected item is re-pointed at the chosen supplier, including items that already have one. Nothing is skipped.                                                                                                                                                                |

<Note>
  Fill-missing is the default on purpose: it's the safe pass. Run it across your whole inventory as often as you like — it never changes a supplier you've already recorded, and the skipped count tells you how many items it deliberately left alone.
</Note>

## Overwriting, and why materials are supplier-specific

In Variable a material is tied to a specific supplier, because the same substance from two suppliers can carry very different emissions — different processes, energy mixes, and geography. So changing a material's supplier is normally *not* how you switch sourcing: to source low-alloyed steel from a new mill, create a new material for that mill and swap it into the [bill of materials](/docs/getting-started/add-materials), keeping each supplier's footprint honest and your history intact.

That makes **Overwrite existing** a correction, not a sourcing change. Reach for it when the supplier on record is simply wrong or was recorded against a placeholder company — you're fixing the label on a material that always came from this supplier.

<Warning>
  Supplier feeds A2/A4 transport and per-supplier attribution, so an overwrite can move impact results across every selected item at once. Each change is recorded in the item's history, but there's no one-click undo for a bulk assignment — correcting one means assigning the right supplier again. Check the counts before you confirm.
</Warning>

This is also the one place the supplier link changes in bulk. [Data import](/docs/import/import-behavior) never touches relationships, so re-importing a file won't move a material to a different supplier no matter which match mode you choose.

## What can and can't be assigned

Bulk assignment writes to **drafts** only, and only to items your account owns.

* An item in a **Locked** or **Verified** state is reported back as *"is not in draft state"* and left unchanged. To edit it, create a new draft version — see [Product and material versioning](/docs/help/versioning).
* The supplier you pick has to be a company your account can use. Creating one from the picker takes care of that for you.

## Setting a supplier on one item

The bulk action is a shortcut for a field that lives on every item. Open the item, click the gear icon in the top right, and find the **Product / part** selector — it decides whether there's a supplier to set at all.

* **Product** means your company makes it, so there's no supplier to name. This is the *made in-house* case that fill-missing treats as missing.
* **Part** means you purchase it, or manufacture it in-house for your own use. The **Supplier** picker sits beside the selector — search your suppliers or create one from the field, the same as in the bulk dialog.
* On a dataset the selector reads **My company / Supplier** instead, with the same effect.

You can also set the supplier while creating an Element, in the new-Element dialog.

Transport items carry no supplier of their own. A transport input takes the supplier of the material it moves, and a transport mode names the organization that published its dataset rather than a company you source from.

## Related topics

* [Supplier locations](/docs/help/supplier-locations) — give a supplier named addresses, then use them as transport origins
* [Auto-assigning transport](/docs/help/auto-assign-transport) — fills in A2/A4 from a supplier's location once the supplier is set
* [Import match mode](/docs/import/import-behavior#import-match-mode-products-and-materials) — the same fill-missing/overwrite choice on the import side
* [Supplier API](/api-reference/v1/supplier/list/get) — manage suppliers through the public API and MCP
