MCF Best Practices
Best practices for using Selling Partner API (SP-API) to manage Multi-Channel Fulfillment (MCF) orders and listings.
MCF merchants can use SP-API to support their business needs. This page covers best practices for managing product listings, configuring packaging and carrier settings, getting order updates, syncing inventory, and retrieving reports.
Manage listings
Use the JSON_LISTINGS_FEED to create, edit, and delete Amazon listings by SKU. The Feeds API is asynchronous and supports up to 25,000 SKUs per feed. Use it to upload listings data in bulk.
For ongoing maintenance, use the Listing Items API. This API is synchronous and supports one SKU per API request.
Manage orders
Use the Fulfillment Outbound API to create, cancel, update, track or return an order.
Fulfillment settings
Use the createFulfillmentOrder operation to control fulfillment settings.
To control how inventory availability affects order processing, set the optional fulfillmentPolicy parameter to one of the following:
FillOrKill: Requires complete inventory availability for the entire order before processing.FillAll: Waits until inventory becomes available to fulfill the complete order.FillAllAvailable: Allows partial fulfillment with available inventory.
Specify the fulfillmentAction parameter to control whether the fulfillment order should ship now or hold:
Hold: Reserves inventory for up to 14 days without requiring immediate shipment.Ship: Processes the order for immediate fulfillment and shipment.
Packaging and carrier settings
Use SP-APIs to implement the following shipping options for MCF orders:
- Blank Box: Ships orders in boxes without Amazon logos or labels.
- Block AMZL: Blocks Amazon Logistics so orders ship with another carrier.
- Ships in Product Packaging (SIPP): Ships SIPP-certified products in their original manufacturer packaging without additional Amazon packaging.
- Packing slip preferences: Choose whether to include physical packing slips in your shipments.
To create an order with Blank Box or Block AMZL features, refer to Create orders with Blank Box and Block AMZL features requested.
Note
For Blank Box and Block AMZL orders, use
getFulfillmentPreviewbefore creating the order to ensure these features are available.
To specify Ships in Product Packaging (SIPP) and packing slip preferences, refer to Create an MCF Order that Ships in Product Packaging.
Cancel, return, or track an order
Review Fulfillment Outbound API documentation for additional MCF use cases, including:
- Cancel a fulfillment order: Send a request to Amazon to stop attempts to fulfill a fulfillment order.
- Create a return for an MCF order: Create a return for an MCF order.
- Track an order with an item's serial number: Track an item for a seller who might need to know which instance of an item was sold to a particular customer.
Use notifications
Use the Notifications API to receive automatic updates when changes to orders or inventory occur.
Order status
Subscribe to FULFILLMENT_ORDER_STATUS notifications to automatically receive updates when the system generates a tracking number or an order status changes.
Tracking details may change during the packaging process in fulfillment centers. Do not mark an order as fulfilled when you first receive tracking details. For updates, monitor your Amazon Simple Queue Service (SQS). Refer to View order notifications with the Notifications API for more details.
Inventory
Subscribe to FBA_INVENTORY_AVAILABILITY_CHANGES for up-to-date inventory data. Refer to Set up notifications using the Amazon Simple Queue Service workflow for a tutorial.
Also, call the getInventorySummaries operation once a day for a complete snapshot of inventory levels.
Note
Avoid calling this operation more than once every 24 hours to prevent receiving stale inventory data. Notifications help you keep track of inventory between calling
getInventorySummaries.
If you choose not to use notifications, you should:
- Maintain an internal inventory record based on orders placed and canceled. Verify your record against the
getInventorySummariesresponse daily. - Operate with safety stock settings to prevent overselling between sync jobs.
Note
Use
inventorySummaries.Fulfillableto track inventory located within Amazon fulfillment centers. In-transit inventory is the sum ofinventoryDetails.Fulfillable,inboundWorkingQuantity,inboundShippedQuantity, andinboundReceivingQuantity. In-transit inventory may have a longer estimated arrival date.
Get reports
Use the Reports API to get data for products, inventory, and shipments. The following table shows relevant reports for MCF merchants:
| Report | Description |
|---|---|
| GET_FLAT_FILE_OPEN_LISTINGS_DATA | Returns a summary of active product listings, including price and quantity for each SKU. |
| GET_MERCHANT_LISTINGS_ALL_DATA | Returns detailed information for all product listings. |
| GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA | Returns near real-time details for active (non-archived) inventory, including condition, quantity, and volume. |
| GET_LEDGER_SUMMARY_VIEW_DATA | Provides end-to-end inventory reconciliation, showing starting balance, received inventory, customer orders, returns, adjustments, removals, and ending balance. |
| GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL | Returns all orders within a date range in XML format, regardless of fulfillment channel or shipment status. Intended for order tracking only. |
| GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL | Returns all orders within a date range in flat file format, regardless of fulfillment channel or shipment status. Intended for order tracking only. |
| GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL | Returns detailed order, shipment, and item information, including price, courier, and tracking data for up to one month of data per request. |
Updated about 3 hours ago
