Modifier Types & Templates

Each modifier has a type that determines how it affects the dish — adding something, removing something, swapping one ingredient for another, or changing the size. This guide walks through each type and the templates that make setup easy.


Modifier Types at a Glance

Every individual modifier is one of four types:

Type What It Does Cost Impact
Add Adds an ingredient or recipe to the dish Increases cost by the added item's value
Remove Takes an ingredient out of the dish Decreases cost by the removed ingredient's value
Substitute Swaps one item for another (ingredient or recipe on either side) Net change: replacement cost minus removed item cost
Size Changes the portion size of the entire dish Scales base cost proportionally

Size Options

Template: Size Options

Use this when customers choose a portion size. The most common example: Small, Medium, Large.

How It Works

  • Display type: Variation — customers pick exactly one option
  • Required: Yes — every order needs a size
  • Each size modifier specifies how the recipe scales:
    • Servings mode: "1.5 servings" means 1.5x the base recipe
    • Yield mode: "300g" means that specific quantity of the recipe's yield

Real-World Example: Pizza Sizes

Size Servings Price Adjustment Cost Impact
Regular 1.0 srv +$0.00 (default) Base cost
Large 1.5 srv +$4.00 1.5x base cost
Family 2.0 srv +$8.00 2x base cost

Setting Up Size Options

  1. Choose the Size Options template
  2. Name the group (e.g., "Pizza Size")
  3. For each size modifier, set:
    • Name (e.g., "Large")
    • Size servings or yield quantity with unit
    • Price adjustment (the customer-facing price change)
  4. Mark one option as the Default (typically "Regular")

Important

The size modifier's price adjustment is the customer-facing charge. The cost impact is calculated separately from the recipe scaling. A "Large" that's 1.5 servings costs 50% more to make, regardless of how much more you charge for it.


Add-Ons / Extras

Template: Add-Ons / Extras

Use this when customers can add extra toppings, ingredients, or components to their dish.

Two Ways to Define Add Modifiers

Recipe-based adds — The modifier links to a prep recipe. Cost is calculated from the recipe's total cost, scaled by the amount used.

Detail Example
Modifier "Add Bacon"
Linked recipe "Bacon (2 Slices)"
Recipe servings 1 serving of the bacon recipe
Cost Recipe's cost per serving

Ingredient-based adds — The modifier links directly to an ingredient with a specific quantity and unit. No recipe needed.

Detail Example
Modifier "Add Jalapeños"
Linked ingredient Jalapeño Peppers
Quantity 3 pieces
Cost 3 × ingredient's cost per piece

Real-World Example: Burger Toppings

Modifier Group: "Burger Toppings" (Multi Select, Optional)
├── Add Bacon (+$3.00) → Recipe: Bacon (2 Slices), 1 serving
├── Add Avocado (+$2.00) → Recipe: Avocado Spread, 1 serving
├── Extra Cheese (+$1.00) → Ingredient: Cheese, 50g
└── Add Jalapeños (+$0.50) → Ingredient: Jalapeño Peppers, 3 pieces

Setting Up Add-Ons

  1. Choose the Add-Ons / Extras template
  2. Name the group (e.g., "Burger Toppings")
  3. Search and pick recipes from your recipe database to use as add-on options, or
  4. Add custom options with just a name and price (no recipe needed)
  5. Set the price adjustment for each option

Tip: Using the template picker, you can search and filter your existing recipes to quickly find the right ones. You can also add custom options that aren't tied to any recipe — just a name and a price.


Remove Ingredients

Template: Remove Ingredients

Use this to let customers request that specific ingredients be left out. The template can auto-populate from a menu item's recipe.

How It Works

  • The template asks Which menu item is this for?
  • Once you select a menu item, it loads the recipe's ingredients
  • Check the ingredients that should be removable
  • Each checked ingredient becomes a "remove" modifier (e.g., "No Onions")

Real-World Example: Sandwich Customization

Modifier Group: "Customize Sandwich" (Multi Select, Optional Force Show)
├── No Onions ($0.00) → Removes: Onions
├── No Tomato ($0.00) → Removes: Tomato
├── Hold the Mayo ($0.00) → Removes: Mayonnaise
└── No Pickles ($0.00) → Removes: Pickles

Removals typically have no price adjustment (you don't charge less for leaving something out), but they do reduce the calculated food cost.

Setting Up Removals

  1. Choose the Remove Ingredients template
  2. Name the group (e.g., "Customize Sandwich")
  3. Select the menu item to pull ingredients from
  4. Check the ingredients that customers should be able to remove
  5. Click Create Modifier Group

Tip

If you use dynamic removals on the recipe instead, you don't need to create a separate modifier group for removals — the system generates removal options automatically from the recipe's ingredient list.


Substitutions

Template: Substitutions

Use this when customers can swap one item for another — choosing a different crust, swapping regular cheese for vegan, or replacing a protein.

How It Works

Each substitute modifier has two sides:

  1. What gets removed — the item being swapped out of the dish. This can be:

    • A target ingredient (e.g., mozzarella, regular pasta)
    • A target recipe (e.g., a classic dough sub-recipe, a beef patty prep recipe)
  2. What replaces it — the item being added in its place. This can be:

    • A replacement recipe (e.g., thin crust dough recipe, turkey patty recipe)
    • A replacement ingredient with a specific quantity and unit (e.g., 150g vegan cheese, 200g gluten-free penne)

The cost impact is the net difference: replacement cost minus removed item cost.

Substitution Patterns

Pattern Remove Side Add Side Example
Ingredient → Recipe Target ingredient Replacement recipe Regular bun → Gluten-free bun recipe
Recipe → Recipe Target sub-recipe Replacement recipe Classic dough recipe → Thin crust dough recipe
Ingredient → Ingredient Target ingredient Replacement ingredient + quantity Mozzarella → 150g vegan cheese
Recipe → Ingredient Target sub-recipe Replacement ingredient + quantity House sauce recipe → 50g ketchup

Tip

Recipe → Recipe is ideal for pizza crusts, burger patties, sauces, and other components that are their own prep recipes. Ingredient → Ingredient is best for simple swaps like cheese or milk alternatives where you just want to specify a quantity.

Real-World Examples

Pizza Crust (Recipe → Recipe)

The base pizza uses a "Classic Dough" sub-recipe. The customer chooses a different crust — the classic dough recipe is removed and the thin crust dough recipe is added:

Modifier Group: "Pizza Crust" (Required, Single Select)
├── Classic Crust ($0.00) → Default, swaps: Classic Dough recipe → Classic Dough recipe
└── Thin Crust (+$1.00) → Swaps: Classic Dough recipe → Thin Crust Dough recipe

Cheese Options (Ingredient → Ingredient)

The pizza has 200g mozzarella. The customer wants vegan cheese. The modifier removes the mozzarella and adds 150g of the replacement:

Modifier Group: "Cheese Options" (Optional, Single Select)
└── Vegan Cheese (+$1.50) → Removes: Mozzarella, Adds: 150g Vegan Mozzarella

Dietary Substitutions (Ingredient → Recipe)

The classic pattern — remove an ingredient and add a prep recipe:

Modifier Group: "Dietary Options" (Optional Force Show, Single Select)
├── Keep Original ($0.00) → Default
├── Gluten-Free Bun (+$2.00) → Removes: Regular Bun, Adds: GF Bun recipe
└── Vegan Eggs (+$1.50) → Removes: Eggs, Adds: Vegan Scrambled Eggs recipe

Coffee Milk Swap (Ingredient → Ingredient)

A latte has 200ml whole milk. The customer wants oat milk — different quantity because oat milk froths differently:

Modifier Group: "Milk Options" (Optional, Single Select)
├── Whole Milk ($0.00) → Default
├── Oat Milk (+$0.70) → Removes: Whole Milk, Adds: 250ml Oat Milk
└── Almond Milk (+$0.70) → Removes: Whole Milk, Adds: 240ml Almond Milk

Substitution Pricing

When you enable Substitution Pricing on the group, the system uses cost-difference logic instead of fixed prices: the customer pays the difference between the replacement and the original item. The Charge for Defaults setting controls whether the default (original) option has a charge.

Setting Up Substitutions

  1. Choose the Substitutions template
  2. Name the group (e.g., "Pizza Crust", "Cheese Options", "Milk Alternatives")
  3. For each substitute modifier, set:
    • What to remove: Pick a target ingredient or a target recipe (the item in the base dish being swapped out)
    • What to add: Pick a replacement recipe, or pick a replacement ingredient with a quantity and unit
  4. Set price adjustments as needed
  5. Mark one option as the Default if this is a required choice (e.g., "Classic Crust")

Important

A substitute modifier can target either an ingredient or a recipe, but not both. Similarly, the replacement can be either a recipe or an ingredient with a quantity — not both. This keeps the cost calculation clear and unambiguous.


Required Choice

Template: Required Choice

Use this when the customer must pick exactly one option to complete their order — like choosing a protein, a base, or a side.

How It Works

  • Display type: Single Select
  • Required: Yes — the customer must pick one
  • Min selections: 1, Max selections: 1

Real-World Example: Build-Your-Own Bowl

Modifier Group: "Choose Your Protein" (Single Select, Required)
├── Grilled Chicken (+$0.00) → Default
├── Steak (+$3.00) → Recipe: Grilled Steak, 1 serving
├── Tofu (+$0.00) → Recipe: Marinated Tofu, 1 serving
└── Shrimp (+$4.00) → Recipe: Sautéed Shrimp, 1 serving

Setting Up Required Choice

  1. Choose the Required Choice template
  2. Name the group (e.g., "Choose Your Protein")
  3. Search and add recipes for each option
  4. Set one option as the Default
  5. Set price adjustments (usually the default is $0.00, upgrades have a positive price)

Quantity Extras

Template: Quantity Extras

Use this for items that can be added multiple times with a quantity stepper — like extra espresso shots or additional sauce portions.

How It Works

  • Display type: Quantity — shows a +/- stepper instead of checkboxes
  • Customers can add 1, 2, 3, or more of the same modifier
  • Each unit adds the modifier's price and cost

Real-World Example: Coffee Shop

Modifier Group: "Extra Shots" (Quantity, Optional)
├── Extra Espresso Shot (+$0.75 each) → Recipe: Espresso Shot
└── Extra Syrup Pump (+$0.50 each) → Recipe: Flavored Syrup

Setting Up Quantity Extras

  1. Choose the Quantity Extras template
  2. Name the group (e.g., "Extra Shots")
  3. Add the items that can be ordered in multiples
  4. Set the per-unit price adjustment

Custom / Blank

Template: Custom / Blank

Start from scratch with full control. No fields are pre-configured — you choose the display type, required mode, pricing strategy, and everything else.

Use this when none of the other templates fit your use case, or when you want a specific combination of settings.


Choosing the Right Template

I want to... Use Template
Let customers pick a size (S/M/L) Size Options
Offer optional toppings or extras Add-Ons / Extras
Let customers remove ingredients Remove Ingredients
Offer item swaps (crusts, cheeses, proteins, milks) Substitutions
Force a choice (pick your protein) Required Choice
Allow multiple of the same add-on Quantity Extras
Something else entirely Custom / Blank

Tip

You can always change a modifier group's settings after creation. The template just gives you a starting point — nothing is locked in.


Common Questions

Q: Can a single modifier group contain different modifier types?
A: Yes. A group can have a mix of add, remove, substitute, and size modifiers. However, for clarity, it's usually better to keep groups focused on one type of modification.

Q: What's the difference between "Optional" and "Optional Force Show"?
A: Both are optional, but Optional Force Show ensures the modifier group is always visible to your team when planning meals, even if no selection is made. Use this for things like "Customize Sandwich" where you want the options visible by default.

Q: Can I reorder modifiers within a group?
A: Yes. On the modifier group detail page, you can drag modifiers to reorder them. The order determines how options are displayed.

Q: What happens if a modifier's linked recipe is archived?
A: The modifier remains but its cost calculation may be affected. It's best to update or archive modifiers when their linked recipes change.


Next Steps

Last updated: May 19, 2026

Keep scrolling to load "Combo Menu Items"