Amazon Services
Amazon Marketplace Web Service (Amazon MWS) Documentation

Deprecation Notice:

Amazon Marketplace Web Service (MWS) will no longer be available after March 31, 2024. All MWS developers must migrate to Selling Partner API (SP-API) to avoid service disruptions. Refer to the Migration Hub for more information.

Amazon MWS Documentation

Creating a fulfillment return

You can create an application that uses the Fulfillment Outbound Shipment service to create a fulfillment return. This returns items to Amazon's fulfillment network that were fulfilled using the Fulfillment Outbound Shipment service.

Here is a possible workflow for an application that uses the Fulfillment Outbound Shipment service to initiate fulfillment returns. For definitions, see Terminology.

Step 1. The buyer requests a return

The buyer contacts the seller and requests a return for items that the seller fulfilled using the Fulfillment Outbound Shipment service.

Step 2. The seller associates the return items with fulfillment orders

Each return item must be associated with the fulfillment order that the seller used to fulfill it. The seller uses their own records to find the correct SellerFulfillmentOrderItemId value to associate with each return item, as well as the correct SellerFulfillmentOrderId value to associate with each SellerFulfillmentOrderItemId value.

Step 3. The seller inputs one or more SellerFulfillmentOrderId values into the application

The seller inputs a SellerFulfillmentOrderId value for each of the fulfillment orders that contain items to return.

Step 4. The application calls GetFulfillmentOrder to get values for subsequent calls to the service, if required

The application calls the GetFulfillmentOrder operation for each SellerFulfillmentOrderId value collected in Step 3, and saves the following response values:
  • MarketplaceId and SellerSKU - These are returned for each item in the fulfillment order. The application saves them for use as request parameters in subsequent calls to the ListReturnReasonCodes operation.
  • SellerFulfillmentOrderItemId and AmazonShipmentId - SellerFulfillmentOrderItemId is returned for each item in the fulfillment order and AmazonShipmentId is returned for each shipment in the fulfillment order. The application saves these for subsequent calls to the CreateFulfillmentReturn operation.

Step 5. The application gets return reason codes

A valid return reason code is required for each item that is to be returned. The application calls the ListReturnReasonCodes operation for each SellerSKU value returned in Step 4. For each call, the application specifies both the SellerSKU value and the associated MarketplaceId value. The operation returns reason codes for each return item. The application saves the return reason codes to use in subsequent calls to the CreateFulfillmentReturn operation.

Step 6. The seller initiates the creation of a fulfillment return

Each fulfillment return requires a SellerFulfillmentOrderId value to identify the fulfillment order that was used to fulfill the items to be returned. Only the items that were in the fulfillment order can be included in the fulfillment return.

The seller inputs the following information into the application for a fulfillment return:

  1. The SellerFulfillmentOrderId value for the fulfillment order that was used to fulfill the items to be returned. This value was identified in Step 2.
  2. Information for each item in the fulfillment return:
    • SellerReturnItemId. An identifier assigned by the seller to the return item. This identifier must be unique in the context of the fulfillment order that the return item is associated with.
    • SellerFulfillmentOrderItemId. The identifier assigned to the item by the seller when the fulfillment order was created. This value was identified in Step 2.
    • AmazonShipmentId. The Amazon shipment ID for the fulfillment order shipment that contained the item to be returned. This value was returned in Step 4.
    • ReturnReasonCode. The application exposes the valid return reason codes for the return item from Step 5. The seller chooses from the list of return reason codes.
    • ReturnComment. An optional comment from the seller about the return item.

If the items that the buyer wants to return come from multiple fulfillment orders, the seller needs to initiate a separate fulfillment return for each fulfillment order.

Step 7. The application creates the fulfillment return

The application creates a fulfillment return by calling the CreateFulfillmentReturn operation, specifying the following:

  1. The SellerFulfillmentOrderId value for the fulfillment return, input by the seller in Step 6.
  2. Values for each item in the fulfillment return: SellerReturnItemId, SellerFulfillmentOrderItemId, AmazonShipmentId, ReturnReasonCode, and (optional) ReturnComment values input by the seller in Step 6.

Step 8. The application returns information required for returning the items

The application returns a list of items accepted for return, as well as one or more return authorizations. Return authorizations contain the information required by the buyer to return items to Amazon’s fulfillment centers.

If the application returns only one return authorization for the fulfillment return, then all of the return items share the same return authorization and can be returned in the same shipment. If the application returns multiple return authorizations, then each return item must be matched with a return authorization. The ReturnAuthorizationId correlates each return item with a return authorization.

The application also returns a list of items that are invalid for return, if any, along with reasons they are invalid. AmazonRmaId values are not returned for items on this list.

Step 9. The seller sends the buyer the return information

If the fulfillment return has only one return authorization, the seller sends the buyer the following:
  • A list of items that were accepted for return.
  • A list of items that are invalid for return, if any, along with the reasons they are invalid.
  • The RmaPageURL value. This is a URL for a web page that contains the return authorization barcode and the mailing label.
  • The ReturnToAddress value. This is the address of the Amazon fulfillment center where the buyer should ship the fulfillment return to.

If the fulfillment return has multiple authorizations:

  1. The application groups the return items by return authorization, using the ReturnAuthorizationId.
  2. The seller sends the buyer the following:
    • A list of items that were accepted for return, grouped by return authorization.
    • A list of items that are invalid for return, if any, along with the reasons they are invalid.
    • An RmaPageURL value and ReturnToAddress value for each return authorization.

Step 10. The buyer sends the fulfillment return to Amazon’s fulfillment centers.

Step 11. (optional) The seller requests the status of the fulfillment return

The seller can request the status of a fulfilment return. This is a possible workflow:

  1. The seller uses the application to indicate that they want the status of a fulfillment return.
  2. The application exposes the SellerFulfillmentOrderId values that the seller entered in Step 3.
  3. The seller chooses the SellerFulfillmentOrderId value for the fulfillment return for which they want the status.
  4. The application calls the CreateFulfillmentReturn operation, specifying the SellerFulfillmentOrderId value that the seller chose.
  5. The application exposes the Status value returned by the CreateFulfillmentReturn operation, either New or Processed.