The Inventory is a complex topic since there is a lot of business logic you need to know about.
Every Product object comes with a "Stock" Tab. Let's have a look about the configuration:
|Is Tracked||Define if a product should get tracked|
|On Hand||Amount of available products.|
|On Hold||Defines how many elements are currently locked. Do not change that value unless you know what you're doing.|
If you want to enable the inventory feature for a product, you need to check this setting. After that this product is not orderable in frontend if stock is insufficient.
Note: Only if you enable "Is Tracked" the inventory stock is active! Otherwise the product is always available regardless of it's stock amount.
Define a available amount for each product. With every successfully order, an arbitrary amount will be subtracted.
This one needs some further explanation: After the checkout is complete, all ordered items will be removed from "On Hand" and get moved to "On Hold" until the payment is complete:
- If the unpaid order gets cancelled, the reserved "On Hold" amount gets back to "On Hand".
- If the order payment status switches to
paid, the reserved "On Hold" amount gets subtracted.
Cart / Checkout
If a product stock gets insufficient during a customers checkout, the product gets removed from customers cart following by a form error.