Restaurant item options: how to organise size and extras without defining them again for every item

A restaurant menu is not just items but questions: which size? which extras? This article shows how to build those questions once so they work across the menu, and how to learn later what guests actually pick.

In short: organise your menu options into a few shared groups (size, extras, doneness, the side drink), define them once in a central library and apply them to items in one go, and make a group item-specific only when it really differs. Price an extra with a positive or zero delta, and link what costs you stock to its component so it is deducted on sale. That turns a menu change into a minute instead of an hour, and the options report tells you what sells.

What usually breaks an options list

A restaurant starts with two items and their options, then the menu grows. A year later "Size" is defined thirty times in three spellings (large, Large, L), and the extra cheese delta differs between sandwiches because someone changed it on one item and forgot the rest. Waiters get confused, the kitchen reads inconsistent tickets, and the options report adds up nothing because the names differ.

The cause is that options were defined on the item, not on the menu. The fix reverses the direction: the menu owns the groups, the item uses them.

The rule: shared unless proven otherwise

CaseSolution
The same size with the same prices on every sandwichA library group, applied to the whole "Sandwiches" item group
The same extras, but one item has "no onion" onlyA library group for all, and that item is detached from the library and edited alone
Large costs more on one itemApply from the library, then detach that item and change the delta
An option that exists on one item only (a special cooking method)An item-specific group from the item options screen, no library

How to price extras

  • A delta of zero or more: "without" something does not lower the price; a reduction is a line discount within the staff member's limit, not a negative option. That way an option never becomes a back door for discounts.
  • Size as a delta, not a full price: small 0, medium +3, large +6. The item's base price is the small price and the delta is added. Changing the item price does not break the deltas.
  • The stock component: link "extra cheese" to the cheese item and its quantity (0.03 kg, say) so it is deducted when the invoice posts and appears in cost of goods. Do not link what you do not track.

Setting it up in Sahl step by step

  1. Open Restaurant → Option group library and define "Size" (single, required) and "Extras" (multiple, maximum 3) with their values and deltas.
  2. Press "Apply to items" on "Size" and choose the "Sandwiches" item group; repeat for extras. Items that already have the group are skipped.
  3. For a new item: the "Option groups" tab in the item form lets you pick groups that are added after saving.
  4. The exception: on Item options press "Detach from library to edit" and change what you want for that item.
  5. When you edit the library later, press "Update linked items"; detached items are untouched.

Details and edge cases in the option group library guide.

What the waiter and the kitchen see

On the waiter device the options dialog appears when the item is tapped, with the minimum and maximum per group, so no order goes out without a size when size is required. The kitchen ticket prints the chosen values under the item in the same order every time, and the invoice shows the final price after deltas. All of this runs on the local network without internet, as explained in the internet outage article.

Read the options report

After two weeks open the "Options" report in restaurant reports: group, value, count and revenue. If "extra cheese" is picked on 40% of orders its price is low or it is a combo opportunity; if nobody picked "family size" for a month, remove it from the library and update linked items with one click. Because names are unified from the library, the report adds values across all items instead of splitting them between "large" and "L".

Frequently asked questions

I have had options defined on items for months. Do I redo them from the library?

Not all at once. Define the shared groups in the library, and when you edit an item remove its old group and add from the library. Earlier orders keep their values.

Does an extra's delta differ between dine in and takeaway?

Not in this release; the delta is the same for every order type. The item price itself is what changes with the order type's price list.

How many option groups can an item have?

Up to thirty groups and a hundred values each, but more than four groups on an item slows the waiter down; review the menu if you exceed that.