CoreShop Inventory

The Inventory is a complex topic since there is a lot of business logic you need to know about.

Product Inventory

Every Product object comes with a "Stock" Tab. Let's have a look about the configuration:

Name Description
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.

Is Tracked

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.

On Hand

Define a available amount for each product. With every successfully order, an arbitrary amount will be subtracted.

On Hold

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.