Checkout and order stock lifecycle

Understand combined shared-stock validation, order snapshots, reductions, restorations, refunds, and admin edits.

Reviewed 2026-08-15

WooCommerce cart containing 250 gram and 1 kilogram flour packages whose combined demand exceeds their shared stock
Combined demand is validated across package lines before checkout can proceed.

Once an item is mapped, the pool becomes part of its WooCommerce availability and order-stock lifecycle. This works with classic Cart and Checkout and the Store API used by Cart and Checkout Blocks.

Combined cart availability

The plugin aggregates demand by pool before accepting the cart. Two lines may each be valid alone but invalid together when both consume the same physical balance. The customer receives an insufficient pooled-stock message and checkout cannot proceed with that demand.

For each linked item, sellable quantity is based on available pool quantity divided by consumption per item, rounded down to a whole item. Pro supply states and safety stock can reduce available-to-sell quantity without changing the on-hand balance.

Reduction and idempotency

When WooCommerce reduces stock, the plugin records the pool demand for each order item and creates typed stock movements. Repeated delivery of the same WooCommerce event does not reduce the pool twice.

The order item stores the mapping version, pool components, and normalized demand used for that purchase. The plugin never recalculates an older restoration from today’s mapping.

Cancellations, restorations, and refunds

WooCommerce stock restoration returns the stored demand to its original pool once. Restock-enabled refunds restore the applicable order-item quantity. Later mapping edits or unlinking do not redirect the restoration.

Review Activity using the order number as source context when a balance appears unexpected.

Admin-created and edited orders

Admin-created order items are snapshotted before stock reduction. After reduction, quantity changes, added lines, and deleted lines are reconciled against the stored state. An edit which cannot be reconciled safely, such as an ambiguous change after a partial restock, is blocked instead of guessing.

Compatibility notes

  • HPOS is declared and order access uses WooCommerce APIs.
  • Cart and Checkout Blocks are supported through Store API validation.
  • Pro ignores Product Bundles and Composite Products container lines while mapped child lines consume stock normally.
  • Pro handles mapped subscription-renewal items through its renewal adapter.

When testing a new mapping, use a staging order containing multiple package sizes from the same pool, then exercise payment, cancellation, and a partial restock-enabled refund before relying on it in production.

Still need help?

Tell us what you are trying to do and where you got stuck.

Contact support