> 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/create-a-warehouse.md).

# Create a Warehouse

Learn how to create a warehouse in Moselle and link it to an integration — complete guide covering the Inventory and Settings flows with step-by-step instructions.

{% hint style="info" %}
**Quick Answer:** To create a standalone warehouse, go to **Operations > Inventory > Warehouse tab > + Add Warehouse**. To link a warehouse to an integration, go to your **avatar > Settings > Warehouse tab > Create a Warehouse**. Both take about 2 minutes.
{% endhint %}

## Warehouse Types

**Synced Warehouses** Warehouses connected via integrations (e.g. Shopify, Amazon) that automatically sync inventory daily. If a sync is delayed or missing for a day, Moselle automatically carries forward the last known inventory value so your planning remains uninterrupted.

**Moselle Managed Warehouses** Manual warehouses where you control inventory updates by uploading inventory snapshots. See [Managing Inventory](/operations/inventory/managing-inventory.md) for upload instructions and best practices.

## Create a Warehouse

Create warehouses from the **Inventory** section of the app.

{% stepper %}
{% step %}

### Navigate to Warehouses

1. Click **Inventory** in the left sidebar under **Operations**
2. Click the **Warehouse** tab
   {% endstep %}

{% step %}

### Add a New Warehouse

Click **+ Add Warehouse**, then enter the warehouse details:

* Name
* Address, state/province, zip code, country

Click **Create**.
{% endstep %}
{% endstepper %}

## Link a Warehouse to an Integration

Linking a warehouse to an integration connects it to a location in an external system (e.g. a Shopify location or Amazon fulfillment center) so Moselle can sync inventory automatically. This is done from **Settings**, not the Inventory section.

{% hint style="info" %}
**Quick Answer:** Go to your avatar → **Settings** → **Warehouse** tab → **Create a Warehouse**. Enter a name, select a data source, then pick the matching location from the second dropdown.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=uF2C8gpNHGM>" %}

### Prerequisites

**Time Required:** 1–2 minutes

* The integration is already connected under **Settings > Integrations**
* The location exists in your external system
* You have permission to manage warehouses

### Steps

{% stepper %}
{% step %}

### Open Warehouse Settings

1. Click your **avatar** in the top-right corner
2. Select **Settings**
3. Click the **Warehouse** tab

You'll see a list of your existing warehouses.
{% endstep %}

{% step %}

### Click Create a Warehouse

Click the **Create a Warehouse** button. A form will appear.
{% endstep %}

{% step %}

### Enter a Warehouse Name

Type a name for the warehouse, then continue to the next field.
{% endstep %}

{% step %}

### Select a Data Source

In the **Data source** dropdown, choose the integration you want to link to. Only integrations you've already connected will appear.
{% endstep %}

{% step %}

### Pick the External Location

A second dropdown appears listing all locations available within that data source. Select the location you want to link to this Moselle warehouse.

{% hint style="info" %}
Locations already linked to another Moselle warehouse are marked so you don't link the same source twice.
{% endhint %}
{% endstep %}

{% step %}

### Save

Click **Create**. You'll see a confirmation banner:

{% hint style="success" %}
**Syncing — full backfill in 24-48 hours.**
{% endhint %}
{% endstep %}
{% endstepper %}

### What Happens After You Link

| Stage               | Timing         | What you'll see                                        |
| ------------------- | -------------- | ------------------------------------------------------ |
| Initial sync        | Within minutes | Current on-hand levels appear in **Stock Levels**      |
| Historical backfill | 24-48 hours    | Past inventory available for forecasting and reporting |
| Ongoing sync        | Daily          | Inventory levels stay current automatically            |

Once linked, the warehouse becomes a **Synced Warehouse**.

### Supported Integrations

Self-serve linking works for: Shopify, Amazon FBA, QuickBooks Online, QuickBooks Desktop, NetSuite, Cin7 Omni, Fulfil, Trackstar (ShipBob, ShipStation, Extensiv, and other 3PLs), SKU Vault, and Walmart Fulfillment Services.

### Connect a Data Source to an Existing Warehouse

Created a warehouse before its integration was ready? You don't have to recreate it. Any warehouse showing **Not linked** in **Settings > Warehouses** can be connected afterwards.

{% stepper %}
{% step %}

### Open Settings > Warehouses

Click your avatar, then **Settings**, then the **Warehouse** tab. Warehouses with no integration show **Not linked** in the data source column.
{% endstep %}

{% step %}

### Choose Connect data source

Click the **three-dot menu** at the end of that warehouse's row and select **Connect data source**. The option only appears on warehouses that aren't linked yet.
{% endstep %}

{% step %}

### Pick the source and the location

Choose a **Data source** from your connected integrations, then pick the **Warehouse from \[source]** it should follow. Locations already feeding another Moselle warehouse are greyed out and labelled with the warehouse they belong to.
{% endstep %}

{% step %}

### Connect

Click **Connect**. From here the warehouse behaves like any other synced warehouse: current levels arrive within minutes, history backfills over 24–48 hours, and manual snapshot uploads are no longer needed.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Once a warehouse is synced, its levels come from the external system — that becomes the source of truth, and inventory can no longer be updated by hand in Moselle.
{% endhint %}

### FAQ

**Why is a location greyed out in the dropdown?**\
It's already linked to another Moselle warehouse. Each external location can only feed one Moselle warehouse at a time.

**Can I change which location a warehouse is linked to?**\
Yes. Open the warehouse in Settings, change the selection, and save. The new source replaces the old one on the next sync.

**How long until my reports reflect the new warehouse?**\
Live stock levels show up within minutes. Forecasts, plans, and historical reports refresh after the 24-48 hour backfill completes.

**Can I link a warehouse I already created?**\
Yes. In **Settings > Warehouses**, open the three-dot menu on any warehouse showing **Not linked** and choose **Connect data source**. See [Connect a Data Source to an Existing Warehouse](#connect-a-data-source-to-an-existing-warehouse).

**What if my integration isn't listed?**\
Connect it under **Settings > Integrations** first. If you need a provider not yet supported, contact Moselle Support.

## Warehouse Details

Each warehouse has multiple tabs:

**Stock Levels**

* **Available** and **Ordered** totals for the whole warehouse, at the top of the tab
* **\[Source] Inbound (synced)** — for warehouses whose data source reports it (e.g. `Shopify Inbound (synced)`), a card and column showing units your source reports as already on their way. Included in the CSV export
* A per-SKU table you can search by SKU or product name
* Sorting on **SKU**, **Name**, and **Available**
* Paging through the warehouse 25, 50, or 100 rows at a time, with **Page X of Y** so you know how much is left
* **Download** — exports everything matching your current search and sort, not just the page you're looking at
* **Update Inventory** — upload a stock snapshot for a Moselle managed warehouse

{% hint style="info" %}
**"Inbound (synced)" isn't backed by a Moselle purchase order.** It's a quantity your connected source reports directly, so there's nothing to open or trace inside Moselle from it — and it can cover the same physical units as **Ordered** if you also raise purchase orders in Moselle, so don't add the two together. The card and column only appear when your source is able to report the figure, so you won't see it on every warehouse.
{% endhint %}

**Details**

| Field                | Description                                            |
| -------------------- | ------------------------------------------------------ |
| Name                 | Warehouse name                                         |
| Address              | Physical street address                                |
| State/Province       | State or province location                             |
| Zip/Postal Code      | Zip or postal code                                     |
| Country              | Country location                                       |
| Days on Hand Minimum | Minimum inventory days before triggering replenishment |
| Days on Hand Maximum | Maximum inventory days to maintain at this warehouse   |

**History** (Moselle Managed warehouses only) View all inventory transactions including manual uploads and Purchase Order inventory receives.

**Update Inventory**

To upload a new inventory snapshot for a manual warehouse, see [Managing Inventory](/operations/inventory/managing-inventory.md). You can also hand the file to Mo and let it prepare the update for you:

{% content-ref url="/pages/kwz42KRZ3r6QG3PqvnnS" %}
[Update Inventory with Mo](/operations/inventory/update-inventory-with-mo.md)
{% endcontent-ref %}
