> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/operations/catalog/adding-products.md).

# Adding Products

Add products to your Moselle catalog one at a time, in bulk with a CSV import, or by describing them to Mo in chat. Compare methods and pick the fastest.

{% hint style="info" %}
**Quick Answer:** Go to **Catalog** and click **Add Product** for a single item, or **Import** to bulk upload a CSV. For a few products — or a quick change — just describe them to Mo in chat; Mo shows what it will create or update and saves only when you confirm. Most products take under 5 minutes to add.
{% endhint %}

{% hint style="info" %}
**Before you add products**, read [Product Setup](/operations/catalog/product-setup.md) to understand SKU types, pricing fields, and custom attributes — knowing these upfront will save time when filling in product details.
{% endhint %}

## Which Method Should I Use?

| Method                                                                           | Best For                                                                      | Time                       |
| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------- |
| [Create an Item Manually](/operations/catalog/adding-products/create-an-item.md) | Adding one product at a time, setting up new SKUs or components               | 2–5 minutes per item       |
| [Import Items via CSV](/operations/catalog/adding-products/import-your-items.md) | Bulk uploads, migrating from another system                                   | 15–30 minutes              |
| [Ask Mo](#how-do-i-add-or-update-products-with-mo)                               | A handful of products, quick corrections, or when you don't have a file handy | Under a minute per product |

**Rule of thumb:** a few products → ask Mo; one product with full detail → create it manually; dozens or more → import a CSV (or hand the file to Mo).

## How Do I Add or Update Products with Mo?

**You don't need a spreadsheet to add or change a few products.** Describe them to Mo in chat and it builds the rows for you.

{% stepper %}
{% step %}

### Describe the products

Open Mo and say what you want to add or change. For example:

> *"Add two new products: Acme Widget, SKU AC-100, cost $8, sells for $20; and Acme Widget XL, SKU AC-101, cost $11, sells for $28. Both in the Widgets product line."*

For a larger catalog, attach a CSV or Excel export instead — see [Upload Your Files to Mo](/mo/tips/upload-your-files-to-mo.md).
{% endstep %}

{% step %}

### Check what Mo read back

Mo reads the values back so you can catch a typo before anything is saved. Correct anything in the same chat.
{% endstep %}

{% step %}

### Confirm the import

Mo shows a confirmation with how many products will be **created**, **updated**, and **skipped**. Click to confirm, or cancel to leave your catalog unchanged.

**Expected Result:** The new or updated products appear in your **Catalog**.
{% endstep %}
{% endstepper %}

### How Does Mo Decide Between Chat and a File?

* **A handful of products** — Mo takes them straight from the conversation. No file needed.
* **Dozens of products or a full catalog** — Mo asks for a CSV or Excel export. If you don't have one, it names the columns it needs (at minimum **SKU** and **name**) and gives you a **starter CSV** with an example row to download, fill in, and send back.
* **Somewhere in between** — Mo asks which you'd rather do.

{% hint style="success" %}
**Mo understands your file's own headers.** Columns like *Style No.*, *RRP*, *Landed Cost*, or *Collection* are matched to the right catalog fields, so you usually don't need to rename anything first.
{% endhint %}

## Frequently Asked Questions

### Can Mo update products that already exist?

**Yes.** Describe what should change — price, cost, product line, attributes — and which SKUs it applies to. Mo matches products by **SKU**. When some of them already exist, Mo asks whether to **overwrite** them before importing: overwriting replaces each field you've provided with the new value. If you say no, rows for existing SKUs are skipped and only new products are added.

### Will Mo change my catalog without asking?

**No.** Mo always shows how many products will be created, updated, and skipped first. Nothing is saved until you confirm.

### Why were some rows skipped?

Most often because the **SKU already exists** and you chose not to overwrite it — the row would have changed an existing product rather than adding a new one. Rows can also be skipped when they're missing a **SKU**. Mo tells you which rows were skipped so you can fix them and try again.

### Should I use Mo or the CSV import for my whole catalog?

Either works. The [CSV import](/operations/catalog/adding-products/import-your-items.md) uses Moselle's own template, so it's best if you're starting from scratch. Mo is faster if you already have an export from another system, since it maps that file's columns for you.

## Troubleshooting

| Problem                                                 | Solution                                                                                                                                 | Time to Fix |
| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| Mo asks for a file instead of taking products from chat | You've described more products than are practical to type — export them to CSV or Excel and attach the file, or ask Mo for a starter CSV | 5 minutes   |
| A product was created twice                             | The SKUs didn't match exactly (e.g. `AC-100` vs `AC100`). Fix the SKU on one and archive the other                                       | 2 minutes   |
| Mo's confirmation shows everything as skipped           | Every SKU in your file already exists. Tell Mo you want to **update** those products, and confirm the overwrite                          | 1 minute    |
| A price landed in the wrong field                       | Tell Mo which column is the selling price and which is the cost, then re-run the update                                                  | 1 minute    |

## Related Guides

{% content-ref url="/pages/oDDIGFzo76BtEKilj35R" %}
[Create an Item](/operations/catalog/adding-products/create-an-item.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/bhnbOdyzHJU16Tc1oHKc" %}
[Upload Your Files to Mo](/mo/tips/upload-your-files-to-mo.md)
{% endcontent-ref %}
