Stock in ZORT
Two numbers
Every product carries stock and availablestock, and they are usually different.
The reference documents them as "Stock" and "Available Stock" and says nothing more. It does not define what makes stock unavailable. There is also a separate endpoint, UpdateProductAvailableStockList, that sets available stock directly, so the gap between the two is not necessarily order allocation. Someone may have set it by hand.
Treat availablestock as the number ZORT thinks you can sell and stock as the number on the shelf. Before you build anything that depends on the difference meaning something specific, check it on your own account: place an order, do not ship it, and watch which number moves.
Stock is per warehouse
There is no global stock figure. Every stock operation requires a warehousecode, and zort_list_products reports levels for the warehouse you name. Run zort_list_warehouses first if you do not have the code.
Which adjustment mode
zort_adjust_stock takes a mode, and the choice matters more than it looks:
| situation | mode |
|---|---|
| physical count | set |
| goods received | increase |
| damage, shrinkage, samples | decrease |
set overwrites. If a count says 40 and an order takes 6 units between your reading the shelf and writing the number, set: 40 throws that away. Use increase and decrease for anything that is a change, and keep set for the moment you genuinely know the absolute number.
Each line needs a sku or a product_id. You can pass cost on a line to update unit cost at the same time.
zort_adjust_stock(
warehousecode: "WH1",
mode: "increase",
stocks: [{ sku: "P-CABLE-3M", stock: 24, cost: 18.50 }]
)
Watch the SKUs that matter
A catalogue of 5,000 products is not something to pin, but a handful is. Add a product asset for the SKUs where running out actually costs you, usually the ones listed across several channels or with long restock lead times.
Not documented: marketplace sync
Whether adjusting stock in ZORT pushes the new level out to connected marketplaces is not in the API reference. What the docs describe is the inbound direction, marketplace to ZORT to API. Outbound sync looks like platform behaviour rather than an API guarantee.
If your workflow needs marketplace listings to reflect a stock change, confirm it on your own account first.