Inventory management in Catalog V3 is handled in both the Products API and the Inventory Items API. This article explains how inventory is tracked across products, variants, and locations in the different APIs.
In Catalog V3, inventory is tracked at the variant-location level. Each inventory item represents a specific product variant at a specific location. This granular approach enables:
The Products API and Inventory Items API serve different roles in inventory management:
Products API:
inventory field on the product entity with aggregated status from the default location onlyInventory Items API:
Inventory items can be tracked using either quantity or in-stock tracking. Quantity tracking provides exact stock counts and supports preorder limits. In-stock tracking provides simple availability without counts, which is useful for made-to-order or digital products.
Each inventory item has an availabilityStatus that's automatically calculated based on the tracking method and preorder settings. The status reflects whether the item is in stock, out of stock, or available for preorder only. This status is read-only and updates automatically when inventory changes.
Preordering allows customers to purchase items that are currently out of stock, with fulfillment occurring once inventory becomes available. Preorder settings are configured per inventory item, meaning each variant-location combination can have its own preorder configuration.
Inventory can be tracked across multiple locations such as warehouses, retail stores, and fulfillment centers. Each inventory item is uniquely identified by its variantId and locationId combination, so a single variant can have separate inventory records at different locations, each with its own quantity and preorder settings.
Every store has a default location that's automatically created. When locationId isn't specified, the default location is used. The product's read-only inventory field reflects only the default location's inventory status.
The Stores Locations API provides read-only access to inventory locations. To create or modify locations, use the Wix Locations API and include "INVENTORY" in the locationTypes array.
The Create Product method doesn't automatically create inventory items. Use Create Product With Inventory to create both in a single call, or create inventory items separately using the Inventory Items API.
When decrementing inventory for order fulfillment, the Inventory Items API lets you control whether to allow negative quantities and whether to count the sale against preorder capacity instead of regular stock.