Home›Products & Catalog›Inventory & stock control

Inventory & stock control

Inventory control in TitanCart answers two questions for every product: how many do I have, and what should happen when I run out. You can track stock automatically so it counts down with each sale, leave a product as unlimited, and choose whether an out-of-stock item simply hides its Add to Cart button, accepts pre-orders, or invites shoppers to sign up for a back-in-stock alert. This article covers all of that. Everything here is part of core TitanCart, in both Pro and Lite.

Note: This guide is about tracking stock and handling out-of-stock products. The minimum, maximum and step order quantities also live on the same tab — they are covered briefly here, but for how those quantities interact with tiered pricing and customer groups see Wholesale & bulk pricing.

1. How stock tracking works

Each product has a Track inventory setting on the General tab (in the Pricing / inventory section). When it is set to Yes, the In stock figure counts down by one for every unit sold, and the product is automatically marked out of stock once it reaches zero. Set it to No and the product is treated as having unlimited supply — it never counts down and never shows as out of stock. In the product list, an untracked product shows Unlimited instead of a number.

There is also a store-wide master switch. Settings → General Settings → Catalog → Track inventory is on by default; if you turn it off, no product’s stock is ever decremented, regardless of its own setting. The per-product setting only takes effect while the master switch is on.

Note: Digital products are always unlimited. When a product is marked as a digital download, its Track inventory setting is disabled and ignored at the cart and checkout — a file or licence key never runs out. See Product types for the details.

2. Setting a product’s stock level

Open the product, go to the General tab, and find the In stock field in the Pricing / inventory section. Enter the number of units on hand. TitanCart derives the product’s stock status from this figure for you: above zero means in stock, zero (or below) means out of stock. You do not set the status by hand — adjusting the quantity is enough.

After that, stock looks after itself. The quantity ordered is subtracted the moment the order is committed — when a card payment is taken, or when an order paid by an offline method (cash on delivery, bank transfer, check) is placed. A payment that is declined, or a checkout that is abandoned, never touches stock. The status flips automatically the moment the count hits zero. You only return to the In stock field when you receive new stock and want to top it back up.

Getting stock back: cancellations, refunds and returns

Stock is returned automatically when an order moves into a status whose Inventory action is Restore — return stock to inventory. Out of the box that is Cancelled and Refunded; you can change it per status under Settings → Order Statuses (the other choice is None — no inventory change). Three rules keep the count honest:

  • An order’s stock is returned once, however many times it passes through restore statuses.
  • An order that was never paid never took stock, so cancelling a Pending order changes nothing.
  • Units already returned to stock by a completed return (see Returns & RMA) are not returned a second time when the order is later refunded.

3. Store-wide inventory settings

Four settings under Settings → General Settings → Catalog govern inventory for the whole store:

  • Track inventory — the master switch described above. On by default. Off means nothing is ever decremented.
  • Allow negative amount in inventory — off by default. When on, stock can drop below zero, which lets shoppers keep buying a tracked product even after it sells out. This is the simplest way to allow oversells across the whole catalog.
  • Low stock notification threshold — a number, 0 by default (disabled). When you set it to, say, 5, TitanCart e-mails the store administrator the moment a product falls to that level (the Product Low Stock Notification template), records a low-stock warning in System Logs, lists the product in the dashboard’s Low Stock Alerts card and in Revenue Reports, and fires the low-stock event that API webhooks and the SMS Notifications extension listen for. The Products list uses the same number for its amber Low Stock badge and its Low Stock card (5 while the setting is 0, so the colour cue never disappears).
  • Show out of stock products — on by default. Turn it off to drop out-of-stock products from category pages and search results; their product pages stay reachable by direct link, so Notify Me sign-ups still work.

Note: The low-stock e-mail goes to the WordPress administrator address and is sent once per product each time its stock drops into the band — a sale or an order edit under Sales triggers it; typing a new quantity into the product editor, Bulk Edit or a CSV import does not. Switch it off under Settings → Notifications → Products → Product low stock alert, or edit its wording under Settings → Notifications → Templates → Product Low Stock Notification. The SMS Notifications extension (Pro) can also text you, and API webhooks carry a product.low_stock event for your own tooling.

4. What happens when a product runs out

By default an out-of-stock product can’t be added to the cart — the storefront shows it as unavailable. You change that behaviour with the Out of stock actions setting on the product’s General tab (in the Availability section). It has three choices:

  • None (the default) — when the product is out of stock, Add to Cart is replaced by an out-of-stock state. The shopper can’t buy it until you restock.
  • Buy in advance — pre-orders. The product stays buyable even with zero or negative stock; the storefront keeps showing Add to Cart and adds a note that the item ships once it’s back in stock. Use this for items you’re taking orders for ahead of a restock.
  • Sign up for notification — when the product is out of stock, the storefront shows a “Notify Me” box where shoppers leave their email to be alerted when it returns. This is the waitlist, covered in section 6.

How it looks to shoppers

With Buy in advance, the product page’s button reads Pre-Order and a line underneath says “Ships when this product is back in stock.” With None or Sign up for notification, product cards in category pages show a Notify Me link in place of Add to Cart, which jumps to the sign-up box on the product page. Two Appearance settings add stock information on top (Settings → General Settings → Appearance):

  • Show number of available products — prints the count on the product page (“12 in stock”). Even with it off, a shopper who cannot go past the minimum sees “Only 3 available” when the quantity box is capped by stock.
  • Product Ribbons — corner ribbons on product cards: In Stock, Low Stock (“Only {qty} left”, with its own Low Stock threshold, 5 by default), Out of Stock (“Sold Out”) and Preorder. Each has its own on/off switch, label and colour; all are off until you enable them.

Backorders

If you’d rather keep selling a specific out-of-stock product without flipping it to pre-order, you can allow backorders on it. Backorders aren’t a field in the product editor — you set them in bulk: from the Products list, select the products, choose Bulk Edit, and set Allow Backorders in the “Other” group. (It can also be set from a CSV import.) A product with backorders allowed stays sellable below zero, the same way the store-wide “Allow negative amount in inventory” setting does — the difference is that backorders apply only to the products you pick, while the store-wide setting applies to everything.

Note: What out-of-stock handling does — and doesn’t. “Buy in advance”, “Allow backorders” and the store-wide “Allow negative amount” setting all keep a product buyable past zero; they don’t change the stock count itself, which can go negative so you still know how many you owe. “Sign up for notification” does not sell the product — it collects interested shoppers so you can notify them later. And none of these apply to digital products, which never run out.

5. Order-quantity limits: minimum, maximum & step

Just below the stock fields on the General tab are three purchase-quantity rules:

  • Minimum quantity to buy per product — the fewest units a shopper must order.
  • Maximum quantity to buy per product — the most they can order in one go.
  • Quantity step — the increment the quantity box jumps by (a step of 6 means orders go 6, 12, 18…).

Each of these can fall back to a store-wide default: leaving the product set to Global uses the value from Settings → General Settings → Checkout (Minimum / Maximum quantity to buy per product), and a per-product value overrides the global for that one product. For how these limits combine with tiered “buy more, save more” pricing, see Wholesale & bulk pricing.

6. Out of stock & the waitlist

When a product is out of stock and is not set to “Buy in advance”, the storefront product page shows a Notify Me box: the shopper enters their email and is added to that product’s waitlist. Choosing Sign up for notification as the out-of-stock action is the explicit way to invite this, but the box appears for any out-of-stock product that isn’t taking pre-orders.

The requests collect on the product’s own Waitlist tab in the editor — open a product and you’ll see everyone who asked to be told when it’s back, with a status of Waiting or Notified. When you restock, click Notify on that tab: TitanCart e-mails everyone still Waiting that the product is back in stock and marks them Notified. The e-mail uses the Back in Stock Notification template under Settings → Notifications → Templates (greeting by name, a Shop Now button to the product page, in the store’s default language), and the whole event can be switched off under Settings → Notifications → Products — the tab tells you when nothing was sent and why. The e-mail is not sent automatically when the stock figure goes back up — the button is the trigger, so you decide the moment.

Troubleshooting

  • My stock isn’t counting down after sales. Check both switches: the product’s own Track inventory must be Yes, and the master Track inventory under Settings → General Settings → Catalog must be on. If the master switch is off, nothing decrements.
  • A digital product shows as unlimited and ignores my stock number. That’s expected — digital downloads never run out, so tracking is disabled for them. If it should be a physical item, untick the digital/downloadable option on the General tab.
  • Shoppers can still buy a product that’s sold out. Something is allowing oversells: the product’s Out of stock actions is set to “Buy in advance”, the product has Allow Backorders set (via Bulk Edit), or the store-wide “Allow negative amount in inventory” setting is on. Turn off whichever applies.
  • There’s no “Notify Me” box on an out-of-stock product. The box only appears when the product is genuinely out of stock and is not set to “Buy in advance”. Confirm the stock is zero and the Out of stock action isn’t pre-order.
  • Stock didn’t come back when I cancelled an order. Check the status’s Inventory action under Settings → Order Statuses — only statuses set to Restore return stock. And an order that was never paid never took stock, so there is nothing to return.
  • Waitlist customers were not told the product is back. The back-in-stock e-mail goes out when you click Notify on the product’s Waitlist tab, not when you change the stock number.
  • I want to be warned before a product sells out. Set a Low stock notification threshold under Settings → General Settings → Catalog; the store administrator is e-mailed when a sale takes a product down to that number, the product appears in the dashboard’s Low Stock Alerts card and a warning is written to System Logs. For a text message, install the SMS Notifications extension.

See also

Previous
Wholesale & bulk pricing
Next
Product reviews