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

# Auto-Consumption of Lineside Inventory

> Consume non-serial-tracked inventory from inventory location.

<Note>
  This page was auto-migrated from the legacy ION manual. Some images and cross-links may need follow-up cleanup. Original: `_legacy-export/automations/auto-consumption-of-lineside-inventory.md`.
</Note>

### Introduction

This automation will speed up your production processes by reducing the manual input of data into your assemblies' as-built records. When you complete either the first or last step of a run, the automation will search for available locations and consume inventory based on the mBOM for that run. Serial-tracked items will not be consumed. This automation will consume older revisions of the same part.

<Note>
  This page covers the **setup** for the Auto-Consumption ION Action. For the broader concept — *what* line-side inventory is, *when* to use it vs kitting, and replenishment patterns — see [Line-Side Inventory Management](/manage-supply-chain/inventory/line-side-inventory).
</Note>

### Part Interchangeability

This automation will consume older revisions of the same part if they are available. For example, let say you have 3 revisions of the same part with inventory at the location:

* Rev A - Quantity of 10 on hand at the location
* Rev B - Quantity of 30 on hand at the location
* Rev C - Quantity of 5 on hand at the location

If the mBOM requires a quantity of 40 of that part then auto consumption will consume:

* 5 of Rev C
* 30 of Rev B
* 5 of Rev A

### Setup

This manual guides users through setting up an auto consumption system to automatically consume lineside inventory upon completion of a designated run step.

### Getting Started

#### Key Concepts

* **aBOM (As-Built Record)**: A digital record of components used in production.
* **Auto Consumption**: Automated consumption of inventory items from predefined locations.

### Setup

To ensure the automation runs correctly you need to set up a location hierarchy and locations on the procedures you want to run Auto Consumption for.

#### Location Hierarchy:

Below is an example of the location hierarchy you will need to set up in order for the automation to run.&#x20;

* **Workstation:** This is where the run steps are being completed. Can have inventory stored on itself or have child racks/totes under it.
* **Child:** The parent location is a workstation. Tote or rack.
* **Parent:** This is a work cell or work area. Can contain workstations and one lineside rack. Workstations under this parent will pull from the one rack.
* **Sibling:** Lineside rack location. Workstations have access to this location (MOST COMMON METHOD OF CONSUMPTION)

<figure><img src="https://mintcdn.com/firstresonance/W5J_JBWS7gH5qmG8/images/legacy/image%20(59).png?fit=max&auto=format&n=W5J_JBWS7gH5qmG8&q=85&s=bec114ecf60374e3370ed357ad4ead51" alt="" width="1824" height="1248" data-path="images/legacy/image (59).png" /><figcaption><p>Location Hierarchy Diagram</p></figcaption></figure>

<figure><img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202024-04-10%20at%205.17.10%E2%80%AFPM.png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=1d1f5032e3adc8f6b03772632bedcd52" alt="" width="1288" height="570" data-path="images/legacy/Screenshot 2024-04-10 at 5.17.10 PM.png" /><figcaption><p>Example Location Hierarchy in ION</p></figcaption></figure>

* In the above example, the work is being done at the location called "Workstation." Because both "Lineside Rack 1" & "Lineside Rack 2" are siblings of "Workstation," both are candidates for autoconsumption.&#x20;

**Procedure Configuration:**

To get the automation to run correctly you will need to specify a location on the procedure step. This will be the workstation location. To do so, use the drop-down in the procedure editor as shown here:

* We recommend that you set up a location on every step but at this time only the first or last steps need to have a location specified for the automation to run correctly

<figure>
  <img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202023-11-16%20at%204.25.26%20PM.png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=a0882d7ed2b5915fa1835f7ca5c1e30c" alt="" width="1438" height="839" data-path="images/legacy/Screenshot 2023-11-16 at 4.25.26 PM.png" />

  <figcaption />
</figure>

### Configuring the Automation

Navigate to our [integrations page](https://staging.firstresonance.io/integrations) and search for Auto-Consumption. Press configure

#### Step 1: Configure ion-api Connection&#x20;

* refer to the [API key](../api/api-keys.md) documentation for information on how to get your API keys
* input your API keys into the following boxes and select your environment

<figure>
  <img src="https://mintcdn.com/firstresonance/EWB1n-YlmOfLhJBG/images/legacy/Screenshot%202023-11-16%20at%203.52.52%20PM.png?fit=max&auto=format&n=EWB1n-YlmOfLhJBG&q=85&s=a6d51cb2a3605eb2d80a6bdf8077feef" alt="" width="1201" height="663" data-path="images/legacy/Screenshot 2023-11-16 at 3.52.52 PM.png" />

  <figcaption />
</figure>

**Step 2: Setup Consumption Methodology**

* Consumption Method:&#x20;
  * **First:** first step of run (recommended)
  * **Last:** last step of run
* Consumption Location (see diagram above for more information):&#x20;
  * **workstation**: consume directly from inventory at the workstation where the run step is being worked on
  * **child**: consume from child rack or tote of the workstation (limit 1 per workstation)
  * **sibling**: consume from the rack that is a sibling of the workstation (has the same parent as the workstation limit 1 per parent). Example: lineside rack

<figure>
  <img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202023-11-16%20at%203.54.49%20PM.png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=d3eb891992c79068c4b66fc090c85f5f" alt="" width="749" height="282" data-path="images/legacy/Screenshot 2023-11-16 at 3.54.49 PM.png" />

  <figcaption />
</figure>

**Step 3 (Optional): Setup a Manual Trigger**

The Auto-Consumption automation lets you configure a manual trigger. This is useful for situations when part inventory present on the build requirements gets moved to consumption location after auto-consumption has run.&#x20;

To configure this, add a  boolean custom attribute on Runs.&#x20;

<figure><img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202025-06-13%20at%201.28.36%E2%80%AFPM.png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=d94a46f7e2fed915b81ffecfa4cfa47f" alt="" width="769" height="97" data-path="images/legacy/Screenshot 2025-06-13 at 1.28.36 PM.png" /><figcaption><p>Custom Attribute on Runs</p></figcaption></figure>

While configuring the Integration set the Manual Trigger Custom Attribute value to the name of the custom attribute you've added.&#x20;

<figure>
  <img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202025-06-13%20at%201.31.03%E2%80%AFPM.png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=9e7c82da6cc652cf36730ed9227077eb" alt="" width="894" height="141" data-path="images/legacy/Screenshot 2025-06-13 at 1.31.03 PM.png" />

  <figcaption />
</figure>

To use the manual trigger, navigate to the desired run, open the Run Attributes and Labels modal and toggle the custom attribute we've just added from false to true. Note: toggling from no selection to True will not trigger, must be from False to True.&#x20;

<figure>
  <img src="https://mintcdn.com/firstresonance/kXWHzGG1-nleId7w/images/legacy/Screenshot%202025-06-13%20at%201.35.14%E2%80%AFPM%20(1).png?fit=max&auto=format&n=kXWHzGG1-nleId7w&q=85&s=f87e294b2f0672d6ed141db435685eb0" alt="" width="728" height="1007" data-path="images/legacy/Screenshot 2025-06-13 at 1.35.14 PM (1).png" />

  <figcaption />
</figure>

If you don't want a manual trigger, set **Manual Trigger Custom Attribute** to `n/a`.

**Step 4 (Optional): Limit consumption to specific work centers**

By default, auto-consumption runs throughout your factory. To restrict it to a chosen set of locations, set **Auto-Consumption for Specific Locations** to `true`, then add location IDs to **Auto-Consumption Locations**.

The automation compares the list against the location set on the run's first or last step, whichever your **Consumption Method** uses. A run consumes only when that step's location is in the list. The list has no effect unless **Auto-Consumption for Specific Locations** is `true`.

For example, a car plant running a phased rollout can limit auto-consumption to its battery pack stations: set **Auto-Consumption for Specific Locations** to `true` and list those stations' location IDs. Runs whose triggering step runs elsewhere continue to use manual kitting. To add final assembly later, add its stations' location IDs to the list.

**Step 5 (Optional): Notify a user of shortages**

To send a report when auto-consumption can't fully consume the required parts, set **Notified User** to that person's user ID. Leave it empty to send no report.

### Configuration reference

This table summarizes every option in the Auto-Consumption configuration:

| Option                                      | Values                            | Description                                                                                                                               |
| ------------------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **ion-api Connection**                      | API key                           | Connects the automation to your ION environment.                                                                                          |
| **Consumption Method**                      | `first`, `last`                   | The run step whose completion triggers consumption: the first step or the last step.                                                      |
| **Consumption Location**                    | `workstation`, `sibling`, `child` | Where inventory is consumed from, relative to the run step's location.                                                                    |
| **Auto-Consumption for Specific Locations** | `true`, `false`                   | When `true`, a run consumes only when its first or last step's location is listed. When `false`, consumption runs throughout the factory. |
| **Auto-Consumption Locations**              | List of location IDs              | Matched against the run's first or last step location. Applies only when **Auto-Consumption for Specific Locations** is `true`.           |
| **Manual Trigger Custom Attribute**         | Attribute name, or `n/a`          | The boolean run attribute that re-runs consumption when toggled from `false` to `true`. Set to `n/a` to disable.                          |
| **Notified User**                           | User ID                           | The person who receives a shortage report when parts can't be fully consumed.                                                             |

### Frequently asked questions

<AccordionGroup>
  <Accordion title="Does auto-consumption install serial-tracked parts?">
    No. Serial-tracked parts are skipped and must be installed explicitly. Kit those parts instead. Auto-consumption applies to lot-tracked and untracked line-side parts, such as bolts, clips, and sealant.
  </Accordion>

  <Accordion title="What happens if the line-side location is empty when consumption runs?">
    The required quantity can't be consumed. Restock the location, then re-run consumption with the manual trigger. Set a **Notified User** to receive a shortage report when this happens.
  </Accordion>

  <Accordion title="What if several revisions of a part are stocked at the location?">
    Consuming across revisions requires part interchangeability to be enabled in your organization settings. With it enabled, all revisions are eligible and auto-consumption draws from one revision before reaching into the next. For example, with 5 of revision C, 30 of revision B, and 10 of revision A on hand and a required quantity of 40, it consumes all 5 of C, all 30 of B, and 5 of A. Without part interchangeability, only the exact revision on the mBOM is consumed. Substitute parts are not consumed automatically and must be installed explicitly.
  </Accordion>

  <Accordion title="Are made-on-assembly parts consumed?">
    No. Parts marked as made on assembly are skipped, along with serial-tracked parts. Auto-consumption applies to lot-tracked and untracked parts that aren't made on assembly.
  </Accordion>

  <Accordion title="Should I choose first or last as the consumption method?">
    Choose `first` for short builds where material is staged before work starts and you want early replenishment signals. Choose `last` for long builds, builds that can change mid-stream, or when you want consumption to match what was actually installed.
  </Accordion>

  <Accordion title="How do I opt a station in or out of auto-consumption?">
    Set **Auto-Consumption for Specific Locations** to `true`, then add or remove a location ID in **Auto-Consumption Locations**. The ID must match the location on the run's first or last step, whichever your **Consumption Method** uses. Set the option to `false` to consume throughout the factory.
  </Accordion>

  <Accordion title="Do I have to set a location on every procedure step?">
    Set a location on every step where you can. Only the first or last step, matching your consumption method, must have a location for the automation to run.
  </Accordion>

  <Accordion title="Can I use more than one sibling rack or child tote per station?">
    No. A sibling rack is limited to one per parent, and a child tote is limited to one per workstation. To stock material in more than one place, restructure the location hierarchy.
  </Accordion>
</AccordionGroup>

### Coming soon

* Consumption of substitute parts
