> 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/managing-inventory.md).

# Managing Inventory

## Inventory Updates

Keeping your inventory accurate in Moselle is crucial for reliable forecasting and production planning. How you update inventory depends on your warehouse type.

### Synced Warehouses

For warehouses connected via integrations (e.g., Shopify, Amazon), inventory updates automatically every day. No manual action is required unless a sync fails.

### Manual Warehouses (Moselle Managed)

For manual warehouses, you must upload inventory snapshots regularly.

**To upload an inventory snapshot:**

1. Navigate to the **Inventory** page.
2. Select the manual warehouse you want to update.
3. Click **Update Warehouse** > **Upload Inventory Snapshot**.
4. Download the **CSV Template**.
5. Fill in your data. **Required columns:** `sku`, `available`.
6. Upload the file.

{% hint style="warning" %}
**Important:** Ensure your CSV `sku` values match the SKUs in Moselle exactly (case-sensitive). Mismatched SKUs will be ignored.
{% endhint %}

## Carry Forward Logic

Moselle uses a "Carry Forward" system to ensure your planning never breaks due to missing data.

* **How it works:** If an inventory update (sync or manual upload) does not happen for a specific day, Moselle automatically uses the **last known available quantity** for that item at that location.
* **Example:** If you upload a snapshot on Monday showing 100 units, and don't upload again until Friday, Moselle assumes you have 100 units (minus any forecasted sales if applicable) for Tuesday, Wednesday, and Thursday.

## Preventing Data Drift

"Data Drift" occurs when Moselle's inventory numbers diverge from your physical stock reality over time.

**Best Practices to avoid Drift:**

* **Regular Uploads:** For manual warehouses, upload a new snapshot at least **weekly**, or whenever a significant stock movement (receiving a shipment, large wholesale order) occurs.
* **Check Sync Status:** For synced warehouses, periodically verify that the "Last Updated" date is current. If a sync is stuck, try re-authenticating the integration or contacting support.
* **Audit "Carry Forward" Data:** If you see flat inventory lines in your reports, it often means data is being carried forward. Verify if this is accurate or if a new upload is needed.

## Troubleshooting Upload Errors

| Error Message                                           | Common Cause                                                              | Solution                                                                                                                |
| ------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `SKU not found`                                         | The SKU in your CSV doesn't match any item in Moselle.                    | Check for typos, extra spaces, or case sensitivity in your CSV.                                                         |
| `Invalid file format`                                   | Uploading an Excel (.xlsx) file instead of CSV.                           | Save your file as **CSV (Comma delimited)** before uploading.                                                           |
| `Zero stock`                                            | Uploading a file with blank "Available" columns.                          | Ensure every row has a number (use 0 for out of stock).                                                                 |
| `The file contains rows with more columns than headers` | Unescaped commas in data, causing rows to have more columns than headers. | Ensure all fields containing commas (e.g., numbers like `1,000` or names) are enclosed in quotes, or remove the commas. |
