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!
⚠️ PLEASE NOTE ⚠️ The LITE version can only be used to track internal stock. It does not display attribute stock on the frontend or prevent over-purchasing. This feature is only available in the full version.
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.
✨ Plugin Features
Manage stock at the attribute level. Share stock between all products/variations with one or more assigned attributes.
Limit product stock (Full version only)
Display the effective product stock available on the frontend and prevent over-purchasing.
Specify the amount of stock reduced per purchase (including decimal values). Useful for measurements, weights, packs, lengths, etc.
Admin page for easy management of attribute stock items. Set SKUs, internal notes, low stock threshold, product filters, and more.
Instantly export your attribute stock to CSV. Add or update stock in your favorite spreadsheet editor, then import your changes with a single click.
Keep track of your attribute stock with WooCommerce stock reports.
Low stock emails
Receive email notifications for low stock and out of stock attributes.
Manage your attribute stock from external software with our fully integrated WooCommerce REST API endpoint.
Works well with many plugins, such as Variation Swatch plugins, POS systems, Subscriptions, Product Bundles, Waitlists, Cart Stock Reducer, WP-Lister, WPML, Polylang, and more.
Almost 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.
🧩 More Examples
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.
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.
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.
Download the plugin and upload it to your site via Plugins > Add New > Upload Plugin.
Alternatively, unzip the plugin ZIP file and upload the resulting folder to your site’s /wp-content/plugins/ directory. Don’t forget to activate it through the Plugins menu in WordPress.
⭐ Upgrading to the Full Version
Make sure to uninstall the Lite version before installing the Full version. Your attribute stock data will not be deleted.
🗑️ Deleting Data
By default, when you uninstall WooCommerce Attribute Stock, all of the attribute stock data you’ve added will remain in your database. This safeguards against accidental data loss.
However, if you want all attribute stock data deleted, simply add the below line to your wp-config.php file before uninstalling the plugin:
Do you offer customer support?
Yes. Email support is offered via CodeCanyon after purchasing the full version. We will also respond to questions on the WordPress support forum, but response time may be delayed.
How can I get the full version?
The full version is available to purchase on CodeCanyon.
Colaboradores y desarrolladores
«WooCommerce Attribute Stock – Share Stock Between Products (Lite Version)» es un software de código abierto. Las siguientes personas han colaborado con este plugin.Colaboradores
¿Interesado en el desarrollo?
Registro de cambios
- WooCommerce 7.1 compatibility.
- Added a new [attribute_stock] shortcode to display stock for a single stock item.
- Fixed a PHP error in the Lite version after last update.
- Declared WooCommerce High Performance Order Storage (HPOS) compatibility.
- Fixed products sometimes showing as in stock incorrectly when using decimal stock.
- WordPress 6.1 compatibility.
- WooCommerce 7.0 compatibility.
- Added synchronization of products’ product_visibility/outofstock taxonomy/term (optional setting).
- Removed the old out-of-stock products tracking system that was used for product queries.
- Display stock availability for «Any» variations regardless of «Stock display format» setting.
- Improved support for WooCommerce’s product attributes lookup table.
- Added an «Ajax Variation Threshold» setting.
- Added compatibility for the Porto theme’s Skeleton Lazy Loading feature.
- Fixed styling for the «Ignore attribute stock» product-level option.
- Fixed styling for additional metaboxes on the attribute stock edit screen.
- Fixed a PHP warning after last update.
- WooCommerce 6.8 compatibility.
- Added the REST API to the Lite version.
- Added OpenPOS compatibility.
- Fixed cart items not indicating that accumulative shared stock is backordered.
- Simplified the CSV import/export attribute data format.
- 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.
- 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.
- 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.
- Fixed SKUs not being searchable in the admin list.
- Improved compatibility with number formats in different locales.
- WooCommerce 6.3 compatibility.
- Improved triggering of product stock actions.
- Changed product filters to only allow selecting main products (no variations).
- 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.
- Fixed «Allow backorders» global setting not working in some cases.
- Fixed CSV export URL conflicting with some plugins.
- 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.
- Fixed an issue with hiding out of stock products.
- Added filters to allow modifying cached out of stock IDs.
- Fixed a PHP error in the Lite version.
- WooCommerce 6.1 compatibility.
- Setting a quantity multiplier of 0 now forces out of stock.
- Added several new settings under WooCommerce > Settings > Products > Inventory.
- Added support for the new hide out of stock filtered attributes feature in WC 6.0.
- Added the ability to update existing stock items when importing CSV files.
- Added admin list category filtering when using stock category filters.
- Added support for back in stock / waitlist plugins.
- Added support for selecting product bundles as stock product filters.
- Added several new filters to cart checking logic.
- Improved general support for 3rd party plugins.
- Fixed multiple backorder products using the same stock showing a cart error.
- Fixed «Any» attribute match rules not matching in some cases.
- Fixed PHP warnings on admin product attribute pages in some cases.
- Fixed duplicated orders retaining metadata of reduced attribute stock.
- Fixed a bug causing products to be incorrectly ignored sometimes.
- Many more improvements and optimisations.
- WooCommerce 5.8 compatibility.
- Fixed several edge-case matching issues when using «Any» variations.
- Fixed a fatal error in WordPress < 5.5.0 when deleting post items.
- Fixed attribute term form fields conflicting with some plugins.
- Added a filter to allow limiting stock for different product statuses.
- Fixed category filters not working properly with multi-language plugins.
- Changed names of custom database tables and registered them in wpdb.
- Check for and re-create missing database tables on activation of plugin.
- Added a helpful error message when trying to install the full version over the lite version.
- WooCommerce 5.6 compatibility.
- Fixed a PHP error when a cart item’s «variations» value is not an array.
- Added several additional helper functions for developers.
- WordPress 5.8 compatibility.
- WooCommerce 5.5 compatibility.
- Fixed match rules with «Any» attribute term not being included in CSV exports.
- Added workaround for object cache implementations that don’t use the $found indicator variable.
- WooCommerce 5.4 compatibility.
- Clear out-of-stock cache when WooCommerce Inventory settings are updated.
- Fixed a bug in the product query compatibility.
- WooCommerce 5.3 compatibility.
- Improved compatibility for product queries when hiding out of stock items.
- Added WooCommerce cart stock message filters.
- Added Envato Authorize link to plugin links.
- Fixed new stock items being disabled by default.
- Fixed Facebook for WooCommerce compatibility loading when sync is disabled.
- Fixed a slow database query when matching products to sync after stock is updated.
- Updated Mewz plugin framework.
- Added WooCommerce REST API endpoint.
- Added stock status filter to attribute stock admin list.
- Added delete confirmation for attribute stock list items.
- Added compatibility for Polylang, WP Rocket, and Facebook for WooCommerce.
- Improved compatibility for WP-Lister.
- Moved attribute stock SKU from ‘post_excerpt’ to ‘_sku’ meta data.
- Enabled product stock limiting during WP-Cron by default.
- Fixed duplicated stock items not updating author ID.
- Various tweaks and improvements.
- Fixed partial refunds restoring attribute stock for all items.
- Fixed Cart Stock Reducer compatibility loading in the Lite version.
- Added basic compatibility for Lumise Product Designer.
- Fixed an issue with «Any» variations incorrectly showing as out of stock on the cart page.
- Reworked frontend error messages to use the default WooCommerce messages.
- Fixed «Hide out of stock items» setting not working with «Any» variations.
- Fixed stock being reduced incorrectly when manually adding items to an unpaid order.
- Fixed HTML characters in attribute names not being decoded properly.
- Added compatibility for WooCommerce Order Status & Actions Manager plugin stock restoration.
- WooCommerce 5.0 compatibility.
- Fixed updates failing via the Envato Market plugin.
- Updated WP-Lister compatibility.
- Fixed a bug causing product filters to not work in some cases.
- Fixed Envato authorizations being revoked randomly.
- WooCommerce 4.9 compatibility.
- Added basic WPML compatibility.
- Improved performance of «Any» variations with a large number of attribute combinations.
- Fixed admin notice dismiss buttons not working in WordPress 5.6.
- Retry failed Envato API requests more times before giving up.
- WordPress 5.6 compatibility.
- WooCommerce 4.7 compatibility.
- Fixed «Ignore attribute stock» option not working in some cases.
- Fixed decimal quantities not showing in the admin stock list with some locales.
- Fixed Cart Stock Reducer not expiring attribute stock correctly.
- Added more validations before sending stock notifications.
- Added filter to allow changing the amount of attribute stock reduced per order item.
- Disabled Envato Auth prompt in debug mode.
- Improved error handling of Envato purchase verification API.
- WooCommerce 4.5 compatibility.
- Added automatic plugin updates from Envato.
- Added basic compatibility for WooCommerce Cart Stock Reducer.
- Reworked «Any» variations to be compatible with most themes, quick views, swatch plugins, and hiding out of stock items.
- Fixed add to cart validation not working correctly in some cases.
- Fixed products in the WooCommerce mobile app being hidden/limited by attribute stock.
- Changed CSV export boolean values to yes/no instead of 1/0.
- Added Brazilian Portuguese (pt_BR) translations. Big thanks to Manuela Viana for translating!
- Many more tweaks and bug fixes.
- Added compatibility for WooCommerce Product Bundles.
- Added group labels to attribute match groups to improve clarity.
- Fixed a conflict with WooCommerce Cart Stock Reducer.
- Fixed out of stock variations being incorrectly hidden in some cases.
- Fixed attribute stock list not showing the correct stock color after inline editing.
- Improved compatibility with some badly coded plugins when adding attribute terms with stock.
- Added compatibility for WooCommerce Subscriptions.
- Added inline add/subtract stock quantity action.
- Added order notes for incremental order item quantity changes.
- Various improvements and bug fixes.
- Added filter to allow changing or disabling the order note.
- Added compatibility to reduce stock for orders created by WP-Lister.
- Fixed cache invalidation error on plugin update.
- Updated wording for «match all» option to be a bit clearer.
- Minor UI accessibility tweaks.
- WordPress 5.5 compatibility.
- WooCommerce 4.4 compatibility.
- Added CSV importing and exporting.
- Added new options for filtering matches by products/categories.
- Added a new «Match all» option for multi-match stock reduction.
- Added list table columns for attributes and filters.
- Added inline stock quantity editing from the attribute stock list.
- Added a bulk action to duplicate multiple stock items at once.
- Added order notes for attribute stock movements.
- Many more tweaks, bug fixes, and optimisations.
- Fixed incorrect detection of frontend admin-ajax.php requests.
- Fixed situations where orphaned variations were looking for their parent 😢
- Enabled product stock limiting for frontend REST API requests (by default).
- Improved handling of 3rd party queries in the attribute stock admin list.
- Added modified date to attribute stock list and edit screen.
- WooCommerce 4.3 compatibility.
- Fixed attribute terms with numeric slugs not being matched.
- Fixed created date not updating when duplicating attribute stock.
- Product stock will now also be limited for frontend admin-ajax.php requests (by default).
- Improved attribute stock admin list sorting.
- Minified and unminified CSS and JS assets are now used accordingly.
- Added hooks for add to cart validation.
- Added filter for modifying frontend stock limits.
- WooCommerce 4.2 compatibility.
- Fixed attribute-level stock not displaying on the Attributes screen.
- Added duplicate action for attribute matches.
- General optimisations and improvements.
- Fixed incorrect matching of «any» variations in certain cases.
- More performance optimisations.
- Fixed «any» variations being allowed to add more to cart than available.
- Setting a quantity multiplier of 0 will now disable the match completely.
- Modified several filters for better compatibility with other plugins.
- Modified singular «insufficient stock» notice text.
- Performance optimisations.
- Fixed a packaging error in v1.3.1.
- WooCommerce 4.1 compatibility.
- Fixed backorders not working when attribute stock is 0.
- Fixed ‘Allow backorders’ not inheriting from variable parent product.
- Product stock will now ONLY be «limited» on the frontend (filterable with ‘mewz_wcas_limit_product_stock’).
- Some other minor fixes and improvements.
- WooCommerce 4.0 compatibility.
- Non-variation attributes in variable products will now also be used to match attribute stock for all variations.
- Attribute-level stock will now only show on the Attributes screen when added from there.
- Added tooltip next to attributes «Add match» button.
- Modified a few filters.
- Several other minor tweaks and improvements.
- Fixed some unescaped translation strings.
- The full version is now available on CodeCanyon.
- Fixed some loader inconsistencies.
- Optimised product stock limiting for larger stores.
- Enabled attribute-level stock, quantity multipliers, multi-attribute stock and per-product exclusions in the free version!
- Fixed Freemius license checking error.
- Fixed attribute matcher not listing terms in correct order.
- Added a few more filters.
- Enabled HTML stock notification emails for free version.
- Several other tweaks and fixes.
- Fixed SVN repo build.
- Fixed some incorrect text domains.
- Enabled the Attribute Stock management page for free version.
- Added SKU field to WooCommerce attribute forms.
- Fixed Freemius opt-in plugin icon image.
- Initial release.