Description
A WooCommerce product is either simple, one price and one Add to cart, or variable, a fixed grid of combinations you generate and stock one by one. Neither fits a product a customer configures: a shirt in twelve colours with a name printed on it, a banner cut to a size they type in, a bag with a logo they upload.
AddOnBoss adds that middle ground, without generating a single variation. A product with five colours and five sizes would be twenty-five variations to build and maintain. Here it is one option set, attached in a click, and the product stays a single simple product. Your product editor stays fast, and adding a colour next month does not mean rebuilding every combination.
Build a set once, attach it anywhere. Colours as swatches, finishes as buttons, weights as a dropdown. Add a field for the name to engrave or the message to print. Each choice can carry a charge, and that charge behaves like part of the price rather than something stapled on afterwards.
Try it live: demo.bossmage.com is a full demo store running Pro. Put a name and number on a team kit, pick a colour and watch the photo change, order a whole size run in one grid. Click around and configure things, nothing breaks.
What you can sell with it
- A gift shop. An engraved board with a finish to choose, a name to engrave and gift wrap as an optional extra, each carrying its own charge.
- A sweet shop. Pick and mix by the choice, with a limit on how many, and any single flavour able to sell out on its own while the rest stay on sale (the per-choice count is Pro).
- A signage, framing or blinds shop. A price grid with width down one side and height across the other, or a rate per square metre applied to the exact size a customer types in (Pro).
- A workwear or print shop. A whole size run ordered in one grid, priced down by quantity band, with the customer’s logo uploaded, checked for resolution before it reaches your printer, and drawn on your own product photo as they type (Pro).
- Any shop with a variation problem. Five colours by five sizes offered as choices, instead of twenty-five variations to build, price and keep in stock.
What makes AddOnBoss different
A library, not a form on every product. Most plugins in this category have you build a form on each product, so the same five colours get rebuilt fifty times and adding a sixth means fifty edits. Here an option set is a thing in its own right. Build Colours once, attach it wherever it belongs, and editing it in one place updates every product using it. If one product cannot be had in two of those colours, tick them off for that product alone and the rest of the shop is unaffected.
The free plugin is a whole product, not a taste of one. Option sets, several-choice sets with bounds, fourteen field types, groups and the full cart and order path are all here, and every one of them charges and taxes correctly. Pro adds jobs the free plugin does not attempt, like artwork upload and made-to-measure pricing. It is not the same plugin with something switched off.
Pro handles the jobs that usually need a second plugin. Price by the square metre from the dimensions a customer types, or from a width-by-height grid, the way the made-to-measure trade writes its own price lists. Order a whole size run in one grid, every colour by every size, priced down by quantity band as the run grows. Hold stock on a single choice, so one flavour sells out on its own while the rest stay on sale. Take the customer’s artwork, check it is high enough resolution before it reaches your printer, and draw their name or logo onto your own product photo as they type.
One engine, two plugins. AddOnBoss and BundleBoss run the same options engine and share one option-set library. A Colour set you build in either one is ready in the other, with no export, no second copy to keep in step, and no double charging when both are active.
And the money is right. Every charge joins the cart line through WooCommerce’s own pricing and tax, so it is taxed exactly as the product is, in the basis your store displays, and it lands on the order as part of the line. It is never a surcharge bolted on after tax. Worth checking before you commit to any options plugin, because getting it wrong is invisible until an accountant finds it.
What the free plugin does
This is the whole options product for a simple product. Build a set once, attach it anywhere, and the choices are priced and taxed as part of the line.
- Reusable option sets: define colours, sizes, finishes or weights once, attach them to any product, reorder and rename from one library. They show as swatches, buttons or a dropdown, and each choice can carry a charge.
- Choose one or choose several: a set can let shoppers pick more than one choice, like choosing up to three toppings, with an optional “at least” and “up to” bound. Every pick keeps its own charge and each one reads separately in the cart and on the order.
- Custom fields: a name to print, a message, a number, a date, a time, a dropdown, a tick box, an email address, a web address, a section label and an info block, each optional or required, each able to charge once or for each item.
- A colour field: the colour they want you to use, picked from swatches you define, each with its own optional charge, or typed as any colour if you allow it. The order carries the colour name and code, and your order screen paints the swatch.
- A price they choose: a field where the shopper enters an amount of their own, for donations, tips and pay-what-you-wish extras. You set the floor, the ceiling and a suggested figure, and one-tap suggested amounts fill the box.
- A hidden note for your own orders: a value that rides on every order of the product, a production route or a supplier code, shown only on your order screen and never to the customer.
- Long lists search themselves: past a dozen choices, any dropdown becomes a searchable list that filters as the shopper types, with unavailable choices shown but not pickable. Phones get the same control, sized for thumbs.
- Groups: gather related options under their own headings, so a long list reads in sections instead of one run.
- A product can refuse a choice: use one shared Colour set across the shop and tick off the two colours this particular product cannot be had in. The set stays one set, so a colour added to it later is offered everywhere it was not refused.
- A correct cart and order path: options join the line through WooCommerce’s own pricing and tax, and the picks read on the order screen, in emails and on reorder.
Part of the BossMage family
AddOnBoss is made by BossMage, alongside BundleBoss.
BundleBoss builds bundles, mix and match packs and build-your-own boxes. AddOnBoss puts options, add-ons and personalisation on a product’s own page. They are separate plugins and either works alone, but they were built as one engine, so running both gives you a single option-set library rather than two lists to maintain. Build a Colour set for a bundle and it is already there for a simple product, and the other way round.
Neither plugin needs the other. If you run both, keep BundleBoss updated to a version that ships the shared engine. AddOnBoss detects an older BundleBoss and waits, with a notice, rather than risking a conflict; once BundleBoss is updated it switches on by itself.
Guides and screenshots for every feature are at bossmage.com/docs/addonboss.
What AddOnBoss Pro adds
AddOnBoss Pro is a separate paid plugin. The Solo plan has a 14-day trial, no card needed. It adds:
- Options on variable products, so a parent can offer sets alongside its own variations
- A quantity grid: order a whole range at once, every colour by every size, as one order
- Quantity discounts: price breaks by how many they buy (10 to 24 pay one price, 25 to 49 a lower one), shown as a trade price table or a card ladder, counted across a whole size run
- File and artwork upload, with a confined upload area, resolution checks before you print, and GDPR export and erase
- Print areas and product sides, with the customer’s name or logo drawn on your own product photo as they type
- Conditional choices: reveal or hide a set or a field depending on another answer, written in the words you would say out loud
- Measured sizes: price by length, area or volume from the dimensions a customer types
- Price tables: a grid of prices, width down one side and height across the other, with a minimum charge and an optional margin on a cost grid. Shoppers pick a size or type their own and the right cell prices it
- Stock per option: hold a count on a single choice, so ten jars of one flavour sell out on their own while the rest stay on sale. A sale takes it off, a cancel or refund with restock puts it back, and nobody can order more than you have. The count lives on the option itself: nothing is added to your product list
- A photo per choice that swaps the product image when they pick it
- Per-letter, percentage and per-unit-entered pricing for add-on fees
- Ask a field more than once: let a shopper add another engraving line, or ask for a name for each item they buy, so six shirts collect six names. Each one is priced and shows on the order separately
- Folding sections for a product with a lot of choices, so a long page reads as a handful of headings. A group holding something the shopper has to answer is never folded away
Nothing you build in the free plugin is lost if you add Pro later, and nothing you built with Pro is deleted if you stop. Those settings stay on disk and come back with the plugin.
Requirements
- WordPress 6.4 or newer
- WooCommerce 8.0 or newer, tested to 10.0
- PHP 8.0 or newer
Declared compatible with WooCommerce High Performance Order Storage and with the block cart and checkout.
Tell us what you need
If AddOnBoss almost does what your shop needs, say so on the support forum for this plugin. We read every thread, and a specific description of the job you are trying to do is worth more to us than a feature name. What is being worked on next is at bossmage.com/roadmap.
Privacy
AddOnBoss does not collect, store or transmit any personal data of its own.
- A customer’s option choices and any text they enter, such as a name to engrave, are stored only as part of their cart and order: standard WooCommerce order data under your control, removed whenever you erase the order.
- Entered field values are covered by WordPress’s personal-data export and erase tools, so a data request returns them and an erase request deletes them. In Pro, where a customer can upload a file, those files are covered the same way.
- The plugin sets no advertising or tracking cookies.
Third-party services
The free version of AddOnBoss does not connect to any external service or send any data off your site.
AddOnBoss Pro is a separate, paid plugin that uses Freemius for checkout, licensing and updates. None of that is included in this free version.
Screenshots





Installation
- Upload the plugin to
/wp-content/plugins/or install it from the Plugins screen, and activate it. - WooCommerce must be active.
- Open Products, edit any product, and use the Product Options panel to attach an option set or add fields.
- Build and reuse option sets from the Option Sets library in the menu.
If you also run BundleBoss, keep BundleBoss updated to a version that ships the shared engine before activating AddOnBoss. AddOnBoss detects an older BundleBoss and waits, with a notice, rather than risking a conflict; once BundleBoss is updated it switches on by itself.
FAQ
-
How is this different from using a variable product?
-
A variable product creates a real variation for every combination, so five colours by five sizes is twenty-five things to create, price and keep in stock. An option set offers the same five colours as choices on the product page without generating anything, so the product stays one product. Use variations when each combination genuinely needs its own price, SKU and stock. Use option sets when they do not, which is most of the time.
-
How do I add options without creating variations?
-
Build an option set, for example a list of colours each with an optional charge, and attach it to any product from the Product Options panel. The product offers those choices on its page like a variable product would, but no variations are generated, so the product stays light and the editor stays fast.
-
Will it create dozens of variations?
-
No. That is the point. An option set offers the choices a variable product would without generating any variations, so a product with many colours and sizes stays a single light product.
-
Are the extra charges taxed correctly?
-
Yes. A charge joins the cart line through WooCommerce’s own pricing, so it is taxed exactly as the product is, in the same basis your store displays. Nothing is added as an untaxed surcharge, and this is true in the free plugin, not only in Pro.
-
Can I use the same option set on more than one product?
-
Yes, that is what the library is for. Build a Colour set once and attach it to as many products as you like. Edit it in one place and every product follows. If one product cannot be had in two of those colours, tick those choices off for that product and the rest of the shop is unaffected.
-
Do the customer’s choices show on the order?
-
Yes. Every pick and every typed answer reads on the order screen, in the order emails and on the customer’s account, and they survive a reorder. Whoever makes the thing sees what was asked for.
-
On products with required options, AddOnBoss automatically hides Apple Pay, Google Pay and PayPal express buttons on the product page. Those buttons skip the option form, so the order would arrive without the answers you require. Products whose options are all optional keep their buttons, and express payment still appears in the cart and at checkout, where the chosen options are already included. It covers the major express providers; developers can override it per product with the addon_boss_allow_express_pay filter.
-
Do I need BundleBoss to use AddOnBoss?
-
No. AddOnBoss works entirely on its own. If BundleBoss is also installed, the two share one option-set library, so a set you build in one is available in the other. Each plugin runs its own engine and they are built to run side by side without conflict.
-
Does it work with variable products?
-
The free plugin puts option sets on simple products. Options alongside a variable product’s own variations are a Pro feature, because a page offering two choice systems at once has to reconcile them.
-
Will it slow my product page down?
-
Options are drawn by the plugin rather than generated as variations, so a product with fifty choices is still one product with one set of data behind it. There is no variation table to load and no combination matrix to build.
-
Does it work with the block cart and checkout?
-
Yes. AddOnBoss declares compatibility with the block cart and checkout, and with WooCommerce High Performance Order Storage.
-
Can customers upload a logo or a file?
-
That is a Pro feature. With Pro, a file upload field lets the customer attach a logo or artwork, the file shows on the order for you to work from, and it is covered by WordPress’s personal-data export and erase tools. The free plugin has no upload field, so it never accepts or stores a customer file.
-
How do I price something by its size?
-
Two ways, and which one you want depends on how you sell. A price table is a grid: you type the price for each width and height, and a shopper who asks for something in between is priced from the band it falls in, which is how the made-to-measure trade prints its own price lists. Measured sizes work the other way round, from a rate per square metre and the exact dimensions the customer types. Both are in Pro.
-
Can one choice sell out while the others stay on sale?
-
In Pro, yes. Put a count on a single option and WooCommerce owns it from there, so ten jars of one flavour sell out on their own while every other flavour carries on. A sale takes it off, a refund puts it back, and a sold-out choice says so and cannot be picked.
-
What happens to my settings if I stop paying for Pro?
-
Nothing is deleted. Your option sets, fields, prices and configuration stay exactly where they are, and the free plugin keeps rendering and charging everything it can. The Pro-only behaviour stands down and waits, so if you come back later your setup is as you left it.
-
How long does setup take?
-
A couple of minutes. Open a product, use the Product Options panel, and attach a set or add a field. Building a reusable set the first time takes a little longer; after that you attach it in a click.
-
What is removed if I uninstall?
-
AddOnBoss removes its own settings and cached data, and nothing else. Your option-set library and the options attached to each product are your configuration, not ours, and BundleBoss may be sharing that same library, so uninstalling never touches them. Products and orders are WooCommerce data and are left alone, so the record of what a customer ordered stays intact. Reinstall later and your sets are as you left them.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“AddOnBoss – Product Addons, Product Options & Personalization for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsInterested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.9.0 – 2026-09-05
- New: the Option sets screen is a library. Sets file into groups that read as one line each – the name, a preview of what is inside, and where it came from – and the page starts folded, so a hundred groups are a page to scan rather than a wall to scroll. Search reaches the whole library by set name or by any option inside one; typing filters the page in place and Enter searches everything; a source filter narrows to one supplier’s sets, or to your own. The list pages itself at 10 to 100 groups a page and remembers which groups you keep open.
- New: the “Used on” figure on a set opens the products themselves. Click it and a dialog lists them by name, searchable and twenty at a time however many there are, each linking to its own editor, with the whole set one click away on the Products screen, which says which set it is showing and offers the way back. Every surface shows exactly the products the figure counted: a product that is not published says so beside its name, and a product in the bin does not count anywhere until it is restored.
- New: a set can be copied as well as moved, from its own menu. Move to and Copy to open a picker with a search box and every group in the library, so a destination on another page is never out of reach. A copy is a fresh set of your own: a supplier feed keeps refreshing the original it wrote and never touches the copy, and the supplier badge follows that promise. A name already taken in the destination gains (copy) after it.
- New: every group has its own menu – rename it everywhere at once, duplicate it, start a new set inside it, move all its sets to Ungrouped, or delete it; its sets are kept and move to Ungrouped.
- Fixed (Pro): a quantity grid could price a colour and size pair by adding the colour’s charge to the size’s own, even where the supplier’s price list says that exact pair costs more. The grid now reads the pair’s own price, so the page and the till agree with the price list.
- Fixed (Pro): one more way a remembered VAT choice could lose on arrival. The page used to ask the switcher’s display which side it was showing, and on a reload whichever script painted first won. It now reads the remembered choice directly, so there is no race left to lose.
- Fixed: a required choice hidden on a product no longer blocks the quantity grid’s Add to basket.
- Fixed: the retired artwork upload box now travels with its product through export, import and copy to another product, instead of staying behind.
- Every locale updated in full: the nine shipped languages cover the new screens and every string that was still waiting for a translation.
1.8.1 – 2026-09-04
- Fixed (Pro): a quantity grid’s volume saving covered the garments but not the printing. A shop offering twenty two polos with two breast prints and a volume band showed a saving worked out on the shirts alone, so the page asked for more than the shop actually charged at the till. The saving now covers the garment and every per item charge the band applies to, under the same two settings the charge uses. A setup fee charged once for the whole order is never tiered and never enters it.
- Fixed (Pro): on a shop with a VAT switcher, a quantity grid’s figures could stay on the wrong tax basis when a shopper arrived with a remembered choice. Reloading a page with “including VAT” remembered left the order summary showing the price without it. The figures now follow the switcher whether it was clicked, remembered from a previous visit, or restored on a reload, and moving it repeatedly never drifts.
- Fixed: a reloaded page could believe a choice was made that nothing on the screen was showing, and refuse another choice as clashing with it. Browsers put form controls back as they were on a reload while the visible buttons come back clear, and the page was reading the controls. It now reconciles them against what the shopper can actually see, on every path back to the page.
- Fixed: a clash between two choices said to untick the other one, on controls that have no tick. It now says to remove it.
- Fixed: colour rows carried more vertical space than they needed, which pushed a long row of colours further down the page. Sixteen pixels are back on a twelve colour row, with every surcharge still aligned under its colour.
- New: every option set attached to a product has an Edit set link on the product editor, opening in a new tab so unsaved work on the product survives the trip.
1.8.0 – 2026-09-04
- New (Pro): the main choices on a quantity grid are ordered by dragging them. Their order used to be worked out from the set’s name, so anything called colour sorted first and anything called size second, and a shop wanting Front, Back and Sleeve in that order had no way to ask for it. The rows under “Which are the main choices?” now drag, and that is the order shoppers see. Sets that can only ever be offered once for the whole order, such as a several-of set, drag with the rest. A product with nothing saved keeps the order it already had.
- New (Pro): a set can sit below a field on the quantity grid. The grid used to print every whole-order set before every field however the rows were arranged, so “Ink colour” could not follow “Do you want printing?”. The whole-order area now follows the order on the product, the same way the one-at-a-time page always has.
- New (Pro): a colour tile on the quantity grid says what the colour costs. Sizes have shown their step since surcharge badges shipped, and a dearer colourway moved the total with nothing on the tile to explain it. The badge follows your price display setting and re-reads on the VAT toggle.
- Fixed (Pro): on a shop with a VAT switcher, the quantity grid could print its figures on the wrong tax basis for a returning shopper, and the first press of the toggle then corrected from the wrong starting point. The grid now leaves the figures exactly as the page rendered them until the switcher answers, then repaints.
- Fixed (Pro): two picked choices in one set had their notes butted together and read as one paragraph. Each choice now leads its own line.
- Fixed (Pro): an options file exported by an older AddOnBoss was refused as not an AddOnBoss export whenever the format’s revision number moved on. What the file contains now settles what it is, and only a file written by a newer build than yours is refused, which it says.
- Fixed: the price under a colour swatch broke across lines in a narrow column, so “+£0.30” arrived as a plus on one line and the amount split between the tenths and the pence on the next. A price cut mid-figure is not a smaller price, it is a different number, and it sits directly under a colour a shopper is being asked to pay extra for. Prices on swatches and photo tiles are now held on one line at any width.
- Fixed: a row of colour swatches finished at a ragged lower edge, because a name that fits on one line left its chip shorter than a neighbour whose name wrapped to two, and any price below then hung at a different depth on every chip. Swatch and photo-tile names now reserve their second line, so the names sit level and the prices line up.
1.7.2 – 2026-09-03
- New (Pro): conditional choices work on the quantity grid. A set that only appears under a condition, like the print placement that appears once a shopper says they are uploading artwork, now rides the grid’s whole-order block and reveals there exactly as it does on a one-at-a-time product. Fields ruled on a choice come with it, so “pick a route, then see what that route needs” is one setup that works on both page shapes. A hidden choice is not charged and is not submitted.
- Fixed: a choice worth less than the base price, like “No print, plain tee” at minus three pounds, showed no figure on the page and left the running total unchanged, while the basket charged the lower price correctly. The reduction now appears on the choice and comes off the total, on either tax display basis.
1.7.1 – 2026-09-03
- Fixed: on shops running a page cache, a product page served from an old cached copy carried an expired security token, so the quantity grid’s add to cart and artwork uploads failed with a bare error. The page now fetches a fresh token and quietly retries, and the action goes through.
1.7.0 – 2026-09-03
- New (Pro): per-combination pricing. A product can carry the exact price of every colour-and-size pair, written by a supplier feed such as StockBoss, and the page charges the true figure when both are picked: the size prices shown update the moment the colour changes, the total lands on the exact combination, and the cart line prints each choice’s real share. A pairing without its own figure falls back to the normal surcharges, so a choice added by hand never blocks a sale. Sold-out-per-pair stock already worked this way; prices now get the same treatment.
