Share stock between products/variations using attributes.
Our plugin allows you to create stock based on global product attributes. A simple feature in concept, yet extremely versatile, fulfilling a wide range of use cases.
Easily track and manage shared product stock, variable stock, linked stock, product addons, product combos, parts, measurements, ingredients, and much more!

Why is this needed?

Let’s say you have an online store that sells custom printed t-shirts, with each t-shirt print listed as a product on your site. Simple enough, right?
Not exactly… Since WooCommerce can only track stock at the product level, there’s no way to keep track of the total number of blank t-shirts you have in stock between each of your products.
Your stock levels would quickly go out of sync and your customers would be able to purchase 10 different prints even if you only have one t-shirt left in stock!

Ok you got me. What can we do about it?

With WooCommerce Attribute Stock you can easily share stock between any number of products or variations. This is achieved by managing stock based on product attributes, making it extremely flexible while still familiar and easy to use.
Shared stock levels are accurately tracked, available stock is displayed to customers, and over-purchasing is prevented.
See the examples section below for more advanced stock setups made possible with attribute stock.

Attribute-based stockManage stock at the attribute level. Share stock between all products/variations with one or more assigned attributes.
Limit product stockDisplay the effective product stock available on the frontend and prevent over-purchasing.
Quantity multiplierSpecify the amount of stock reduced per purchase (including decimal values). Useful for measurements, weights, packs, lengths, etc.
Stock managementAdmin page for easy management of attribute stock items. Set SKUs, internal notes, low stock threshold, product filters, and more.
Stock reportsKeep track of your attribute stock with WooCommerce stock reports.
Low stock emailsReceive email notifications for low stock and out of stock attributes.
REST APIManage your attribute stock from external software with our fully integrated WooCommerce REST API endpoint.
Highly compatibleWorks well with many plugins, such as Variation Swatch plugins, POS systems, Subscriptions, Product Bundles, Waitlists, Cart Stock Reducer, WP-Lister, WPML, Polylang, and more.
Developer friendlyAlmost anything that can’t already be configured can be added or changed with actions and filters.

  • Please note that WordPress Multisite and multi-store synchronisation is not currently supported.

Example #1

With attribute-level stock it’s possible to track variable stock (different amounts per item). Let’s say your shop sells Tea by the gram. Simply set your total stock on an attribute Tea and add terms such as 25g, 50g, 100g, etc. By setting a quantity multiplier, each deducts the respective amount from your total stock. This works the same for lengths, quantities, or combo packs.

Example #2

Multiple attributes per stock item can also be managed. Imagine you sold necklace pendants with various chains. Each chain has a type and a length. With attribute stock you can accurately track multiple chain inventories shared between each of your pendants and ensure items are not over-purchased.

Example #3

Attribute stock can be used in many more cases. For example, event tickets can be sold with a limited number of seats, days, or both. Different levels of tickets can be sold as separate products while sharing one or more central stock pools.

The WooCommerce Attribute Stock online documentation can be viewed here.

 
# CHANGELOG

1.7.11 (2022-08-17)
- WooCommerce 6.8 compatibility.
- Added the REST API to the Lite version.
- Added OpenPOS compatibility.
- Fixed items not showing when accumulative shared stock is backordered.
- Simplified the CSV import/export attribute data format.

1.7.10 (2022-06-29)
- WooCommerce 6.6 compatibility.
- Fixed inline stock edit fields remaining after losing focus.
- Fixed inline edit not updating stock modified date.
- Added filter to allow disabling inline stock editing.
- Handle cases where object cache returns false unexpectedly.

1.7.9 (2022-05-16)
- WordPress 6.0 compatibility.
- WooCommerce 6.5 compatibility.
- Added support for CJK characters in attribute slugs.
- Fixed refunds sometimes not adjusting stock correctly.
- Fixed a fatal error when the Envato Market plugin is installed incorrectly.

1.7.8 (2022-04-24)
- WooCommerce 6.4 compatibility.
- Fixed being able to add out of stock unmatched "Any" variations to the cart (when using the setting).
- Fixed "Backordered" meta not being added to order items when attribute stock is backordered.

1.7.7 (2022-03-25)
- Fixed SKUs not being searchable in the admin list.
- Improved compatibility with number formats in different locales.

1.7.6 (2022-03-15)
- WooCommerce 6.3 compatibility.
- Improved triggering of product stock actions.
- Changed product filters to only allow selecting main products (no variations).

1.7.5 (2022-02-26)
- Added a product filter to the admin stock list.
- Added support for "Any" variations with the product attributes lookup table.
- Fixed background tasks sometimes not being triggered properly.
- Stopped disabling cache when WP_DEBUG is enabled.

1.7.4 (2022-02-09)
- Fixed "Allow backorders" global setting not working in some cases.
- Fixed CSV export URL conflicting with some plugins.

1.7.3 (2022-02-05)
- WordPress 5.9 compatibility.
- Fixed "Any" variations not working properly with some settings.
- Fixed multiple admin stock list filters not combining queries correctly.
- Fixed WPML and Polylang syncing overridden stock to product translations.
- Added a setting to allow disabling product stock action triggering.

1.7.2 (2022-01-24)
- Fixed an issue with hiding out of stock products.
- Added filters to allow modifying cached out of stock IDs.

1.7.1...