Manage item availability

United States
Canada
Europe

Item availability in the inventory is handled both through the Clover Merchant Dashboard and the Clover REST APIs.

Manage item availability on the Merchant Dashboard

Merchants can manage an item's availability automatically or manually on the Merchant Dashboard.

Prerequisite

Set up a sandbox account.

Auto-manage item availability

  1. Log in to the Developer Dashboard.
  2. From the Developer Account drop-down list, select a merchant name under Businesses. The test Merchant Dashboard appears.
  3. From the left navigation menu, click Inventory. The Items page displays items in the inventory.
  4. From the left navigation menu, click Setup. The Inventory Setup page appears.
  5. Select the Track stock checkbox to use the auto-manage item availability feature. If the checkbox is not selected, the merchant can only manually manage item availability.

Automatically decrease stock count

When a merchant is tracking stock, they can also select the Update item count after each sale checkbox to automatically adjust the stock count for point-of-sale (POS) and online orders.

  • When the stock count reaches zero (0), items are unavailable for ordering.
  • When the stock is updated to at least one (1), the item is available for ordering.
Inventory Setup

Inventory Setup

Manually manage item availability

Merchants can use the Clover Inventory app on the Merchant Dashboard and the Register, Dining, and Inventory apps on their devices to manually manage the availability of items.

  1. Log in to the Developer Dashboard.
  2. From the Developer Account drop-down list, select a merchant name under Businesses. The test Merchant Dashboard appears.
  3. From the left navigation menu, click Inventory. The Items page displays items in the inventory.
  4. From the left navigation menu, click Setup. The Inventory Setup page appears.
  5. Click Add Item to add an item to the inventory.
  6. Select the checkbox for an item and click Quick Edit. Additional fields display for the item:
    1. Clear the On POS checkbox to hide the item on the point-of-sale (POS) device. If the the On POS checkbox is selected the item displays on the POS.
    2. Turn off the Available icon to indicate the item is not available.
    3. Add a value to the Item Stock field to increase or decrease the item stock count.
Items page

Items page

  1. Click Save.

Manage item availability with Clover REST APIs

Prerequisite

Generate a merchant-specific test API token in sandbox.

View items stock for a merchant inventory

  1. Send a GET request to view the inventory stock for a merchant /v3/merchants/{mId}/item_stocks.
  2. Enter required information—mId.
  3. Set the Authorization header as Bearer token type, and enter the test API token.

Request and Response example—View items stock for a merchant inventory

curl --request GET \
     --url 'https://apisandbox.dev.clover.com/v3/merchants/{mId}/item_stocks' \
     --header 'content-type: application/json' \
     --header 'authorization: Bearer {access_token}' \   
{
  "elements": [
    {
      "item": {
        "id": "SPV2F93GT625T"
      },
      "stockCount": 13,
      "quantity": 13,
      "modifiedTime": 1736146835000
    },
    {
      "item": {
        "id": "8CQ95676VHR7G"
      },
      "stockCount": 20,
      "quantity": 20,
      "modifiedTime": 1736146835000
    }
  ]
}

View item stock count, availability, and auto-manage status

To view an item stock count, whether or not an item is available for ordering, and if the item is auto-managed:

  1. Send a GET request to /v3/merchants/{mId}/items/{item_id}.
  2. Enter required information—mId and itemId.

In response, the values indicate the following:

  • "available": false—whether the item is not available for ordering.
  • "available": true—whether the item is available for ordering.
  • "autoManage": true—whether the merchant has set up auto-manage item availability on the Merchant Dashboard.
  • "autoManage": false —default setting.

Request and response sample—View item details

The following sample response displays that the item "20 Wings" is auto-managed ("autoManage": true). Since the stock count is zero ("stockCount": 0), the item ("20 Wings") is unavailable for ordering ("available": false).

curl --request GET \
     --url 'https://apisandbox.dev.clover.com/v3/merchants/{mId}/items/{itemId}' \ 
     --header 'content-type: application/json' \
     --header 'authorization: Bearer {access_token}'
{
  "id": "0ZHZ8Y66S63EP", 
  "hidden": false, 
  "available": false, 
  "autoManage": true,
  "name": "20 Wings", 
  "code": "", 
  "sku": "", 
  "price": 1295, 
  "priceType": "FIXED", 
  "defaultTaxRates": true, 
  "unitName": "", 
  "cost": 0, 
  "isRevenue": true, 
  "stockCount": 0, 
  "modifiedTime": 1495477636000,
  "deleted": false
}

Quantity versus stockCount field

Recommended parameter: quantity

The quantity field holds an item’s stock and is found by expanding item parameter when viewing items. This field can only be updated through Update the stock of an inventory item endpoint. The field supports whole or decimal numbers, both positive and negative.

Deprecated parameter: stockCount

The stockCount is a deprecated field that always displays quantity rounded to the nearest whole number. As a result, its use is discouraged. Example: Decimal quantity value of 160.5 is rounded to 161 for the stockCount field.

curl POST "https://apisandbox.dev.clover.com/v3/merchants/{mId}/item_stocks/{item_id}" \
  --header 'content-type: application/json' \
  --header 'authorization: Bearer {access_token}' \
  --data '{
    "item": {
      "id": "3Z29BX6C013XC"
    },
    "stockCount": 161,
    "quantity": 160.5,
    "modifiedTime": 1736146835000
  }'

Update item stock quantity

  1. Send a POST request to /v3/merchants/{mId}/item_stocks/{itemId}.
  2. Enter required information—mId, itemIdand quantity.

In response, the quantity value is updated.

Request and response sample—Update item stock quantity

curl --request POST \
     --url 'https://apisandbox.dev.clover.com/v3/merchants/{mId}/item_stocks/{itemId}' \
     --header 'content-type: application/json' \
     --header 'authorization: Bearer {access_token}' \
     --data '{"quantity":26}'
{
  "item": {
    "id": "SPV2F93GT625T"
  },
  "stockCount": 26,
  "quantity": 26,
  "modifiedTime": 1736152699000
}

Manually set item as unavailable

If an item is managed manually, it is not dependent on the stock count and must be removed manually from ordering when it is unavailable:

  1. Send a POST request to /v3/merchants/{mId}/items/{itemId}.
  2. Enter required information—mId and itemId.
  3. Set "available:" to false.

Request and response sample—Set item as unavailable

curl --request POST \
     --url 'https://apisandbox.dev.clover.com/v3/merchants/{mId}/items/{itemId}' \
     --header 'content-type: application/json' \
     --header 'authorization: Bearer {access_token}' \
     --data '{
  "hidden": false,
  "available": false,
  "autoManage": false,
  "defaultTaxRates": true,
  "isRevenue": false
}'
{
  "id": "HW61J0FJP743M",
  "hidden": false,
  "available": false,
  "autoManage": false,
  "name": "Apple";
  "code": "",
  "sku": "",
  "price": 0,
  "priceType": "VARIABLE",
  "defaultTaxRates": true,
  "unitName": "",
  "cost": 0,
  "isRevenue": false,
  "stockCount": 0,
  "modifiedTime": 1736153065000,
  "deleted": false
}

Webhook notifications and developer action

You can set up webhook notifications when inventory changes occur, such as when an item becomes unavailable. These notifications include the merchantId, webhook topic, and item ID. Webhooks provide information about actions like inventory creation or updates, allowing real-time tracking of inventory changes. For instance, with Read Inventory permission, you can set up webhooks to receive POST requests to a specified endpoint whenever the merchant updates their inventory. For more information, see Use webhooks.


Related topics