ChannelEngine: stock
About this article
Table of contents
Introduction
Stock is the number of available products for sale on marketplaces. It is very important that the stock known to ChannelEngine (i.e.: the stock exported to marketplaces) is correct. Selling products that are no longer in stock results in cancelations, negative ratings, and poor metrics on marketplaces. There are several places on ChannelEngine where you can manage stock-related settings, and they are all mentioned in this article.
Stock updates
Stock can be updated via multiple methods, all of which are explained below. It is also possible to manually manage stock on ChannelEngine, which is covered in the Manual stock management section.
Via a product feed
If you use product feeds to update your product data, make sure that at least one feed has the stock mapped. Otherwise, all stock is set to zero. You can map stock locations by going to Products, Product feeds, clicking the pencil icon by the feed you want to edit, and scrolling to the section Stock locations at the bottom of the page.
It is possible to provide a specific stock feed to update stock more frequently. By default, feeds are imported hourly. This stock feed can also contain incremental updates (e.g.: containing only the products with a change in stock, checked against the last time the feed was imported). If you do choose to provide a stock feed, make sure that:
- The stock feed is set to type Additional.
- The stock feed has the Merchant product no (SKU) for the product that needs to be updated.
- The stock is not mapped in other feeds, or the stock in those feeds is fully up-to-date as well.
More information on product feeds and how to set them up can be found on the article ChannelEngine: product feeds.
Via ChannelEngine's Merchant API
If you use ChannelEngine's Merchant API to manage your stock, there are two bulk endpoints you can use:
POST /v2/products
This is the endpoint you used to create products, if you are not using an alternative route. Note that this endpoint is purge-and-replace. That is, if you update products via this endpoint, you need to include all the default product data, such as the stock and price. If you leave the CE:Stock attribute out, the stock is reset to zero. Therefore, it is crucial that the stock submitted via this endpoint is up to date and submitted.
PUT /v2/offer
This endpoint allows for the frequent update of the stock or price. All you need to provide are:
- The corresponding Merchant product number
- The value of the stock, price, or stock and price you want to update
- The stock location
This endpoint is not purge-and-replace, so values left out are not set to zero. It is still a bulk endpoint, though, so you are advised to bundle offer updates in batches to limit the number of calls to ChannelEngine's API.
Via a merchant plugin
If you use a merchant plugin – such as Adobe Commerce (née Magento) – which does not use a product feed for product information containing the stock value, the stock values are usually fetched by a custom task you have no direct influence over.
With Adobe Commerce, the stock is retrieved via the webstore's internal API by various API calls. If you have many products and incremental updates are not possible (e.g.: because product/stock updates are imported via an alternative route), you might want to consider using a separate feed or plugin for stock updates. Because Adobe Commerce offers stock data in single calls, many calls are required to fetch the stock for all products – resulting in a a task that may run for a long time.
Via marketplaces
If you make use of marketplace fulfillment, you see additional marketplace stock locations. The total number of locations depends on how many marketplaces and supporting marketplaces you have added.
Stock locations can be found on the Product detail page, when viewing the details of a product on ChannelEngine under the section Stock locations. Other than sending additional stock to the marketplace's warehouse, you do not have any influence in these stock numbers, as they are imported directly from the marketplace. This is done by the task Import fulfillment stock from channel, if you want to check when the last import was done.
Note that to use the Automatic fulfillment option for marketplace offers, it is important that this stock is imported and updated as this function relies on the stock number from the marketplace.
Manual stock management
If you do not have a system or feed that has the option to provide automatic stock updates to ChannelEngine, you can manually manage the stock on ChannelEngine.
To do so, go to Settings, Settings, Advanced settings, Stock.
Enable the ChannelEngine manages stock setting and save it.
To manually manage your stock, go to the product detail page and select the pencil icon next to the current stock number. It changes to an input field, and you can set the stock to a different value.
Stock locations
Your own stock is represented by your account name and a blue asterisk when checking a product on the product details page. In the product overview, this is the stock that is shown. It is also possible to see the marketplace fulfillment stock, if there is any for that product. Those are represented by the name of the marketplace, followed by the label of this type of fulfillment.
Stock locations can also be imported by ChannelEngine's API via GET /v2/stocklocations
. The known stock can be fetched via GET /v2/offer/stock
.
Can I use multiple warehouses?
You can use warehouses in multiple locations thanks to ChannelEngine's stock locations feature. However, make sure that your setup is supported on ChannelEngine.
Stock reservation
Once ChannelEngine receives an order for a specific product, the stock for that product is reserved. E.g.: if you have a stock of 17 vases and two of these are sold, ChannelEngine exports a stock of 15 to all connected channels. As long as the status is New or In progress, this reservation remains – until the status changes to Shipped or Canceled. At that point, the stock from your product feed or other stock connection becomes leading again.
Close orders automatically
If you use ChannelEngine for offers but do not handle orders and/or shipments via ChannelEngine, you can use the option to automatically close imported orders.
To do so, go to Settings, Settings, Advanced settings, Orders.
Enable the Set orders to closed after import setting and save. All new orders are set to Closed right away, and no stock reservation is applied.
You can check if this feature is enabled by checking orders: the status is Closed, instead of the usual Shipped and there is an order comment stating "This order is auto closed by general settings".
Disable stock reservation
If you are absolutely certain that your stock updates toward ChannelEngine are fast enough and you have stock filters in place, it is possible to disable ChanneEngine's stock reservation. This is not a feature to enable lightly, as there is some extra latency added by exporting the order to your system and receiving a stock update in return.
To disable stock reservation, go to Settings, Settings, Advanced settings, Stock.
Enable the Turn off stock reservation for open orders setting and save. No stock reservation is applied and whatever stock you submit to ChannelEngine is what is exported to marketplaces.
Note that bol has stock reservation enabled by default.
Marketplace stock
Channel stock is the actual stock exported to a marketplace, which is also the stock ChannelEngine receives from the marketplace. This is the stock received from your system minus any stock reservations, if applicable. Some marketplaces also have stock reservation options, which can usually be disabled in their back-ends.
In the example pictured above, the stock known to ChannelEngine is 310. However, there are 61 items in open orders, resulting in the export of a stock number equal to 249.
On ChannelEngine it is also possible to see the stock reported by the channel, although there is a delay in that data – which can be 1-2 hours behind.
Stock allocation
You can allocate a specific number or percentage of stock items to a marketplace using ChannelEngine's stock allocation feature. This feature allows you to control the stock levels shared with the marketplace. Note that you cannot use it in combination with multiple warehouses on ChannelEngine.
Stock buffer
You can reserve a portion of your stock using the Buffer setting on the channel's Setup page. This way, you make sure that not the whole stock, but only the portion of it is communicated as available to the marketplace. The rest, i.e.: buffer, stays intact and cannot be sold.
In the Stock buffer setting, enter a value greater than 0 (zero). E.g.: if a product’s stock is 50, a value of 2 ensures that only 48 items are available to the marketplace. Two items are kept as a buffer.
Stock limit
You can cap the number of items available for sale using the Limit setting on the channel's Setup page. This way, you make sure that no more than the specified quantity is sold on the marketplace, regardless of your total stock.
In the Stock limit setting, enter a value greater than 0 (zero) to set a stock limit. E.g.: a value of 20 ensures that at most 20 items are available to the marketplace – even if the actual stock is higher than 20.
Comments
0 comments
Article is closed for comments.