The store catalogue. Each row is a product, and its editor is split into tabs.
The type changes the route a purchase takes
This is the most consequential choice when creating a product, and it can be changed later:
- Simple — one price, one stock figure.
- Variable — several variations (colour, size…), each with its own price, code and stock. The add-to-cart button stays disabled until the buyer has chosen every attribute.
- Grouped — a bundle sold as one line at its own price; the items inside it are not priced separately.
- External — links out to another site. It never enters the cart, so stock and shipping do not apply to it.
- Subscription — recurring payment.
- Membership — paid once, grants access for a period.
Stock comes from one of two places
A product either keeps its own stock figure here, or delegates it to the Inventory module. The two never touch the same number.
So when the figure shown here disagrees with the warehouse, check that setting first: a delegated product ignores its own stored figure entirely.
On a variable product, stock is held on the variation, not on the product.
The default variation
You can mark one variation as the default so it is already selected the first time someone opens the product page. A product has at most one; choosing a new one releases the previous.
If that variation is later disabled or deleted, the page simply reverts to nothing being selected — no other variation is promoted in its place.
The per-order purchase limit
"Max per cart" applies to the whole product, not to each variation separately: the combined quantity of all its variations in one cart cannot exceed the figure. Leave it empty for no limit.
A sale price has a window
A sale price can carry a start and end date. Outside that window the regular price is shown again, with nothing to switch back by hand.
"Featured" is a badge, nothing more
The Featured tick shows a badge in the storefront and lets page-builder widgets pull featured products out separately. It does not affect price, ordering, or the store listing's own filters.