A skincare clinic that stocks one serum in two bottles should not maintain two products, and should not fear the word “Size”.
Until now, those combinations lived in a buried accordion, saved one row at a time. Change a letter in a comma-separated box and a priced, stocked size could vanish with no preview. Rename the axis and the matrix was rebuilt from the parent — prices gone. And there was no screen in the product that could put stock on 50 ml in warehouse A.
This release is the missing workspace. Sizes, colours, and other options get a tab, a preview, and their own on-hand counts. The dated changelog is on What’s new. The evergreen product page is Inventory. Selling those combinations on the clinic domain is the optional store.
Chips, then a preview, then Generate
Axes are named. Values are chips. Drag the order the shop should show. The banner says how many combinations stay, how many are new, and which labels would be hidden — before anything is committed. If stock is at risk, the confirmation names each combination and its quantity. Hide 50 ml by mistake, add the value back, and it returns with history. More than two hundred combinations is refused, so a typo cannot explode the catalog.
One grid instead of twenty clicks
Price, cost, barcode, low-stock, photo, and active sit next to the same label the invoice already prints: “Blue / M”. Select eight rows, apply +10%, review the drafts, save once. Changed cells are marked. Leaving with unsaved edits is a prompt.
Stock is the number you type for the warehouse above the grid. Give 50 ml its own photo; siblings keep the parent image until they have one. The website store already shows that combination image when the store is on.
From the products list, the variants count opens this tab. Expanding a row shows each combination and its stock without opening anything — so a rolled-up low-stock figure is no longer a mystery.
What this is not
It is not a second catalog. It is not a purchase. Buying stock with cost still goes through receive. Products without options do not grow extra chrome. The clinic that only deducts gloves on a completed session never has to open the Variants tab.
If 30 ml and 50 ml still share one number, or still lose their prices when someone tidies the option name, this is the drop that retires that ritual — without asking the clinic to run retail in a spreadsheet beside the product file.