Multi-Location Inventory Integration Guide

Integrate multi-location inventory with APIs and operations to provide location-level data for customers.

Multi-location inventory enables sellers to provide location-level inventory data. By providing location-level inventory data, sellers can display accurate delivery estimates to customers, optimize order fulfillment, and maintain precise stock visibility across locations.

🚧

Warning

Multi-location inventory is currently not available for sellers who:

  • Use FBA inventory
  • Are outside of the US marketplace

Prerequisites

To set up location-level inventory SKUs, selling partners must take the following steps:

  1. Create new or update existing supply sources through the Supply Sources API or Seller Central.
  2. Use one of the following options to manage and update your location-level inventory for your Fulfilled by Merchant SKUs:
  3. (First time only) Zero out your "default" fulfillment channel inventory for the SKUs for which you want to share location-level inventory data.
  4. Create or identify existing templates that are enabled for Shipping Settings Automation (SSA) and add the respective locations that you created to the template.
  5. Assign the SSA-enabled shipping template that you created or identified in the previous step to the SKUs to which you added location-level inventory data. Do this for each location.
  6. Add the Selling Partner Insights role to your developer profile.

Mandatory APIs for multi-location inventory integration

Selling Partners must integrate the following APIs to use multi-location inventory:

Create multi-location inventory shipping templates that are allowed by SSA in Seller Central

To learn how to create multi-location inventory shipping templates that are allowed by SSA, refer to Shipping Settings Automation.

Integrate the Supply Sources API

To learn how to use the multi-location inventory program with the Supply Sources API, refer to the Supply Sources API Use Case Guide.

Integrate the Listings Items API

Sellers can use the Listings Items API to replace inventory count available at a supply source. The Listings Items API accepts PATCH operations to update and delete one or more individual attributes for an existing listing, such as price and quantity.

🚧

Caution

You must set the DEFAULT channel to 0. Failure to set the DEFAULT channel to 0 results in two listed offers: one multi-location inventory offer and one non-multi-location inventory offer. This issue does not affect the buyability of the offer, but the non-multi-location inventory offer might display inaccurate inventory and shipping timelines.

Use multi-location inventory to update your inventory

Call the patchListingsItem operation.

❗️

Warning

You must set ProductType and Path as follows:

  • ProductType = PRODUCT
  • Path = /attributes/fulfillment_availability

Failure to set these values can result in:

  • An error or a warning response
  • Data that might be ignored or might not reach the intended part of Amazon's system. This can affect related listing updates and inventory availability
  • Unexpected API behavior, such as an override of your data by default settings or issues with marketplace-specific operations

Use the Listings Items API to view your inventory

Sellers can use the Listings Items API to view the inventory count that is available at the supply source. Call the getListingsItem operation to return details about a listings item.

A successful response incudes the Fulfillment Availability array attribute that returns the Supply Source ID (fulfillmentChannelCode) and the remaining inventory count (quantity).

Assign inventory for individual SKUs

Call the getListingsItem operation to find the quantity of an individual SKU for the default location. This example uses the ssnm001 SKU, which has a quantity of 3 at a single supply source.

Request example

GET /listings/2021-08-01/items/{sellerId}/ssnm001?marketplaceIds={marketplaceId}
{
  "sku": "ssnm001",
  "fulfillmentAvailability": [
    {
      "fulfillmentChannelCode": "DEFAULT",
      "quantity": 3
    }
  ]
}

Next, call the patchListingsItem operation and set the fulfillmentChannelCode to DEFAULT and the quantity to 0.

Request example

PATCH /listings/2021-08-01/items/{sellerId}/ssnm001?marketplaceIds={marketplaceId}
{
  "productType": "PRODUCT",
  "patches": [
    {
      "op": "replace",
      "path": "/attributes/fulfillment_availability",
      "value": [
        {
          "fulfillmentChannelCode": "353e4e48-6301-4d50-990e-43a86e8787a3",
          "quantity": 10
        },
        {
          "fulfillmentChannelCode": "8e07a0c9-ab0a-4108-9f16-83dc3496bee0",
          "quantity": 5
        },
        {
          "fulfillmentChannelCode": "DEFAULT",
          "quantity": 0
        }
      ]
    }
  ]
}

Finally, call the getListingsItem operation to submit the changes and retrieve details about fulfillmentAvailability.

To verify that the quantity has been updated in Seller Central:

  1. Log in to your Seller Central account.
  2. In the upper-left corner, select the hamburger menu.
  3. Choose Inventory and select Manage All Inventory.
  4. Check the SKU number and related supply sources.

Retrieve the supply source ID that is used by selling partners through the Order Fulfillment feed

The Order Fulfillment feed directs Amazon to charge the buyer, credit the seller account, and notify the buyer that the order is shipped.

This feed provides the supply source ID that is used by a selling partner. To retrieve it, you must use the the Order Fulfillment feed's XML schema.

Confirm multiple orders through the Order Fulfillment feed

To confirm an order or a group of orders using the POST_ORDER_FULFILLMENT_DATA feed type, you must include CarrierCode, ShippingMethod, and ShipperTrackingNumber within the XML schema. You can integrate the POST_ORDER_FULFILLMENT_DATA feed type to confirm merchant-fulfilled orders.

XML example

<?xml version="1.0" encoding="utf-8"?>
<AmazonEnvelope
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>MerchantID</MerchantIdentifier>
    </Header>
    <MessageType>OrderFulfillment</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OrderFulfillment>
            <AmazonOrderID>7XX-XXXXXXX-XXXXXXX</AmazonOrderID>
            <FulfillmentDate>2023-01-01T01:01:01+00:00</FulfillmentDate>
            <FulfillmentData>
                <CarrierCode>USPS</CarrierCode>
                <ShippingMethod>USPS First Class Mail</ShippingMethod>
                <ShipperTrackingNumber>1234567891011121314</ShipperTrackingNumber>
            </FulfillmentData>
        </OrderFulfillment>
    </Message>
</AmazonEnvelope>

New carriers are added regularly to the Seller Central UI. If the CarrierCode value of the carrier you want to use is not mapped to the amzn-base XSD file, use the CarrierCode value of Other and provide the carrier name in the CarrierName field. Note that if you use this method, Amazon can't track package shipping updates.

After you create the XML with the necessary information, you can use the POST_ORDER_FULFILLMENT_DATA feed type to prompt Amazon to notify the buyer that the order is shipped.

Make bulk updates

The Feeds API can make bulk updates. For an example feed with two SKUs that each contain multiple fulfillment updates, refer to the Listings Feeds API.

Assign inventory for multiple SKUs

  1. Create a feed document with two SKUs and assign both to two supply sources using the createFeedDocument operation.
  2. Upload a single JSON for all SKUs and adjust the inventory level of each supply source.
  3. Create a feed using the createFeed operation.
  4. Get the feed document using the getFeed operation.
  5. Verify quantities for both SKUs using the getListingsItem operation.
  6. To verify that the inventory quantity is updated in Seller Central:
    1. Log in to your Seller Central account.
    2. In the top-left corner, select the hamburger menu and expand it.
    3. Choose Inventory and select Manage All Inventory.
    4. Check the SKU number and related supply sources.

Troubleshooting

If you receive authorization errors, refer to Authorization Errors.


OSZAR »