Modifier Sets, Selection Rules & Option Behaviors
Create flexible modifier groups (Sizes, Milks, Sweetness, Toppings), configure required vs. optional rules, and choose how inventory and pricing are managed.
Interactive Customizer Simulator & Live Bundle Output
Interactive SimulatorSelect options below to observe how the system calculates totals in real time and bundles lines for checkout:
• Milk: Oat Milk (+$0.80)
• Sweetness: 50% Sweetness
• Toppings: Golden Boba (+$0.75)
3 Supported Option Behaviors
Simple Option Surcharge
Directly adds an amount to the parent line (e.g. Extra sauce +$0.50, Light Ice +$0.00). No Shopify variant needed behind the option.
Native Variant Mapping
Maps each choice directly to a real Shopify Product Variant (Sizes S/M/L) for accurate inventory depletion and sales reporting by SKU.
Nested Component Line
Each modifier is backed by an independent Shopify inventory item. Automatically deducts raw ingredient or retail stock upon order placement.
Branch-Level Sold Out Overrides
When Branch A runs out of Oat Milk or Boba Pearls while Branch B still has stock:
How Modifier Sets Connect to Your Shopify Products
Three separate links decide which options a product shows, which variant is charged, and what price the customer pays. The key point: links are stored by ID, not by name — so you can rename things freely without breaking your menu.
Product → Modifier Set
Each product lists the modifier sets it uses (e.g. Size, Milk, Toppings). Stored by set ID. Renaming a set never breaks the link.
Option → Shopify Variant
BASE_VARIANT and COMMERCE_COMPONENT options store the exact variant ID they charge. The option name and the Shopify variant title can be completely different.
Option → Price & Inventory
The linked variant supplies the price, sold-out status, and inventory. The option name is only what customers see on screen.
How an option gets linked the first time
When you create a BASE_VARIANT option (e.g. "Large") and assign it to a product, the system tries to auto-link it every time the menu loads:
What happens in each situation
The product still shows the same options because the link is by ID. No re-assignment needed.
Once a variant is already linked, the name no longer matters — the stored ID drives the charge. Important: keep the mapping when you rename, otherwise the auto-match may break.
The system links it automatically — correct variant, price, and inventory with zero manual setup.
No auto-link — the option has no variant, so the order falls back to the product's default variant. Set the mapping manually to fix the price.
The system searches all sets and still finds the option. Orders keep working.
The system falls back to the product's default variant — the price may not match what the option shows. Always link a variant for size / base choices.
Set names are matched exactly, so case differences can break recognition in rare fallback paths. Keep set names consistent.