HomeDocumentationCode SamplesAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

Manage Advanced Multiple-Offer and Multiple-Fulfillment Use Cases

Implement Multiple-Offer and Multiple-Fulfillment listings workflows.

Listings on Amazon typically contain offer (pricing) details for:

  • A single buyer segment (for example, Amazon.com buyers)
  • Fulfillment configuration (inventory) for a single fulfillment channel, MFN or FBA
    • MFN -- Merchant-fulfilled (DEFAULT)
    • FBA -- Amazon-fulfilled (for example, AMAZON_NA)

However, there are advanced selling partner use cases that support multiple offers or multiple fulfillment channels for an individual listing. Follow the guidance in this document to support these use cases with:

📘

Note

While the Listings Items API and JSON_LISTINGS_FEED feed type (Feeds API) support multiple offers and multiple fulfillment records, not all selling partner tools do. These are advanced use cases primarily available through APIs with limited (or no) support on Seller Central or other listings tools.

The use cases in this guide are:

Purchasable offer attributes and audiences

The relationship between a listing and the one-to-many offers on a listing are described by the purchasable_offer attribute for the listing. The purchasable_offer attribute is an array that accepts one or more distinct offers, each keyed by the audience, currency, and marketplace_id to which the offer is applicable.

The following example describes a standard Sell on Amazon offer with a regular price and a sale price in the US marketplace:

{
  "purchasable_offer":[
    {
      "audience":"ALL",
      "currency":"USD",
      "marketplace_id":"ATVPDKIKX0DER",
      "our_price":[
        {
          "schedule":[
            {
              "value_with_tax":123.00
            }
          ]
        }
      ],
      "discounted_price":[
        {
          "schedule":[
            {
              "value_with_tax":110.00,
              "start_at":"2025-01-01",
              "end_at":"2025-01-31"
            }
          ]
        }
      ]
    }
  ]
}

The available audience values differ by selling partner and marketplace, based on the programs that a selling partner is enrolled in. To retrieve the list of available values for a given selling partner, use the Product Type Definitions API. Include the sellerId parameter to retrieve JSON schemas that contain the selling partner-specific audience values and the pricing information that is supported for each audience value. For example, quantity_discount_plan information is supported for Amazon Business offers, but is not supported for other offer types.

Common audience values

AudienceNameDescription
ALLSell on AmazonStandard offers for buyers on Amazon websites.
B2BAmazon BusinessOffers that target Amazon Business (B2B) buyers.
BZRLow-Cost StoreOffers that target Low-Cost Store buyers, such as Amazon Bazaar in India.

Fulfillment availability attributes and fulfillment channel codes

The relationship between a listing and the one-to-many fulfillment channels on a listing are described by the fulfillment_availability attribute for the listing. The fulfillment_availability attribute is an array that accepts one or more distinct fulfillment records, each keyed by the fulfillment_channel_code to which the fulfillment record is applicable.

The following example describes a standard MFN fulfillment record with a quantity, restock_date, and lead_time_to_ship_max_days:

{
  "fulfillment_availability":[
    {
      "fulfillment_channel_code":"DEFAULT",
      "quantity":10,
      "restock_date":"2025-01-01",
      "lead_time_to_ship_max_days":5
    }
  ]
}

The available fulfillment_channel_code values differ by selling partner and marketplace, based on the programs that a selling partner is enrolled in. To retrieve the list of available values for a given selling partner, use the Product Type Definitions API. Include the sellerId parameter to retrieve JSON schemas that contain the selling partner-specific fulfillment_channel_code values and the fulfillment information that is supported for each fulfillment_channel_code value. For example, quantity information is supported for MFN fulfillment, but not for Fulfillment by Amazon (FBA) fulfillment.

You can use the Supply Sources API to retrieve selling partner-specific fulfillment_channel_codes for location-specific inventory. For more information, refer to the Multi-Location Inventory Integration Guide.

Common fulfillment channel code values

AudienceNameDescription
DEFAULTMFNProvide quantity for standard fulfillment by a selling partner.
AMAZON_NAFBA (NA Region)Enable FBA fulfillment in the NA region.
AMAZON_EUFBA (EU Region)Enable FBA fulfillment in the EU region.
AMAZON_JPFBA (JP Region)Enable FBA fulfillment in the JP region.

Multiple offers with B2B

Selling partners who are enrolled in the Amazon Business (B2B) program can create multiple offers on a listing, which creates differential pricing between regular buyers on Amazon websites (such as Amazon.com) and business buyers on Amazon Business websites.

The following example describes a standard offer and a business offer with percent-based quantity discounts for the US marketplace:

{
  "purchasable_offer":[
    {
      "audience":"ALL",
      "currency":"USD",
      "marketplace_id":"ATVPDKIKX0DER",
      "our_price":[
        {
          "schedule":[
            {
              "value_with_tax":30.0
            }
          ]
        }
      ]
    },
    {
      "audience":"B2B",
      "currency":"USD",
      "marketplace_id":"ATVPDKIKX0DER",
      "our_price":[
        {
          "schedule":[
            {
              "value_with_tax":28.0
            }
          ]
        }
      ],
      "quantity_discount_plan":[
        {
          "schedule":[
            {
              "discount_type":"percent",
              "levels":[
                {
                  "lower_bound":5,
                  "value":25.0
                },
                {
                  "lower_bound":10,
                  "value":20.0
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

📘

Note

Using the patchListingsItem operation to update an Amazon Business (B2B) offer doesn't affect existing Sell on Amazon offers. When you PATCH a listing, only the offer record that matches the specified audience, currency, and marketplace_id is updated.

Multiple fulfillment channels with default MFN and FBA

Selling partners who are enrolled in FBA typically create listings that are MFN or FBA-enabled. Through the SPI-APIs, you can configure both options on a listing. When FBA inventory is available, it is used first. MFN inventory is used after the FBA inventory is depleted.

The following example describes fulfillment records that enable MFN and FBA on a listing:

{
  "fulfillment_availability":[
    {
      "fulfillment_channel_code":"DEFAULT",
      "quantity":10,
      "restock_date":"2025-01-01",
      "lead_time_to_ship_max_days":5
    },
    {
      "fulfillment_channel_code":"AMAZON_NA"
    }
  ]
}

Multiple fulfillment channels with MFN supply sources

Selling partners who are enrolled in multi-location inventory management with the Supply Sources API can submit location-specific inventory information using the Supply Source identifier as the fulfillment_channel_code.

The following example describes fulfillment records for two supply sources:

{
  "fulfillment_availability":[
    {
      "fulfillment_channel_code":"0cfcbed2-fab2-4777-9fd2-aa83c7f2c25",
      "quantity":10
    },
    {
      "fulfillment_channel_code":"47b36dc3-1178-43e8-8c78-881c6038650d",
      "quantity":20
    }
  ]
}

Note that you can provide multiple offer records and fulfillment records together in a single PATCH operation. The following example includes updates for two fulfillment channel codes (DEFAULT and a Supply Source API location):

{
  "productType":"PRODUCT",
  "patches":[
    {
      "op":"replace",
      "path":"/attributes/fulfillment_availability",
      "value":[
        {
          "fulfillment_channel_code":"DEFAULT",
          "quantity":3
        },
        {
          "fulfillment_channel_code":"0cfcbed2-fab2-4777-9fd2-aa83c7f2c25",
          "quantity":7
        }
      ]
    }
  ]
}

For more information, refer to the Multi-Location Inventory Integration Guide.