> For the complete documentation index, see [llms.txt](https://docs.shopperos.stackline.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shopperos.stackline.com/fulfillment/listings-and-inventory.md).

# Listings and inventory

Two pages show your products from two sides. **Fulfillment → Listings** shows each product as a sales channel offers it. **Fulfillment → Inventory** shows each Amazon seller SKU, the stock Amazon holds for it, and the listings it ships for. A **link** joins a listing to an Amazon seller SKU. A listing with no link cannot be fulfilled.

```mermaid
flowchart LR
    CH["Sales channel"] -->|Every day, or Import| L["Listing"]
    L -->|Link| S["Amazon seller SKU"]
    S -->|Stock sync| CH
```

*Listings come in from the channel. A link joins each listing to an Amazon seller SKU. The stock of that SKU then goes back to the channel.*

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Listings</strong></td><td>Each product as a sales channel offers it. One catalog product can have a listing on each channel.</td></tr><tr><td><strong>Inventory</strong></td><td>Each Amazon seller SKU, the stock Amazon holds for it, and the listings it ships for.</td></tr><tr><td><strong>Linking</strong></td><td>A tab on <strong>Inventory</strong> that suggests an Amazon item for each listing.</td></tr></tbody></table>

To create your first links, see [Amazon MCF, Step 4](/fulfillment/amazon-mcf.md#step-4-link-your-products-to-amazon-skus). If you have more than one fulfillment account, pick it in the selector at the top of each page.

## How listings stay current

ShopperOS sees a listing change only when it imports the channel's products. A channel does not tell ShopperOS when a new listing, a new status, or a new seller SKU appears.

**Every day**, ShopperOS imports the products of every active Shopify, Walmart, and TikTok Shop channel. The run starts at 10:00 UTC, which is 2 AM Pacific in winter and 3 AM Pacific in summer. The channels import one after another, so your channel can finish some hours after the start.

So a listing that the channel archived today can show as healthy until the next import. After you change a listing on the channel, import it yourself to see the change sooner.

### Import a channel now

Go to **Fulfillment → Channels → Sales channels**.

1. In the row menu (**…**) of an active channel, click **Import**.
2. Click **Import** to confirm. The banner shows **Product import jobs queued successfully.**

Done. The import runs in the background, so the listings update some minutes later. If an import of the channel already waits or runs, ShopperOS uses it. It does not start a second one.

## Listings

Open **Fulfillment → Listings** to see and link each listing that your channels carry.

<figure><img src="https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-73897b89ad0231c28d77340cafa9e68ed131c5af%2Flistings.jpg?alt=media" alt="Listings"><figcaption><p>The view tabs are at the top. The FULFILLMENT column shows whether each listing can ship.</p></figcaption></figure>

### Six views split the list

The tabs at the top show one part of the list.

| View             | Shows                                          |
| ---------------- | ---------------------------------------------- |
| **All**          | Active listings.                               |
| **Unlinked**     | Listings with no Amazon seller SKU.            |
| **Errors**       | Listings with a link error or an import error. |
| **Low stock**    | Listings with 1 to 49 fulfillable units.       |
| **Out of stock** | Listings with no fulfillable units.            |
| **Removed**      | Listings that the channel no longer carries.   |

To narrow the list more, use the filter in the **CHANNEL**, **STATUS**, and **FULFILLMENT** column headings. A dot shows on a heading with an active filter. Click **Clear filter** to remove it.

To find a listing, type in the search box. The search matches the listing name, the channel SKU, and the channel's platform ID. It also matches the name and SKU of the linked Amazon item. The channel SKU is the seller SKU that the channel shows you, for example a Walmart SKU such as `IOVD01-2`.

### What each column tells you

Each row shows the listing, its channel, its status, its stock, and whether it can ship.

| Column           | What it shows                                                                                       |
| ---------------- | --------------------------------------------------------------------------------------------------- |
| **Listing**      | The product name and the listing IDs, with a link to the product in **Catalog**.                    |
| **CHANNEL**      | The sales channel that carries the listing.                                                         |
| **STATUS**       | The listing status on the channel.                                                                  |
| **Availability** | Fulfillable units, and the total units Amazon holds. The number is red at zero and orange below 50. |
| **FULFILLMENT**  | Whether the listing can ship, and the Amazon seller SKU it is linked to.                            |

The listing IDs use the channel's own names. **SKU** is the channel SKU. The platform ID follows when it is different.

| Channel     | Platform ID    |
| ----------- | -------------- |
| Walmart     | **WPID**       |
| Shopify     | **Variant ID** |
| TikTok Shop | **SKU ID**     |

Click the arrow at the start of a row to see more details:

* the listing readiness
* the linked Amazon item (**MCF SKU**, **FNSKU**, **ASIN**)
* the **Channel SKU** and platform ID
* the channel status, and the last import

| Listing status                            | Meaning                                 |
| ----------------------------------------- | --------------------------------------- |
| <mark style="color:green;">Active</mark>  | The channel offers the listing.         |
| <mark style="color:orange;">Paused</mark> | The listing is paused on the channel.   |
| Archived                                  | The listing is archived on the channel. |
| Retired                                   | The listing is retired on the channel.  |
| Removed                                   | The channel no longer has the listing.  |

| Fulfillment status                            | Meaning                                                                                 | What to do                                                                                                                                                              |
| --------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="color:green;">Ready</mark>       | The listing is linked and can ship.                                                     | Nothing.                                                                                                                                                                |
| <mark style="color:orange;">Not linked</mark> | The listing has no Amazon seller SKU.                                                   | Link it.                                                                                                                                                                |
| <mark style="color:red;">Link error</mark>    | The link failed, or the linked listing is archived, retired, or removed on the channel. | Read the line under the listing, then change the link. See [Fix a link to a listing the channel no longer sells](#fix-a-link-to-a-listing-the-channel-no-longer-sells). |
| <mark style="color:red;">Import failed</mark> | The listing did not import from the channel.                                            | Contact your Stackline team.                                                                                                                                            |

### Link, change, or unlink a listing

Use the row menu (**…**) at the end of the row.

* **Link** opens **Link to MCF**. Search by SKU, product name, FNSKU, or ASIN. Pick the Amazon item, and click **Save Link**.
* **Change link** opens **Change MCF Link**. Pick another item, and click **Change Link**.
* **Unlink** removes the link after you confirm.

{% hint style="warning" %}
When you unlink a listing, the connected channels set its stock to zero. Shoppers then see it as out of stock.
{% endhint %}

To link many listings at once, click **Auto-Link**. See [Amazon MCF, Fastest way: Auto-Link](/fulfillment/amazon-mcf.md#fastest-way-auto-link).

### Fix a link to a listing the channel no longer sells

Move the link to the live re-listing, or unlink it. A channel can archive, retire, or remove a listing that is still linked. The link then sends stock to a listing that nobody can buy.

ShopperOS marks this link as <mark style="color:red;">Link error</mark>. It shows in the **Errors** view on **Listings** and in the **Link errors** metric on **Inventory**. A **Paused** listing is not an error, because it can go live again.

Under the listing, a red line says why, for example **Listing archived**. Point to the line to read what to do.

Sellers often list the same item again under a new SKU, such as `IOVD01-2` or `ESPP02-NEW`. ShopperOS looks for that live re-listing in the same channel. It suggests a listing only in two cases:

* Exactly one live listing has the same barcode.
* Exactly one live listing has the old SKU plus a suffix and a similar name.

The line then shows one of these:

| You see                                            | Meaning                                                           | What to do                                                                                                  |
| -------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Listing archived**                               | ShopperOS found no single re-listing.                             | Find the live listing on the channel, then change the link to it. If the item is no longer sold, unlink it. |
| **Listing archived · use SKU LQM01-2**             | SKU `LQM01-2` looks like the live re-listing.                     | Check that it is the same item. Then change the link to it.                                                 |
| **Listing archived · SKU IOVD01-2 already linked** | The live re-listing already ships from another Amazon seller SKU. | Unlink the archived listing.                                                                                |

To move the link to the suggested listing, go to **Fulfillment → Inventory**.

{% stepper %}
{% step %}

### Find the Amazon seller SKU

Search for the Amazon seller SKU. You can search by the old or the new channel SKU.
{% endstep %}

{% step %}

### Open Change link

In the row menu (**…**), click **Change link**. The suggested listing is selected and shows **Suggested replacement**.
{% endstep %}

{% step %}

### Check the suggestion

Check that it is the same item, or pick another listing.
{% endstep %}

{% step %}

### Move the link

Click **Change Link**.
{% endstep %}
{% endstepper %}

Done. The archived listing loses its link, and its channel stock goes to zero.

ShopperOS only suggests. Nothing changes until you click **Change Link**. ShopperOS does not unlink an archived listing by itself. A channel can bring the listing back, and older orders still use the link.

### Change packaging rules for one product

Each route has default packaging and delivery rules. See [Route Settings](/fulfillment/amazon-mcf.md#step-3-route-each-channel-to-amazon). You can change them for one linked product on **Listings**.

{% stepper %}
{% step %}

### Open Feature overrides

In the row menu (**…**), click **Feature overrides**. **Connection Defaults** shows the route values.
{% endstep %}

{% step %}

### Choose the overrides

Under **Per-Product Overrides**, choose a value for each setting. **Default (…)** keeps the route value. A changed setting shows **Custom**.
{% endstep %}

{% step %}

### Save the overrides

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

Done. Orders for this product use your overrides. To go back to the default, click **Reset**, or **Reset all** for every setting.

| Setting                                | Options                                                                   |
| -------------------------------------- | ------------------------------------------------------------------------- |
| **Blank Box**                          | **Required**, **Disabled**, **Inherit**                                   |
| **Block AMZL** (avoid Amazon delivery) | **Required**, **Disabled**, **Inherit**                                   |
| **Overbox (SIPP)**                     | **Required — always overbox**, **Not Required — allow SIPP**, **Inherit** |
| **Packing Slip**                       | **Required**, **Not Required**, **Inherit**                               |
| **Signature Confirmation**             | **Required**, **Disabled**, **Inherit**                                   |

Walmart always requires **Block AMZL**. An override cannot turn it off for Walmart orders.

### Edit a listing in Listing Details

Click a listing name to open **Listing Details**. It shows the link and the readiness of the listing. It shows the key IDs: **Channel SKU**, the platform ID such as **WPID**, **MCF SKU**, **ASIN**, and **FNSKU**. It also shows the overrides and the recent history.

{% hint style="warning" %}
**Push to Channel** replaces the channel's listing with the details saved in ShopperOS.
{% endhint %}

1. Edit the **name**, **brand**, or **category**.
2. Click **Save**. ShopperOS keeps your changes.
3. To send them to the channel, click **Push to Channel**, and confirm.

## Inventory

Open **Fulfillment → Inventory** to see the stock of each Amazon seller SKU. The **Inventory** tab opens.

<figure><img src="https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-c4b995223b71038e44b67903e6ce220df856b80e%2Finventory.jpg?alt=media" alt="Fulfillment → Inventory"><figcaption><p>The key metrics are at the top. Each linked listing shows as a small card in its SKU row.</p></figcaption></figure>

### Key metrics show stock now

The metrics are a snapshot of now, not a date range. Click a metric to filter the table to it.

| Metric                | Counts                                          |
| --------------------- | ----------------------------------------------- |
| **Total products**    | Amazon seller SKUs.                             |
| **Fulfillable units** | Units Amazon can ship now.                      |
| **Linked SKUs**       | SKUs linked to at least one listing.            |
| **Unlinked SKUs**     | SKUs with no listing.                           |
| **Low stock**         | SKUs with 1 to 49 fulfillable units.            |
| **Out of stock**      | SKUs with no fulfillable units.                 |
| **Sync paused**       | SKUs with a listing whose stock sync is paused. |
| **Link errors**       | SKUs with a link error or an import error.      |

### The table shows stock by SKU

The table lists every Amazon seller SKU, its stock, and the listing it ships for.

* **Status** filters the table: **All**, **Out of stock**, **Low stock**, **Linked**, **Unlinked**, or **Errors**. It starts on **Linked**.
* **Sort** orders the rows by fulfillable or total units.
* The search box finds an Amazon seller SKU, an FNSKU, or a title. It also finds the channel SKU, the platform ID, or the name of a linked listing.

Each linked listing shows as a small card in the row, with the channel and the channel SKU. A card with a problem shows a red line, for example **Listing archived**. See [Fix a link to a listing the channel no longer sells](#fix-a-link-to-a-listing-the-channel-no-longer-sells).

Click a product name to open **Inventory Details**. It shows the Amazon IDs and the stock (**Fulfillable**, **Reserved**, **Inbound Working**, **Inbound Shipped**, **Inbound Receiving**, and **Total**). It also shows the linked listings with their IDs and any problem line, and the last sync.

### Link or change a link from Inventory

Use the row menu (**…**) of an Amazon seller SKU.

* **Link** opens **Link SKU** for a SKU with no listing.
* **Change link** opens **Change Link** to move the link to another listing. A row with several links names the channel and SKU in each menu item.

In the dialog, search by listing name, channel SKU, or platform ID. A listing that is linked already shows **Already linked**. Pick a listing, and click **Save Link** or **Change Link**.

### Refresh or export stock

Stock syncs from Amazon automatically. The page heading shows **Synced** and the time of the last sync, or **Sync issue** when it failed.

* Click **Refresh** to sync now. The banner shows how many items were updated.
* Click **Export** to download the inventory as a CSV file.

### Change how one product ships

You can change the fulfillment action, policy and speed for one product.

{% stepper %}
{% step %}

### Open Edit Settings

Open **Inventory Details**, and click **Edit Settings**.
{% endstep %}

{% step %}

### Set the overrides

Under **Per-Product Overrides**, set **Fulfillment Action**, **Fulfillment Policy**, or **Shipping Speed**. **Default (…)** keeps the route value.
{% endstep %}

{% step %}

### Save the settings

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

Done. New orders for this product use these settings.

| Setting                | Options                                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Fulfillment Action** | **Ship — ships immediately**, **Hold — held until released**                                                                 |
| **Fulfillment Policy** | **FillOrKill — cancel if unavailable**, **FillAll — wait until all available**, **FillAllAvailable — ship what's available** |
| **Shipping Speed**     | **Standard (3–5 days)**, **Expedited (2 days)**, **Priority (1 day)**                                                        |

### Pause and resume stock sync

Pause the sync to stop selling a product on one channel without unlinking it.

{% stepper %}
{% step %}

### Pause the sync

In the row menu (**…**), click **Pause inventory sync**. **Pause Inventory Sync** opens.
{% endstep %}

{% step %}

### Confirm

Click **Pause Sync**. The link shows **Sync paused**.
{% endstep %}
{% endstepper %}

Done. The channel's stock for the product goes to zero, so it shows as out of stock. Orders already placed still ship.

To sell it again, click **Resume inventory sync** in the same menu. The current stock goes back to the channel on the next sync. Click **Refresh** to send it now.

## Link many listings on Inventory → Linking

The **Linking** tab suggests an Amazon item for each listing, so you can link many listings at once.

<figure><img src="https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-c4182ffdaa00ac48e639829f53d6bcfdacef16fe%2Finventory-linking.jpg?alt=media" alt="Fulfillment → Inventory → Linking"><figcaption><p>Each row shows its match status and the candidates.</p></figcaption></figure>

Go to **Fulfillment → Inventory → Linking**.

{% stepper %}
{% step %}

### Run matching

Click **Run matching**. The button shows the progress.
{% endstep %}

{% step %}

### Review the suggestions

Filter by status, and review the suggestions. Where several candidates compete, pick one.
{% endstep %}

{% step %}

### Link the rows

Select the rows to link, and click **Link selected**. A confirmation opens.
{% endstep %}

{% step %}

### Confirm the links

Click **Link products**. If a row was already linked, it is re-linked to the new item.
{% endstep %}
{% endstepper %}

Done. Linked listings start to sync stock and can ship through Amazon MCF.

| Match status                                    | Meaning                                               |
| ----------------------------------------------- | ----------------------------------------------------- |
| <mark style="color:green;">Matched</mark>       | One clear candidate.                                  |
| <mark style="color:orange;">Needs review</mark> | Check the candidates, and pick the right one.         |
| <mark style="color:red;">No match</mark>        | No candidate found. Link it by hand, or use a CSV.    |
| <mark style="color:green;">Linked</mark>        | Already linked. Pick another candidate to re-link it. |
| Dismissed                                       | You set the suggestion aside with **Dismiss match**.  |

Each candidate shows why it matched, for example **exact sku**, **barcode**, or **title match**.

### Link listings from a CSV file

Use a CSV file when you already know which Amazon SKU each listing uses.

{% hint style="warning" %}
CSV mappings overwrite the suggestions and your manual picks for the SKUs in the file.
{% endhint %}

The file needs a header row and two columns:

| Column         | Other accepted names | Value                                          |
| -------------- | -------------------- | ---------------------------------------------- |
| `retailer_sku` | `channel_sku`, `sku` | The channel SKU, or the channel's platform ID. |
| `seller_sku`   | `mcf_sku`            | Your Amazon seller SKU.                        |

```csv
retailer_sku,seller_sku
SHOP-1001,AMZ-1001
SHOP-1002,AMZ-1002
```

{% stepper %}
{% step %}

### Open the upload

On **Linking**, click **Upload CSV**.
{% endstep %}

{% step %}

### Pick the file

Click **Choose a CSV file…**, and pick your file.
{% endstep %}

{% step %}

### Import it

Click **Upload & import**, then **Import** to confirm. The result shows the mappings applied, and each skipped line with its reason.
{% endstep %}

{% step %}

### Link the imported rows

Select the rows, and click **Link selected**.
{% endstep %}
{% endstepper %}

Done. The imported rows are linked and start to sync stock.

## Troubleshooting

Find what you see in the left column.

| You see                                                                           | What to do                                                                                                                                                                                            |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **No channels configured.**                                                       | Add a sales channel. See [Amazon MCF, Step 2](/fulfillment/amazon-mcf.md#step-2-add-your-sales-channels).                                                                                             |
| **No listings imported yet.**                                                     | Your channel's products have not been imported. In **Fulfillment → Channels → Sales channels**, click **…** → **Import** on the channel. See [How listings stay current](#how-listings-stay-current). |
| **Product import failed: …**                                                      | Click **Test** on the channel to check the connection. Then try **Import** again.                                                                                                                     |
| A listing shows **Listing archived**, **Listing retired**, or **Listing removed** | The channel no longer sells it. See [Fix a link to a listing the channel no longer sells](#fix-a-link-to-a-listing-the-channel-no-longer-sells).                                                      |
| A change you made on the channel does not show                                    | ShopperOS imports each channel once a day. Click **Import** on the channel to import it now.                                                                                                          |
| You cannot find a listing by its SKU                                              | Search by the SKU the channel shows you. Walmart, Shopify, and TikTok Shop also have a platform ID, which shows next to it.                                                                           |
| **No inventory found.**                                                           | Click **Refresh** to pull the latest stock from Amazon.                                                                                                                                               |
| **Refresh failed: …**                                                             | Check your Amazon account health in **Fulfillment → Channels**. Then try again.                                                                                                                       |
| **Sync issue** next to the sync time                                              | Hover over it to read the error. Click **Refresh** to try again.                                                                                                                                      |
| **Auto-link job failed: …**                                                       | Try again. If it fails again, link the listings on **Linking**.                                                                                                                                       |
| **Connect a fulfillment account to start matching.**                              | Connect your Amazon account. See [Amazon MCF, Step 1](/fulfillment/amazon-mcf.md#step-1-connect-your-amazon-account).                                                                                 |
| A listing is out of stock on the channel, but Amazon has stock                    | Check that the listing is linked and its sync is not paused.                                                                                                                                          |

## Next step

Follow the orders that your linked listings receive.

{% content-ref url="/pages/9ybdGjfh0ly8yioslZQX" %}
[Fulfillment orders, cancellations and returns](/fulfillment/orders-cancellations-returns.md)
{% endcontent-ref %}
