# Components

{% hint style="info" %}
**Quick Answer:** Components are the raw materials, packaging items, and sub-items that make up your finished goods. Setting them up in Moselle enables accurate demand planning at the component level through your Bills of Materials (BOMs).
{% endhint %}

## What is a Component?

**A component in Moselle is** any raw material, packaging item, or sub-item that is used to produce or assemble a finished good. Components are the building blocks that sit behind your sellable SKUs — things like boxes, labels, packaging materials, ingredients, or any other input that gets consumed in the making or fulfillment of a product.

Setting up your components correctly is essential for accurate demand planning. Once your components are defined and linked to your finished goods through your Bills of Materials (BOMs), Moselle can calculate exactly how much of each component you need on hand to meet your forecasted production or fulfillment plan.

***

## When Do You Need Components in Moselle?

Components are relevant for your account if any of the following apply:

* **You manufacture or assemble your own products.** If your finished goods are made from raw materials, ingredients, or sub-items, those inputs need to be set up as components so they can be tracked and planned alongside your finished goods.
* **You sell kits or bundles.** If individual SKUs are combined into a bundle or gift set, those individual items are components of the parent bundle SKU and need to be configured accordingly.
* **You want component-level inventory visibility.** Even if you are not manufacturing, setting up components gives you visibility into the raw inputs that support your production — so you can spot shortages before they impact your finished goods output.

***

## How Components Are Set Up in Moselle

**Time Required:** 10–15 minutes to complete the template\
**When:** During onboarding, before Week 2 begins

Components are configured using a standardized template. You can download the component template directly from within Moselle during your onboarding setup, fill it out, and upload it to load your component data into your account before your active planning workflows go live.

### Component Template Fields

| Column           | Description                                                                            |
| ---------------- | -------------------------------------------------------------------------------------- |
| `name`           | The display name of the component (e.g. Blue Packing Paper)                            |
| `description`    | An optional description of the component                                               |
| `sku`            | The unique SKU identifier for the component                                            |
| `archived`       | Whether the component is active or archived — set to `FALSE` for all active components |
| `product_line`   | The product line this component belongs to (e.g. Components)                           |
| `product_type`   | The type or category of the component (e.g. Boxes, Labels, Packaging)                  |
| `item_type`      | Should be set to `component` for all component SKUs                                    |
| `unit_price`     | The selling or transfer price per unit of the component                                |
| `unit_cost`      | The cost per unit of the component                                                     |
| `launch_date`    | The date the component became or becomes active (leave null if not applicable)         |
| `phase_out_date` | The date the component is being discontinued (leave null if not applicable)            |

**Example completed row:**

| name               | sku     | archived | product\_line | product\_type | item\_type | unit\_price | unit\_cost |
| ------------------ | ------- | -------- | ------------- | ------------- | ---------- | ----------- | ---------- |
| Blue Packing Paper | ABO-BPP | FALSE    | Components    | Boxes         | component  | —           | 0.81       |

***

## Step-by-Step: Completing Your Component Setup

{% stepper %}
{% step %}

### List All of Your Components

Identify every raw material, packaging item, or sub-item that makes up your finished goods. Each unique component needs its own row in the template with a unique SKU identifier.
{% endstep %}

{% step %}

### Fill Out the Template Accurately

Complete all relevant fields for each component. Pay close attention to `unit_cost` — this drives cost of goods reporting and component-level financial visibility within Moselle. The `item_type` field should always be set to `component` for component SKUs.
{% endstep %}

{% step %}

### Upload Your Completed Template

Once your template is filled out, upload it directly into Moselle through the import workflow. Your components will be configured and available in your account once the upload is complete.
{% endstep %}

{% step %}

### Validate Your Components

After your components have been uploaded, do a quick review to confirm:

* [ ] All components are visible in your Product Catalog under the **Components** header
* [ ] SKU identifiers are correct and match what is referenced in your BOM template
* [ ] Unit costs and unit prices are accurate
* [ ] No components are incorrectly marked as archived
  {% endstep %}
  {% endstepper %}

***

## Making Changes to Your Components After Onboarding

If you need to update your component data after onboarding, you can do so directly in Moselle at any time.

**To update a component:**

1. Navigate to your **Product Catalog** in Moselle
2. Select the **Components** header at the top of the catalog view
3. Click into the specific SKU you want to update
4. Update the SKU name, SKU type, unit cost, or unit price directly

Changes save immediately and will be reflected in your planning data going forward.

{% hint style="info" %}
**Exporting your components:** Select the **Export** option from within the Components view to download your full component list. This is useful for audits, sharing with your operations or finance team, or cross-referencing against your supplier records.
{% endhint %}

***

## How Moselle Uses Your Components

Once your components are set up and linked to your finished goods through your BOMs, Moselle puts them to work automatically across your planning workflows:

**Component demand planning**\
When Moselle forecasts demand for a finished good, it uses your BOMs to calculate how much of each component is needed. Your component setup is what makes this calculation possible — without it, Moselle has no way to translate finished goods demand into component requirements.

**Inventory visibility**\
Moselle tracks component-level inventory alongside your finished goods, giving you a complete picture of your supply position at every level of your product hierarchy.

**Shortage alerts**\
If a component is at risk of running out before your next order arrives, Moselle will surface that risk so you can act before it impacts your production or fulfillment plan.

**Cost visibility**\
Unit cost data entered on your components feeds into Moselle's cost of goods reporting, giving you financial visibility at the component level to support purchasing and margin analysis.

***

## Common Component Setup Mistakes to Avoid

| Mistake                          | Why It Matters                                                                                                      | How to Fix It                                                                   |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Missing `unit_cost`              | Powers cost reporting and finished goods cost visibility                                                            | Enter cost data for every component where available                             |
| Incorrect `item_type`            | Moselle won't recognize the SKU as a component or allow BOM linking                                                 | Always set `item_type` to `component` for component SKUs                        |
| SKU mismatches with BOM template | Breaks the link between components and finished goods — even a space or capitalization difference will cause issues | Ensure component SKUs exactly match `component_sku` values in your BOM template |
| Archiving active components      | Archived components are treated as inactive and won't appear in planning                                            | Set `archived` to `FALSE` for any component currently in use                    |
| Stale component data             | Discontinued or repriced components lead to inaccurate cost reporting and planning                                  | Update components in Moselle promptly when changes occur                        |

***

## Components and BOMs: How They Work Together

Components and BOMs are two parts of the same setup:

* **Components** define what your inputs are and how much they cost
* **BOMs** define which components go into each finished good and in what quantity

Neither works without the other — a BOM that references a component SKU that has not been set up will not function correctly, and a component that is not referenced in any BOM will not contribute to planning.

For this reason, it is best to complete both your component setup and your BOM setup together during onboarding to make sure everything is aligned before your planning workflows go live.

{% content-ref url="/pages/DbukpExgjUJyIl4zxC4b" %}
[Adding Bundles in Moselle](/operations/catalog/adding-bundles-in-moselle.md)
{% endcontent-ref %}

{% content-ref url="/pages/gBjh0ZYfakohUlzEVPsZ" %}
[Import Items via CSV](/operations/catalog/import-your-items.md)
{% endcontent-ref %}


---

# Agent Instructions: 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:

```
GET https://learn.moselle.io/operations/catalog/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
