> 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/inventory/update-inventory-with-mo.md).

# Update Inventory with Mo

Ask Mo to update a warehouse's stock levels from a file — how the confirmation step works, what a snapshot replaces, and why synced warehouses are read only.

{% hint style="info" %}
**Quick Answer:** Open the warehouse in **Operations > Inventory > Warehouses** and click **Update Inventory**. This opens a Mo dialog — attach your stock file, say why the levels are changing, and Mo reads the file, proposes the update, and waits for you to click **Confirm update** before anything is written. Takes about 2 minutes for a messy file.
{% endhint %}

## What Can Mo Do with a Stock File?

Mo knows which warehouse you're looking at, so on a warehouse page you can hand it a stock count in whatever shape it arrived — a 3PL export, a cycle-count spreadsheet, a supplier's report — and ask for the warehouse to be updated.

Mo does the part that normally takes the time:

* **Reads any layout.** It finds the SKU and quantity columns instead of making you rearrange them into a template first.
* **Checks the SKUs** against the items already in that warehouse, so you hear about mismatches before you commit anything.
* **Handles size.** A 50,000-row file is no harder than a 50-row one.
* **Waits for you.** The update is only submitted when you confirm it.

{% hint style="warning" %}
Mo can't change inventory on **externally synced** warehouses. Their levels come from the connected system, which is the source of truth — Mo will say so and stop. Make the change in that system and it arrives on the next sync.
{% endhint %}

## Prerequisites

**Time Required:** 2–5 minutes\
**Difficulty:** Beginner

* [ ] The warehouse is Moselle managed (not fed by an integration)
* [ ] Your file has a SKU and a quantity per row (CSV or Excel)
* [ ] You're on that warehouse's page, so Mo knows which location you mean

## Step-by-Step Instructions

{% stepper %}
{% step %}

### Open the warehouse

Go to **Operations > Inventory**, click the **Warehouses** tab, and open the warehouse you're updating.
{% endstep %}

{% step %}

### Click Update Inventory

On the **Stock Levels** tab, click **Update Inventory**. This opens a Mo dialog with a file attachment field and a text box for your reason.

Attach your stock file, then add a short note on why the levels are changing — for example: *"Cycle count from this morning's physical inventory."*

**Expected Result:** Mo reads the file and tells you what it found, including any SKUs it couldn't match.

{% hint style="info" %}
You can also open the full Mo chat from a warehouse page and drag a file into it directly — Mo already knows which warehouse you're on either way.
{% endhint %}
{% endstep %}

{% step %}

### Review the confirmation card

Mo shows **"Please confirm the inventory update"** with:

* its summary of what the update does
* how many items will be set, and at which warehouse
* a warning that this uploads a snapshot which **replaces** the warehouse's current levels

Click **View Rows** to read the exact rows before deciding.
{% endstep %}

{% step %}

### Confirm

Click **Confirm update** to submit, or **Cancel** to walk away — cancelling changes nothing.

{% hint style="success" %}
**"Inventory update submitted — processing now."** The warehouse tables refresh on their own, and you get a notification when processing finishes.
{% endhint %}
{% endstep %}
{% endstepper %}

## Snapshots Replace, They Don't Merge

An inventory update is a **snapshot**: it becomes the warehouse's stock position, so **items missing from the file lose their levels**. That's the same behaviour as uploading a snapshot yourself from the **Stock Levels** tab.

If your file only covers part of the warehouse — one aisle, one product line, the SKUs that changed — say so. Ask Mo to merge your rows with the warehouse's current levels first, then confirm the merged result.

{% hint style="info" %}
Every update is recorded on the warehouse's **History** tab with a note saying it came from Mo and which file it came from, so an unexpected number can always be traced back.
{% endhint %}

## What Else Mo Knows on a Warehouse Page

Because Mo can see which warehouse you're on, you can also ask it questions scoped to that location without naming it every time — what's covered, what's short, what's moved since the last count, how a stockout there would recover given your supply network.

## Frequently Asked Questions

### Does Mo change my inventory without asking?

**Answer:** No. Mo can only propose an update. Nothing is written until you click **Confirm update**, and cancelling leaves the warehouse untouched.

### Why does Mo refuse to update my warehouse?

**Answer:** The warehouse is externally synced. Its levels come from the connected system, so they can only be changed there — Mo explains this rather than pretending it can help.

### What if my file only has some of the SKUs?

**Answer:** Ask Mo to merge it with the current levels before confirming. A snapshot on its own replaces everything, so a partial file would zero out the items it doesn't mention.

### Can I use an Excel file?

**Answer:** Yes. CSV and Excel files both work — Mo normalises them before proposing the update.

### How is this different from the template upload?

**Answer:** It's the same snapshot upload underneath, with the same history and notifications. **Update Inventory** now opens the Mo dialog by default — Mo prepares the file for you instead of you matching it to a template. If you still want the plain template, click the chevron beside **Update Inventory** and choose **Upload with template (Legacy)**.

## Troubleshooting Common Issues

| Problem                                            | Solution                                                                                            | Time to Fix |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ----------- |
| Mo says the tool isn't available                   | You're not on a warehouse page. Open the warehouse first, then ask again                            | 1 minute    |
| Mo says the warehouse is externally synced         | Update the levels in the connected system; they'll arrive on the next sync                          | —           |
| Some SKUs were skipped                             | They don't match items in Moselle. Check for typos, extra spaces, and case differences, then re-run | 5 minutes   |
| Levels dropped to zero for items I didn't include  | The snapshot replaced everything. Re-upload a complete snapshot, or ask Mo to merge next time       | 10 minutes  |
| The update was submitted but numbers haven't moved | Processing runs in the background — wait for the notification, then reload the page                 | 5 minutes   |

## Related Guides

{% content-ref url="/pages/N0gYXthkrpCMC6iOoFNF" %}
[Managing Inventory](/operations/inventory/managing-inventory.md)
{% endcontent-ref %}

{% content-ref url="/pages/1557jhyY5iOLsVmCJBgN" %}
[Create a Warehouse](/operations/inventory/create-a-warehouse.md)
{% endcontent-ref %}
