When you sell the same dish in several sizes – a 32 and 40 cm pizza, a 100 and 200 g burger, a small and a large bowl of soup – you don't have to create separate products or fake the size with an add-on and an extra charge. You create a size set once, assign it to a whole category and enter the prices in one table.
The customer chooses the size in the dish window, the menu card shows “from €29.00”, and the kitchen sees the size in the item's name: “Margherita – 40 cm”.
In short
- Create a set of sizes, e.g. “Pizza sizes”: 32 cm, 40 cm.
- Assign it to a category, e.g. Pizza.
- Click Prices, enter the price of each size, check Preview changes and click Apply.
The sizes appear in the menu only after step 3. Assigning a set alone changes nothing – this way a mistake in the assignment won't change the prices across your whole menu.
You find the sets in Products → Variant sets, and on a tablet in KDS → Manager → Variants (the same app).
1. The size set
Click Add set and fill in:
| Field | Description |
|---|---|
| Set name | Only you see it, e.g. “Pizza sizes” |
| Choice name | The customer sees it above the size buttons, e.g. “Size” or “Weight” |
| Size | The size's name, e.g. “32 cm”, “Large”, “200 g”. You set the order with the arrows – customers see the sizes in this order |
| Weight | Optional: the weight of this size, e.g. 450 g. It shows in the dish window for the chosen size |
| Default | The size selected when the customer opens the dish window |
A set can have up to 12 sizes. Two sizes can't have the same name.
A set has no prices. A 32 cm Margherita costs differently from a 32 cm Capricciosa, so you enter the prices for the products, in the price table.
2. Assigning
Click Assign next to the set. It is the same window as for add-on templates:
- To product categories – all products in the category get the set, also those added later. A category has one set: to assign another one, first unassign the current one (✕).
- To specific products – a set assigned to a product wins over its category's set. Useful when one dish has different sizes than the rest of the category.
When a product is in two categories with different sets, the price table shows a conflict and won't change that product. Assign a set to it directly.
After you close the assignment window, the price table opens straight away. The list of sets also shows how many products are waiting for prices – with a Set prices button. In KDS → Manager → Products such a product has a note that its sizes are waiting for prices.
3. Prices, preview and Apply
Prices opens the table: the rows are products, the columns are sizes.
- An empty price means the product doesn't have that size. Calzone only in 40 cm? Leave 32 cm empty. A dish with one size doesn't show the customer a choice.
- No variants – tick it for a dish that should stay a regular product with one price, even though it is in a category with a set.
- Show sale prices – adds a sale price field under every price. It must be lower than the regular one.
- Fill… under a size's name – fills the whole column as “product price + X” or “+ X %”. Then correct individual prices.
- Copy down – copies the row's prices to all rows below.
- Undo unsaved – goes back to what is in the store now.
Typing saves nothing. Preview changes shows what will happen to every product, e.g. “gets sizes: 32 cm €29.00, 40 cm €39.00” or “40 cm: €39.00 → €41.00”. Only Apply saves exactly what you saw in the preview. If someone changed something in the meantime, WP InPlate saves nothing and shows a new preview to confirm.
What happens to the product
- The product gets the sizes as WooCommerce variations (a variable product). It stays the same product – with the same photo, categories, cross-sell suggestions, happy hours rules and discount codes.
- Every size has its own price, sale and price history for the lowest price in 30 days. A size that got a price for the first time starts its history from zero – until it is collected, no reduction is shown.
- Removing a price turns the size off for that product. When it gets a price again, it comes back with the same price history.
- No variants for a product that already has sizes turns it back into a regular product at the default size's price. That product's sizes are then deleted – the preview says so clearly.
- Products with variations created in WooCommerce are shown in the table but not changed. Customers can still order them in the menu by choosing a variation.
Changes to the set
A change of a size's name, order or weight in the set reaches the products only after Apply in the price table – after you save the set, the table opens by itself. Orders placed earlier keep the size name from the moment of the order.
A size removed from the set is turned off in the products after Apply.
A set can't be deleted while any product has its sizes. First tick those products as No variants and apply.
Add-ons that depend on size
Cheese for a large pizza costs more than for a small one, and the cheese-stuffed crust is only for 40 cm? In the add-on template, choose the size set and set prices for each size – see Add-on prices that depend on size.
What customers see
- The menu card – the price as “from €29.00” (the cheapest size), a range “€29.00 – €39.00” or a list “32 cm €29.00 · 40 cm €39.00” – you choose this in the Menu block settings. The block can also show the sizes as buttons on the card: a click adds that size to the cart (the button briefly changes to a green “Added ✓”, as in the dish window) or opens the window when something has to be chosen.
- The dish window – size buttons with prices at the top, the default size selected. After changing the size, the price, weight and add-on prices change. Add-ons that don't exist for a given size disappear.
- The button on the card for a dish with several sizes has an arrow instead of “+” and opens the window so the customer chooses the size.
- A mandatory surcharge (e.g. packaging) is under the price on the card and in suggestions: “+ €2.00 · Packaging” – for the size whose price is shown. A box for takeaway only? Set When to add in the add-on template – the customer sees “(pickup, delivery)”.
- The cart – the item's name includes the size. Personalize lets the customer change the size and add-ons; the price is recalculated.
- Cross-sell suggestions – a dish with sizes has small size buttons in the suggestion. A size with required add-ons has an arrow instead of “+”, which opens the dish window with that size.
- TV screen – the “from” price of the cheapest size.
The server always recalculates the prices of sizes and add-ons – changing a price in the customer's browser doesn't affect the order.
A sold-out size
Run out of dough for large pizzas? In KDS → Manager → Products every size has its own switch under the product. Customers see a size that is off greyed out – it can't be ordered, and the other sizes work normally. When you turn all sizes off, the dish is unavailable.
There you can also change the price of one size without opening the price table.
What the kitchen sees
The size is part of the item's name: “Margherita – 40 cm” in the KDS, the courier app, on the label, in notifications and emails. Only the add-ons are listed under it – the size isn't repeated as a separate line.
Duplicating
Duplicate next to a set creates a copy “… (copy)” with the same sizes, assigned nowhere, and opens it in the editor straight away. Useful e.g. for “Calzone sizes” based on “Pizza sizes”.
Good to know
- A dish has one size choice. Set e.g. the type of dough as a “One option” add-on.
- Half-and-half pizzas and sizes for InPlate dishes (daily specials) aren't available yet.
- A product's own add-ons (those added directly in the product editor, not from a template) have one price for all sizes.