Advanced Modifier Settings
This guide covers the advanced configuration options for modifier groups — pricing strategies, portion modes, nested choices, menu-specific overrides, and size scaling. These features give you fine-grained control over how modifiers behave across different contexts.
Pricing Strategies
Every modifier group has a pricing strategy that determines how modifier prices are calculated. You can set this when creating a group (under Advanced settings) or change it later on the group's detail page.
None (Default)
Each modifier uses its own default price adjustment. Simple and straightforward.
| Modifier | Price Adjustment |
|---|---|
| Add Bacon | +$3.00 |
| Add Avocado | +$2.00 |
| Extra Cheese | +$1.00 |
Fixed Price
All modifiers in the group share the same fixed price, regardless of which one is selected.
Size Price
Modifier prices vary based on the selected size. This is how pizza toppings typically work — the same topping costs more on a larger pizza.
There are two size pricing modes:
Group-level pricing — One price per size, applied to all modifiers in the group:
| Size | Topping Price |
|---|---|
| Regular | +$2.00 |
| Large | +$3.00 |
| Family | +$4.00 |
Per-modifier pricing — Each modifier has its own price for each size:
| Topping | Regular | Large | Family |
|---|---|---|---|
| Pepperoni | +$2.00 | +$3.00 | +$4.00 |
| Bacon | +$1.80 | +$2.50 | +$3.50 |
| Mushrooms | +$0.80 | +$1.00 | +$1.25 |
Note
Size pricing requires a companion size modifier group on the same recipe. The system looks at which size the customer selected to determine the correct price.
Sequence Price
Prices are based on the order of selection, not which item is picked. Common for "pick your toppings" scenarios where the first topping is free and additional ones cost progressively more.
Example: Pizza Premium Add-Ons
| Selection Position | Price |
|---|---|
| 1st add-on | Free ($0.00) |
| 2nd add-on | $1.50 |
| 3rd add-on | $2.50 |
| 4th and beyond | $3.00 each |
With sequence pricing, it doesn't matter which add-on is picked first — the first one is always free, the second always costs $1.50, and so on.
Portion Modes
Portion modes control whether modifiers can be applied to part of a dish (like "half pepperoni, half mushroom" on a pizza).
Whole Only
Modifiers apply to the entire dish. This is the default and the simplest option. Use this for sizes, required choices, and most add-ons.
Per Portion
Modifiers can be applied to individual portions of the dish. The recipe's max portions setting determines how many portions are available (e.g., 2 for half-and-half, 4 for quarter pizzas).
Example: Half-and-Half Pizza
| Portion | Modifier |
|---|---|
| Portion 1 (left half) | Add Pepperoni |
| Portion 2 (right half) | Add Bacon |
Auto
The system automatically decides based on the group's content. If the group contains size modifiers, it uses "whole only" (you can't have half a size). Otherwise, it allows per-portion.
Portion Pricing
When modifiers are applied per-portion, the pricing strategy determines how the price is calculated:
| Portion Pricing | How It Works |
|---|---|
| Full Price | Each portion-level modifier costs the full modifier price |
| Prorated | Price is scaled by the portion fraction (e.g., half = 50% of full price) |
| Percentage | A configurable percentage of the full price (e.g., 50%) |
| Average | The average price across all used portions |
| Highest Portion | The most expensive portion determines the price |
Size Scaling Modes
When a size modifier changes the portion size (e.g., Regular → Large at 1.5 servings), other modifiers in the same item need to know how to scale. The size scaling mode controls this behavior.
| Mode | Behavior |
|---|---|
| Proportional | Modifier ingredients scale with the size ratio (Large = 1.5x toppings) |
| By Servings | Modifier uses its own recipe's servings, scaled by the size's serving count |
| Fixed | Modifier amount stays the same regardless of size (e.g., a sauce packet) |
| Per Modifier | Each modifier in the group can have its own scaling mode |
Example: Pizza with Per-Modifier Scaling
On a pizza, most toppings should scale proportionally (more pepperoni on a larger pizza), but some items stay fixed (same number of sauce packets regardless of size):
| Modifier | Scaling Mode | Regular | Large (1.5x) |
|---|---|---|---|
| Add Pepperoni | Proportional | 1x portion | 1.5x portion |
| Add Bacon | Proportional | 1x portion | 1.5x portion |
| Add Mushrooms | Fixed | 1x portion | 1x portion |
| Sauce Packet | Fixed | 1 packet | 1 packet |
Assignment Overrides (per recipe, per item, per menu)
One reusable modifier can behave differently depending on where it's used — a different price, a different replacement recipe, or switched off entirely — without duplicating the modifier. These differences are overrides attached to a specific assignment of the group.
Opening the override editor
Every modifier group assignment row has an overrides button (the horizontal-sliders icon):
- On a recipe — the group row in the recipe's Modifiers section. Overrides set here apply everywhere that recipe is used.
- On a menu item — the group row in the item's Modifiers tab. On the Default (All Menus) tab the overrides apply to the item on every menu; on a specific menu's tab they apply only there.
The editor lists every modifier in the group with its current effective values. Only the fields you fill in are overridden — everything you leave blank keeps inheriting.
What you can override
| Field | What it does |
|---|---|
| Absolute price | The final price for this modifier in this context. This is the exact amount charged — it replaces the group's pricing strategy for this option, it is not added to the normal price. |
| Availability | Turn the option on or off just for this assignment. Leave it in the inherit state to follow the modifier's normal availability. |
| Effective recipe / ingredient | Swap what the modifier actually adds or swaps in — e.g. the same "Large" option can point at a different Large recipe on each salad. |
| Servings / Ingredient qty / Yield qty | Adjust how much of the payload is used in this context. Quantity fields pair with a unit. |
Some fields are limited by modifier type: remove modifiers only support price and availability, and size modifiers use servings/yield rather than ingredient quantities.
How layers combine
Overrides merge field by field, most specific context winning per field:
Modifier's own configuration
→ Recipe assignment override
→ Menu item assignment override (all menus)
→ Menu item assignment override (specific menu)
So a menu-specific override that only sets a price still inherits the recipe-level replacement payload — you never have to re-enter values that don't change.
Resetting
Clearing a field in the editor removes just that override. Remove all overrides at the bottom of the editor deletes every override on the assignment, and every modifier inherits its normal configuration again.
Menu-Specific Exclusions
You can exclude an entire modifier group from a specific menu. For example, if substitutions don't make sense on a late-night menu, you can exclude the "Substitutions" group for that menu only — it still appears on all other menus.
Menu-Only Groups
A modifier group can be assigned to a menu item for a specific menu only. This is useful for groups that only make sense in one context — like "Late Night Extras" that only appears on the late-night menu.
Example: Same Item, Two Menus
Menu Item: "Classic Burger"
On "Lunch Menu":
├── Protein Add-Ons (Extra Protein: $2.00)
├── Removals
├── Substitutions
└── Size Options
On "Late Night Menu":
├── Protein Add-Ons (Extra Protein: $4.00) ← price override
├── Removals
├── [Substitutions excluded] ← menu-specific exclusion
├── Size Options
└── Late Night Extras ← menu-only group
Example: One size group shared by two salads
Modifier Group "Salad Size" (required, single-select) on both salad recipes:
Garden Salad → override on "Large": $3.00, payload = Garden Salad Large recipe
Caesar Salad → override on "Large": $4.00, payload = Caesar Salad Large recipe
Caesar Salad on Late Night Menu → override on "Large": $5.00 (price only —
the payload still comes from the recipe override)
Orders placed before an override change keep the configuration they were sold with — the physical payload is snapshotted on the order line, so production and costing for past orders don't shift when the catalog changes.
Child Modifier Groups (Nested Choices)
A modifier can open a child modifier group — a follow-up question that only appears when that modifier is selected. This creates nested, conditional choices.
How It Works
- A modifier in Group A has a child group (Group B) attached to it
- When a customer selects that modifier from Group A, Group B's options appear as a follow-up
- The child group has its own display type, required mode, and modifiers
Real-World Example: Pizza Crust
Pizza crusts are typically recipe-for-recipe substitutes — the base pizza includes a "Classic Dough" sub-recipe, and each crust option swaps it for a different dough recipe. Child groups add follow-up choices:
Modifier Group: "Pizza Crust" (Required, Single Select)
├── Classic Crust (default) → Swaps: Classic Dough recipe → Classic Dough recipe
└── Thin Crust → Swaps: Classic Dough recipe → Thin Crust Dough recipe
└── Child Group: "Thin Crust Style" (Required, Single Select)
├── Crispy (default)
└── Soft & Foldable
When the customer picks "Thin Crust", the Classic Dough sub-recipe is removed from the dish and replaced with the Thin Crust Dough recipe's ingredients. The system then prompts them to choose between "Crispy" and "Soft & Foldable". If they pick "Classic Crust", no follow-up appears.
Another Example: Side Salad Dressing
Modifier Group: "Choose Your Side" (Required, Single Select)
├── Side Fries (default)
└── Side Salad
└── Child Group: "Dressing" (Optional, Single Select)
├── Ranch (default)
└── Vinaigrette (+$1.00)
Setting Up Child Groups
Child groups are managed from the modifier group detail page. When editing a modifier, you can attach an existing modifier group as a child group. The system prevents circular references — Group A can't be a child of one of its own modifiers.
Important
Child groups are separate modifier groups that happen to be triggered by a specific modifier selection. They have their own settings, modifiers, and pricing — they're not just sub-options.
Default Modifier Selections on Components
When building combo menu items, you can pre-select modifiers for each component. This is useful when the same recipe appears multiple times in a combo with different default configurations.
On the component row, click + set defaults to open the defaults panel. Select which modifier option should be pre-selected, then click Save Defaults. To remove all defaults, click Clear All.
The component row shows a badge like "1 default" or "2 defaults" when selections are configured.
Troubleshooting Common Mistakes
"My modifier group doesn't appear on the menu item"
- Recipe-level group? Check that the recipe is linked to the menu item via a component. Inherited groups only appear when there's a
MenuItemComponentconnecting them. - Archived? Archived modifier groups don't appear. Check the Archived view.
- Menu-specific exclusion? The group might be excluded for the specific menu you're looking at. Check menu-specific assignments.
"A modifier option is missing on one menu (but shows elsewhere)"
- An availability override is probably set on that menu's assignment. Open the overrides editor from the menu's tab on the item's Modifiers page and clear the availability field to inherit again.
"Cost calculations show $0 for an add modifier"
- The linked recipe might not have ingredients with vendor pricing
- For ingredient-based adds, the ingredient needs a cost per unit
- Check Resolving Cost Issues
"Size modifier isn't scaling other groups"
- The size group must be on the same recipe as the groups you want to scale
- Check the scaling mode on the group — if it's set to "fixed", modifiers won't scale
- The size modifier needs either
size_servingsorsize_yield_quantityset
"Substitution pricing isn't working"
- Substitution pricing must be enabled on the group
- Charge for defaults must be disabled (they're mutually exclusive)
- The substitute modifier needs one item on each side: a target (ingredient or recipe) and a replacement (recipe or ingredient with quantity)
- For ingredient-based replacements, the replacement ingredient needs a cost per unit and the quantity/unit fields must be set
- For recipe-based replacements, the replacement recipe needs ingredients with vendor pricing
"Per-portion modifiers aren't available"
- Check the group's portion mode — it must be "per_portion" or "auto"
- The display type matters: "variation" groups are always whole-only
- "quantity" groups don't support per-portion mode
- The recipe needs a
max_portionsvalue greater than 1
Common Questions
Q: Can I change a pricing strategy after creating modifiers?
A: Yes. Changing the pricing strategy on a group doesn't delete existing modifiers — it changes how their prices are calculated going forward.
Q: How do I set up per-menu pricing?
A: On the menu item's Modifiers tab, switch to the menu's tab and open the overrides editor (sliders icon) on the group's row, then set an Absolute price for the option. Only that menu is affected; other menus keep inheriting.
Q: Can a modifier have multiple child groups?
A: Yes. A single modifier can trigger multiple child groups, each with their own set of follow-up options.
Q: What's the difference between "variation" and "single_select" display types?
A: Both allow picking exactly one option. Variation additionally forces whole-only portion mode (no splitting) and is designed for size/style choices. Single Select allows optional per-portion splitting.
Q: How do portion prices interact with size pricing?
A: Size pricing determines the base modifier price for the selected size. Portion pricing then adjusts that price based on the portion fraction. For example: a topping costing $3.00 at Large size, applied to one half with prorated pricing, costs $1.50.
Next Steps
- Understanding Modifiers — Start with the basics
- Recipe Modifiers — The recommended way to set up modifiers
- Modifier Types & Templates — Deep dive into each type
- Combo Menu Items — Building combo meals
Last updated: August 25, 2026