{"id":350796,"date":"2026-08-27T17:50:48","date_gmt":"2026-08-27T17:50:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webis-variation-shared-inventory-for-woocommerce\/"},"modified":"2026-09-01T18:20:14","modified_gmt":"2026-09-01T18:20:14","slug":"webis-variation-shared-inventory-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/tzm.wordpress.org\/plugins\/webis-variation-shared-inventory-for-woocommerce\/","author":18241983,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"5.3","requires_php":"7.2","requires_plugins":null,"header_name":"Webis Variation Shared Inventory for WooCommerce","header_author":"Webis","header_description":"Let a group of product variations share a single shared inventory quantity.","assets_banners_color":"141414","last_updated":"2026-09-01 18:20:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.webiswoo.com\/plugins\/wvsi\/pluginsite","header_author_uri":"https:\/\/www.webis.ca","rating":0,"author_block_rating":0,"active_installs":0,"downloads":113,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dev721722908","date":"2026-09-01 18:20:14","revision":3676629}},"upgrade_notice":{"1.0.0":"<p>Initial release<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3676708,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3676658,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3676646,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3676646,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3676629,"resolution":"1","location":"assets","locale":"","width":1730,"height":976},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3676629,"resolution":"2","location":"assets","locale":"","width":2268,"height":1188}},"screenshots":{"1":"Shared Variation Inventory tab on the product edit page \u2014 create groups, assign variations, and set a shared quantity.","2":"Variation Shared Stock column on the Products list \u2014 see all groups and quantities at a glance."}},"plugin_section":[],"plugin_tags":[6601,167211,12448,6602,286],"plugin_category":[45],"plugin_contributors":[274351],"plugin_business_model":[],"class_list":["post-350796","plugin","type-plugin","status-publish","hentry","plugin_tags-inventory","plugin_tags-shared-stock","plugin_tags-stock","plugin_tags-variations","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-dev721722908","plugin_committers-dev721722908"],"banners":{"banner":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/banner-772x250.png?rev=3676646","banner_2x":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/banner-1544x500.png?rev=3676646","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/icon-128x128.png?rev=3676708","icon_2x":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/icon-256x256.png?rev=3676658","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/screenshot-1.png?rev=3676629","caption":"Shared Variation Inventory tab on the product edit page \u2014 create groups, assign variations, and set a shared quantity."},{"src":"https:\/\/ps.w.org\/webis-variation-shared-inventory-for-woocommerce\/assets\/screenshot-2.png?rev=3676629","caption":"Variation Shared Stock column on the Products list \u2014 see all groups and quantities at a glance."}],"raw_content":"<!--section=description-->\n<p>Variation Shared Inventory for WooCommerce allows store owners to collectively manage their product's stock when selling the same product in various quantities. Sell your items in groups of any amount, and track those groups in the total inventory.<\/p>\n\n<p>This innovation allows store owners to track their total inventory, even when items are sold in multiple bulk quantity variations, and easily integrate the bulk sale of products.<\/p>\n\n<p>Requires WooCommerce 8.0.0 or higher.<\/p>\n\n<h4>Most important features<\/h4>\n\n<p>Variation shared inventory has easy-to-use methods to allow you to manage inventory for sharing stock among variations. Using it will save you tons of time on managing individual stock values and provide a better shopping experience for your customers which can lead to higher sales. Here's a list of features:<\/p>\n\n<ul>\n<li><strong>Variation quantity multiplier<\/strong> \u2013 Each variation has its own \"Inventory reduction per item sold\"<\/li>\n<li><strong>Managed variation stock<\/strong> \u2013 Once the variation is sharing with other variations, its quantity is disabled for better control and to prevent human error<\/li>\n<li><strong>Managed stock values<\/strong> \u2013 Automatically updates stock values for products &amp; variations based on the total available stock<\/li>\n<li><strong>Dedicated stock manager<\/strong> \u2013 Dedicated tab on product edit page for stock management<\/li>\n<li><strong>Overselling prevention<\/strong> \u2013 Cart validation that prevents products from being sold if they exceed the total inventory<\/li>\n<li><strong>Automatic stock restoration<\/strong> \u2013 Stock is automatically restored when an order is cancelled or refunded<\/li>\n<li><strong>Variation Shared Stock column<\/strong> \u2013 Quick visibility of shared stock groups on the Products list page<\/li>\n<li><strong>HPOS compatible<\/strong> \u2013 Works with WooCommerce High-Performance Order Storage<\/li>\n<\/ul>\n\n<h4>Why Did We Develop This Plugin?<\/h4>\n\n<p>As a store owner ourselves, we found it very difficult to track inventory when selling different quantities of products. We searched for existing solutions on the market but couldn't find one that solved the issue in a simple and straightforward way, hence we have developed this plugin ourselves to solve this bulk quantity issue and we hope it can solve yours as well.<\/p>\n\n<h4>How Do I Set It Up?<\/h4>\n\n<p>Once this plugin is enabled, in the product data section of the product edit page, there will be a new tab called \"Shared Variation Inventory\" where you can enable the \"Shared Variation Inventory\" option for this product. Once you've enabled it, in the \"Quantity Manager\" section, you can group the variations that you want to share inventory for, enter the total stock of this group, and give the group a label. You can create as many groups as you need (e.g. Variations A &amp; B are different quantities of Peach Candy and Variations C &amp; D are different quantities Apple Candy).<\/p>\n\n<p>The steps:<\/p>\n\n<ol>\n<li>Enable the plugin<\/li>\n<li>Go to the product edit page, find the tab \"Shared Variation Inventory\", enable the \"Shared Variation Inventory\" option<\/li>\n<li>For all variations you'd like to share inventory for, fill in the \"Inventory reduction per item sold\" field and turn on the \"Manage stock?\" option<\/li>\n<li>On the quantity manager section, select the variations you want to group, enter the total quantity and if you'd like a group name as well<\/li>\n<li>You're all set.<\/li>\n<\/ol>\n\n<h4>What Does This Plugin Do?<\/h4>\n\n<p>This plugin allows you to share the total stock (e.g. 100 units) of a product internally among its variations (e.g. variation A sells by single units, variation B sells in groups of 10 units), and control the total product stock in a centralized section.<\/p>\n\n<h4>For Example<\/h4>\n\n<p>Say you have 100 bags of candy for sale, and you want to sell the candy as singles as well as in bulk amounts of 10, you can set it up so that variation A sells by 1 bag and variation B sells by 10 bags (1 box).<\/p>\n\n<p><strong>Without our plugin:<\/strong><\/p>\n\n<p>You would need to split your 100 units and manually allocate and manage stock for the two variations. The problem with this setup is that the variations might sell at different speeds resulting in one of the variations showing up as out of stock while there is still stock left.<\/p>\n\n<p><strong>With our plugin:<\/strong><\/p>\n\n<p>You can simply put down 100 as the total stock. On your storefront, the product page would show that there are 100 units available for variation A and 10 units available for variation B. Then, if 50 units of variation A are sold, your total product stock becomes 50, which updates the stock of variation A to 50 and the stock of variation B to 5.<\/p>\n\n<p>Our Variation Shared Inventory for WooCommerce plugin also prevents your products from being oversold. In the above example where the total product stock is 100, your customer can't checkout with 51 units of variation A and 5 units of variation B as it would total to more than 100 total units.<\/p>\n\n<h4>What You Can Do With It<\/h4>\n\n<p>The plugin automatically synchronizes the inventory for variations that share the same total stock, effectively managing your stock for you. When you manually change the total stock of a product, it will automatically update stock quantity of each variation in that group as well.<\/p>\n\n<p>Here are a few examples of what you can do with it:<\/p>\n\n<ol>\n<li>Selling products in bulk at a discount, e.g. 1 chocolate bar for $2, 10 chocolate bars for $15.<\/li>\n<li>Selling white label products, e.g. 100 customizable t-shirts, set up as variations for solid white, solid black, or graphic t-shirt.<\/li>\n<li>Selling weight based products, e.g. 10kg of premium coffee beans, set up with variations for 100g, 250g, 500g, etc.<\/li>\n<\/ol>\n\n<h4>Solutions for Selling Products In Bulk<\/h4>\n\n<p>If you want to sell products in different quantities (e.g. in single or in bulk), there are a few ways of doing it:<\/p>\n\n<ol>\n<li><strong>Setup one variation per quantity you want to sell.<\/strong> Pros: It is easier for customer to browse as well as for you to manage. Cons: N\/A. Conclusion: We recommend this solution.<\/li>\n<li><strong>Setup one product per quantity.<\/strong> Pros: On the product list page (e.g. shop page or category landing page), the customer can see all available options right away. Cons: Most customers are interested in your product first and pricing\/quantity options after. Conclusion: We do not recommend this option (unless you have unique business requirements).<\/li>\n<\/ol>\n\n<h4>Different Approaches to Bulk Selling and Why We Chose the Method We Did<\/h4>\n\n<p>There are a few different approaches for sharing stock among products or variations:<\/p>\n\n<ol>\n<li><strong>A centralized stock page for all sharing products &amp; variations.<\/strong> There are plugins that provide a dedicated page for all the products &amp; variations that are sharing stock, but the problem is that it is overly complicated. When a store manager would like to make changes to a product, they would normally go to product edit page to make their changes. By adding another dashboard that they have to use to make changes, the process becomes very inefficient and inconvenient.<\/li>\n<li><strong>Using a common product attribute to share stock between products.<\/strong> This solution sounds good at first, but when you have a large catalog (e.g. 100+ products), attributes often need to be reused, which this method does not support.<\/li>\n<li><strong>Using a variable product to manage shared stock.<\/strong> This is our solution, and we believe that compared to the other shared stock solutions out there, it is the easiest solution to setup &amp; manage by far.<\/li>\n<\/ol>\n\n<h4>It Works Well With<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/woocommerce.com\/products\/product-batch-expiration-tracking-for-woocommerce\/\">Product Batch &amp; Expiration Tracking for WooCommerce<\/a> \u2014 Track batches and expiration dates alongside your shared inventory.<\/li>\n<\/ul>\n\n<h4>Want more?<\/h4>\n\n<p>The <a href=\"https:\/\/woocommerce.com\/products\/variation-shared-inventory-for-woocommerce\/\">Pro version<\/a> unlocks additional capabilities:<\/p>\n\n<ul>\n<li><strong>Cross-product inventory sharing<\/strong> \u2013 Link the same group across different products<\/li>\n<li><strong>Dedicated Dashboard<\/strong> \u2013 Bulk edit shared stock across all groups at a glance, with CSV export<\/li>\n<li><strong>Low stock highlighting<\/strong> \u2013 Automatically flag groups at or below your threshold<\/li>\n<li><strong>Shop Manager access<\/strong> \u2013 Shop Managers can manage the Shared Inventory Dashboard without needing Administrator privileges<\/li>\n<li><strong>Mobile App &amp; REST API sync<\/strong> \u2013 Stock adjustments made via the WooCommerce mobile app or REST API are automatically synced to the shared inventory group<\/li>\n<li><strong>Quick Edit support<\/strong> \u2013 Update shared inventory directly from the product list<\/li>\n<\/ul>\n\n<h3>Development<\/h3>\n\n<p>assets\/js\/admin-product.min.js is compiled from assets\/js\/admin-product.js using Terser.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to \/wp-content\/plugins\/<\/li>\n<li>Activate through the Plugins menu<\/li>\n<li>Requires WooCommerce 8.0.0 or higher<\/li>\n<li>Go to any variable product and open the \"Shared Variation Inventory\" tab to get started<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"i%20sell%20a%20product%20in%20multiple%20sizes%20and%20colors%2C%20but%20they%20all%20come%20from%20the%20same%20physical%20stock.%20can%20i%20manage%20them%20with%20a%20single%20inventory%20number%3F\"><h3>I sell a product in multiple sizes and colors, but they all come from the same physical stock. Can I manage them with a single inventory number?<\/h3><\/dt>\n<dd><p>Yes. Create a shared inventory group, add all the size\/color variations to it, and set the quantity once. All grouped variations draw from the same stock pool \u2014 no need to split or duplicate inventory numbers across variations.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20two%20customers%20try%20to%20buy%20the%20same%20variation%20at%20the%20same%20time%3F%20will%20my%20store%20oversell%3F\"><h3>What happens if two customers try to buy the same variation at the same time? Will my store oversell?<\/h3><\/dt>\n<dd><p>No. The plugin enforces cart validation at checkout: before the order goes through, it checks the shared available quantity. If the combined cart quantity exceeds what is in stock, the purchase is blocked and the customer is notified.<\/p><\/dd>\n<dt id=\"a%20customer%20cancelled%20their%20order.%20will%20the%20shared%20stock%20be%20automatically%20restored%3F\"><h3>A customer cancelled their order. Will the shared stock be automatically restored?<\/h3><\/dt>\n<dd><p>Yes. The plugin automatically adds the stock back to the shared inventory group when an order is cancelled or refunded \u2014 no manual adjustment needed.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Does this work with WooCommerce High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully compatible with HPOS.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20a%20shared%20inventory%20group%3F\"><h3>How do I set up a shared inventory group?<\/h3><\/dt>\n<dd><p>Go to any variable product \u2192 open the \"Shared Variation Inventory\" tab \u2192 click \"Add group\" \u2192 select the variations to share stock \u2192 enter a quantity \u2192 click \"Save group(s)\". Make sure each variation has \"Manage stock\" enabled at the variation level.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20alongside%20the%20pro%20version%3F\"><h3>Can I use this alongside the Pro version?<\/h3><\/dt>\n<dd><p>No. Only one version (Free or Pro) should be active at a time. Activating both simultaneously will cause a conflict.<\/p><\/dd>\n<dt id=\"will%20my%20existing%20inventory%20groups%20be%20lost%20if%20i%20switch%20between%20versions%3F\"><h3>Will my existing inventory groups be lost if I switch between versions?<\/h3><\/dt>\n<dd><p>No. Inventory group data is stored in WordPress post meta and is shared between the Free and Pro versions. Your groups remain intact when switching.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Let a group of product variations share a single shared inventory quantity.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/350796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=350796"}],"author":[{"embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dev721722908"}],"wp:attachment":[{"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=350796"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=350796"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=350796"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=350796"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=350796"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tzm.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=350796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}