A listing is an item or a commodity that is sold in a given facility. It holds information on the product such as price, barcodes or attributes. A listing does not represent the actual stock, i.e. the (available) quantity of a product in a facility. All information specific to individual pieces of a product is kept in stocks.

Table of Contents

Listings & stocks

While a listing holds master data for a product within a facility such as title, barcode, or price, a stock refers to one or more items in a facility with the same attributes. Stocks can exist without listings and the other way around. However, we advise to always create listings for stocks so that the various stocks are assigned to the corresponding product and product information can be displayed in the clients. Go here for more information on stocks.

Description of fields

There are various fields that can be defined for a listing that are used for descriptive purposes and/or that have an influence on processes.

Mandatory Fields

  • tenantArticleId: identifier for the product in the respective facility

  • title: name of the product that is also displayed in clients (e.g. in our app)

Optional Fields


Attributes can be used to store listing specific information such as product category or description. Moreover, they can be used to customize processes related to listings such as the picking sequence. For more information please refer to customization via attributes.


The price at which the item is sold in this facility.


A listing can only have a specified price in a single currency. There can only exist one listing for the same tenantArticleId in the same facility and thus, only one currency per facility per tenantArticleId. Any currency that is part of the ISO 4217O standard can be configured.


Weight of the product that is used to calculate the shipping weight for an order.

Scanning Rule

Configuration to show the client how the items should be scanned during picking. For more information please refer to scanning configuration.

Scannable Codes

A list of barcodes that allows identifying items via barcode scan.

Out of Stock Behaviour

Defines behaviour if customer places an order for a product that is currently out of stock or unavailable for immediate shipment. For more information please refer to How to make a listing Pre-/Backorderable.

Availability Timeframe

If a listing is already flagged with outOfStockBehaviour = "BACKORDER" and has anavailabilityTimeFrameconfigured, then orders containing that listing are accepted but only assigned a specific facility when the date defined in the availabilityTimeFrame is reached.


Tags consist of a Tag-Reference plus allowed values for each Tag. They can be used to map very individual processes and to customize entities according to special needs. For more information please refer to Tags and Stickers Concept.

Measurement Unit Key

The unit in which the product is counted or measured. By default, the counting unit is pieces. However, other units like gram or custom units can be defined. For more information please refer to Measurement Units.

Stock Properties

Stock Properties allow tracking of specific values on a set of items, a Stock. A common example for properties are expiry date or batch number. The listing defines which properties should be tracked for stocks that belong to this specific listing. Moreover, its is configurable in the listing, whether it is mandatory to track stock properties, e.g., during goods receipt and if the value is expected to be a text or date. For more information please refer to Stock Properties.

curl -sSL -X PUT '{facilitiyId}/listings' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw '{
    "tenantArticleId": "<your product ID>",
    "title": "<the listing title>",
    "stockProperties": {
        "<your property key>": {
            "inputType": "DATE",
            "required": true

Stock Available Until

The availableUntil field defines until when a stock is included in the stock availability which is, e.g., used to communicate available stock to shop systems. In the listing it can be specified until when the corresponding stock should be available. The availableUntil value is set upon stock creation if configured in listing. For more information please refer to Availability.

  • calculation base:Set field to EXPIRY, if stock should become unavailable before it expires. EXPIRY needs to be configured in the stockProperties before it can be used here. Set field to CREATION if stock should become unavailable some time after it was created.

  • modifier:Time span which is applied to the calculation base to calculate time point when stock should become unavailable. Use negative values to move the date backwards. Example: "-P30D" places the "availableUntil" value 30 days before the calculated date.

curl -sSL -X PUT '{facilitiyId}/listings' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw '{
    "tenantArticleId": "<your product ID>",
    "title": "<the listing title>",
    "stockAvailableUntil": {
        "calculationBase": "EXPIRY",
        "modifier": "-P30D"
  • StockAvailableUntil defaults to the expiry date, i.e., if there is no stockAvailableUntil configured on the listing, the stockAvailableUntil of a stock will be its expiry date.

  • An undefined stockAvailableUntil on stocks (e.g. no stockAvailableUntil and no expiry is configured) means, the stock will be available for an unlimited period of time.

Under legal, users can specify a hsCode. "HS" stands for "Harmonized system" and is a description and coding system used by authorities to classify a product. In our platform, it is used, e.g., when requesting a carrier label for sending a package.

Custom Attributes

Custom Attributes can be used to carry information that might be of interest to connectors or services outside of fulfillmenttools. However, they do not have any influence on the behaviour of the fulfillmenttools platform. For more information please refer to Custom Attributes.


Listings can be active or inactive. Deactivated listings are assumed to currently not be sold, but at some point later in time they will be (e.g. seasonal products).

Deactivated listings are still considered for incoming orders.

API documentation

For multiple listings

For a specific listing

Last updated