Manage item availability
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
Auto-manage item availability
- Log in to the Developer Dashboard.
- From the Developer Account drop-down list, select a merchant name under Businesses. The test Merchant Dashboard appears.
- From the left navigation menu, click Inventory. The Items page displays items in the inventory.
- From the left navigation menu, click Setup. The Inventory Setup page appears.
- 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.
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.
- Log in to the Developer Dashboard.
- From the Developer Account drop-down list, select a merchant name under Businesses. The test Merchant Dashboard appears.
- From the left navigation menu, click Inventory. The Items page displays items in the inventory.
- From the left navigation menu, click Setup. The Inventory Setup page appears.
- Click Add Item to add an item to the inventory.
- Select the checkbox for an item and click Quick Edit. Additional fields display for the item:
- 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.
- Turn off the Available icon to indicate the item is not available.
- Add a value to the Item Stock field to increase or decrease the item stock count.
- 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
- Send a GET request to view the inventory stock for a merchant
/v3/merchants/{mId}/item_stocks
. - Enter required information—
mId
. - 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:
- Send a GET request to
/v3/merchants/{mId}/items/{item_id}
. - Enter required information—
mId
anditemId
.
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
Quantity
versus stockCount
fieldRecommended parameter: quantity
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
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
- Send a POST request to
/v3/merchants/{mId}/item_stocks/{itemId}
. - Enter required information—
mId
,itemId
andquantity
.
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:
- Send a POST request to
/v3/merchants/{mId}/items/{itemId}
. - Enter required information—
mId
anditemId
. - Set
"available:"
tofalse
.
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
- Work with inventory
- Get the stock of all inventory items endpoint
- Get the stock of an inventory item endpoint
- Update the stock of an inventory item endpoint
- Update an existing inventory item endpoint
Updated 5 days ago