---
title: How WooCommerce Product Stock Works with Stock Triggers
description: How WooCommerce tracks product stock and where automated stock triggers fit in, with a quick example.
url: "https://wpfactory.com/docs/stocks/"
updated: "2026-09-27"
category: Pro Features
tags:
  - "Stock & Inventory Updates Triggers"
---

# How WooCommerce Product Stock Works with Stock Triggers

Before you set up automatic stock changes, it helps to know how WooCommerce tracks product stock and where [Automated Stock Update Triggers for WooCommerce](https://wpfactory.com/item/stock-triggers-for-woocommerce/) fits in. Stock Triggers does not replace WooCommerce stock: it decides *when* WooCommerce reduces or restores it.

### Where WooCommerce stores stock

Each product (or variation) has its own stock settings on the product edit screen, under **Product data > Inventory**:

- **Manage stock:** when enabled, WooCommerce keeps a numeric stock quantity for the product.
- **Stock quantity:** the number of units currently available.
- **Stock status:** In stock, Out of stock, or On backorder.
- **SKU:** the product's stock keeping unit, useful for reporting.

You can always edit these values by hand. Stock Triggers never locks manual editing; it only automates the changes tied to orders.

### How Stock Triggers changes stock

By default, WooCommerce reduces stock at a fixed point in the order flow. Stock Triggers lets you choose that point instead. When an order reaches an event you selected, the plugin calls WooCommerce's own stock functions:

- **Decrease Stock** calls `wc_maybe_reduce_stock_levels()` to lower the quantity of each product in the order.
- **Increase Stock** calls `wc_maybe_increase_stock_levels()` to restore quantity that was previously reduced for that order.

Because the plugin uses WooCommerce's standard functions, the resulting stock numbers, the "Adjusted stock" order notes, and the In stock / Out of stock status all behave exactly as WooCommerce expects. Stock decreases and increases each happen only once per order.

### A quick example

1. A product has Manage stock on and a quantity of 10.
2. Decrease Stock is enabled with the Payment complete trigger.
3. A customer buys 2 units and pays. On Payment complete, stock drops to 8.
4. The order is later refunded. If Increase Stock is enabled with the Refunded trigger, stock returns to 10.

### Where to configure it

Go to **WPFactory > Stock Triggers** (also reachable at **WooCommerce > Settings > Stock Triggers**). See [Stock Triggers Options Explained](/docs/stock-trigger-options/) for every setting.

### Get started

Automatic stock updates are free in [Automated Stock Update Triggers for WooCommerce](https://wpfactory.com/item/stock-triggers-for-woocommerce/). The Pro version adds custom triggers and custom order statuses. [See what Pro unlocks](https://wpfactory.com/item/stock-triggers-for-woocommerce/).

Related articles

- [Restrict Stock Triggers to Specific Products or Categories](https://wpfactory.com/docs/woocommerce-stock-triggers-require-products-categories/)
- [Free vs Pro: Stock Triggers Feature Comparison](https://wpfactory.com/docs/pro-vs-free-versions-stock/)
- [Stock Triggers Options Reference](https://wpfactory.com/docs/stock-triggers-options-reference/)
- [Developer Hooks and Filters Reference for Stock Triggers](https://wpfactory.com/docs/stock-triggers-hooks-filters/)
- [Additional Tips for Stock Triggers](https://wpfactory.com/docs/stock-triggers-additional-tips/)

 

[![Stock & Inventory Updates Triggers for WooCommerce](https://wpfactory.com/wp-content/uploads/Stock-Triggers-for-WooCommerce.webp)](https://wpfactory.com/item/stock-triggers-for-woocommerce/)
