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:
- Create new or update existing supply sources through the Supply Sources API or Seller Central.
- Use one of the following options to manage and update your location-level inventory for your Fulfilled by Merchant SKUs:
- SP-API: Use the Supply Sources API, Listings Items API, or Feeds API.
- Seller Central feed upload: Upload a feed file in Seller Central.
- Seller Central inventory management: Use the Manage All Inventory option in Seller Central.
- (First time only) Zero out your "default" fulfillment channel inventory for the SKUs for which you want to share location-level inventory data.
- Create or identify existing templates that are enabled for Shipping Settings Automation (SSA) and add the respective locations that you created to the template.
- 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.
- 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 to0
. Failure to set theDEFAULT
channel to0
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
andPath
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:
- Log in to your Seller Central account.
- In the upper-left corner, select the hamburger menu.
- Choose Inventory and select Manage All Inventory.
- 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
- Create a feed document with two SKUs and assign both to two supply sources using the
createFeedDocument
operation. - Upload a single JSON for all SKUs and adjust the inventory level of each supply source.
- Create a feed using the
createFeed
operation. - Get the feed document using the
getFeed
operation. - Verify quantities for both SKUs using the
getListingsItem
operation. - To verify that the inventory quantity is updated in Seller Central:
- Log in to your Seller Central account.
- In the top-left corner, select the hamburger menu and expand it.
- Choose Inventory and select Manage All Inventory.
- Check the SKU number and related supply sources.
Troubleshooting
If you receive authorization errors, refer to Authorization Errors.
Updated 8 days ago