Product Add-Ons Extended for WooCommerce

Extend the WooCommerce Product Add-Ons plugin with dynamic SKUs, weight offsets and selective add-on inventory tracking — without creating hundreds or thousands of product variations.

Description

Activates alongside WooCommerce Product Add-Ons. Your existing add-ons, options and orders continue working exactly as before — this plugin only adds new capabilities.

Stop creating hundreds of variations just to track stock for a select few

WooCommerce variations were designed for products that are fundamentally different — different prices, different images, different SKUs. But many stores use them for something simpler: products with a handful of configurable options where the price difference is minor or the stock tracking need is selective. The result is database bloat that silently kills your store’s performance.

The variations problem

Consider a real-world example. A product has seven configurable attributes:

Attributes
Values / Options
Size
S, M, L, XL, 2XL, 3XL (6 Options)
Color
Black, White, Heather Grey (3 Options)
Print Location
Front, Back, Left Chest, Full Back (4 Options)
Material
Cotton, Polyester Blend (2 Options)
Fit
Regular, Slim (2 Options)
Sleeve
Short, Long (2 Options)
Folding
Unfolded, Individually Folded (2 Options)

6 × 3 × 4 × 2 × 2 × 2 × 2 = 1,152 variations. 1,152 variations × ~15 postmeta rows each ≈ 17,000 rows of metadata. For one product.

Now multiply that across a catalog of similar products. wp_posts and wp_postmeta become enormous. Queries slow down. The product editor becomes unusable. Imports and exports take forever. And when you need to change pricing on one option? You’re updating hundreds of rows individually — or writing a SQL query.

Why WooCommerce Product Add-Ons almost solves this

WooCommerce’s own Product Add-Ons plugin is the right foundation. It lets customers configure products using dropdowns, checkboxes and text fields — without creating variations. It handles price adjustments per option elegantly.

But it has a gap. It doesn’t assign dynamic SKUs, doesn’t offset weight and doesn’t track inventory per combination. If you need to know that you have 12 units of the Red / Large / Matte configuration but unlimited stock of everything else, Product Add-Ons alone can’t help you. You’re back to creating variations — and the bloat that comes with them.

Product Add-Ons Extended fills that gap

Product Add-Ons Extended for WooCommerce sits on top of Product Add-Ons and adds exactly what’s missing, without touching WooCommerce’s core data structure.

You decide which combinations to track. Configure five, fifty or none at all — only the ones that matter get a database row. Everything else falls through to your product’s default stock behavior. One product. One row per tracked combination, instead of one per possible combination.

Features

Dynamic SKU suffixes
Assign a SKU suffix to each add-on option (e.g., -RED, -LRG, -MATTE). When a customer selects their combination, the product SKU updates live on the page — no page reload, no variation lookup.

Two SKU modes
Use suffixes per option to auto-build combination SKUs, or enter a free-form SKU per tracked combination directly. The admin UI switches modes automatically based on how you’ve configured your add-on options — whichever fits your workflow.

SKU conflict detection
Every combination SKU is validated against your entire catalog as you type — other products, variations and tracked combinations across all your products. Duplicates are flagged immediately with a clear inline warning, so you catch collisions before they reach your warehouse, accounting or fulfillment system. On-page duplicates within the same product are flagged too.

Weight offsets
Add a weight offset to any option. WooCommerce shipping calculations, shipping zone weight rules, and carrier-rate integrations (ShipStation, Shippo, WooCommerce Shipping, etc.) automatically use the correct total weight for each item, including offsets from selected add-ons.

Selective combination inventory
Track stock only for the combinations that need it. Set a quantity for “Red / XL / Gloss” while leaving “Blue / M / Matte” on unlimited. Stock reduction on purchase and stock restoration on order cancellation or refund all work automatically — the same way WooCommerce handles stock for normal products.

Stock-aware cart enforcement
When a customer adds a tracked combination to their cart, the plugin checks current stock (including what’s already in their cart) and blocks the add with a clear message if there isn’t enough. Backorders are respected if your product allows them. Customers never reach checkout with an oversold combination.

Live stock display
The product page updates in real time as customers make their selections, showing the correct stock level and status for their chosen combination. Honors your store’s stock display format setting (“Always”, “Only when low”, “Never”), your low-stock threshold, and your per-product backorder setting. Customers see the same stock messaging on combinations that they’d see on a normal product — “In stock,” “Only 2 left in stock,” “Available on backorder,” “Out of stock.”

Configured SKU on every order line item
The customer’s exact configured SKU is saved to each order line item, so it flows through to packing slips, fulfillment exports and any third-party integrations that read order data. Internal tracking IDs stay hidden from customer-facing displays automatically.

Manual order support
Search for tracked combinations by SKU when creating orders manually in WooCommerce admin. Add them to an order with the correct pricing, metadata and inventory deduction — exactly as if the customer had checked out themselves.

CSV import / export
WooCommerce’s standard product CSV export includes a row per tracked combination, with the combination SKU and its current quantity. Edit the spreadsheet, re-import via the standard CSV importer and stock levels update — without touching the parent product’s own stock settings. No custom export tool needed.

Cross-store SKU search
Find parent products by searching for any of their combination SKUs — in the admin product list, the manual order product picker, and the frontend product search.

Built for stores with lots of combinations
The Add-Ons Inventory panel is collapsible per row, searchable by SKU, paginated and includes Remove All and Add Combination shortcuts. Duplicate combinations are flagged inline. Works smoothly with hundreds of tracked combinations on a single product.

No database bloat
All combination data lives in two dedicated tables. No post meta explosion. No variation rows. A product that would have produced 17,000+ rows of metadata as variations produces one product row plus however many combinations you choose to track — often a 100× reduction in database footprint for stores that only track a small fraction of all possible variations.

Safe uninstall
Tracked combination data is preserved by default if you deactivate or uninstall the plugin. An explicit opt-in setting lets you wipe all plugin data on uninstall, but you have to ask for it. Nothing destructive happens by accident.

Who this is for

  • Stores using WooCommerce Product Add-Ons that need per-combination stock tracking
  • Stores that have been forced into variations purely for inventory or SKU purposes
  • Operations teams that manage stock via SKU in warehouse or fulfillment systems
  • Any store where the variation count is becoming unmanageable

What this doesn’t do

  • Replace WooCommerce variations entirely. If you need per-combination images, descriptions or major price differences, variations are still the right tool.
  • Track inventory for free-text or file-upload add-on fields. Combinations only apply to options-based fields (dropdowns, radio buttons, checkboxes).

Requirements