Skip to main content

Order Error: "Too few modifiers in option group" (Toast)

Why a Toast order fails with "Too few modifiers in option group", what you can check in Toast and Stream, and when to contact us.

Written by Gildas Burnel

What you'll see

You receive a failed-order email from Stream that says:

Failure Reason: Order validation failure occurred. An invalid cart was submitted.

Additional Details: Too few modifiers in option group (<id>) for item (<id>)

The order was not accepted by Toast, and no order was created in Toast. The two IDs in the message are Toast's own IDs for the option group and the item. If the order came from DoorDash, DoorDash may also pause your store shortly afterwards.

What it means

Toast checks every online order against your menu rules before it accepts it. This message means an item arrived with fewer choices from a required option group (also called a modifier group) than your Toast menu requires. For example, a group that needs at least one choice came in with none.

This does not always mean your Toast setup is wrong. In several cases we reviewed, Toast was set up correctly and the delivery app sent the order with too few choices. The possible causes are:

  • The delivery app did not enforce the minimum at checkout. For some option groups on DoorDash, the minimum reaches the app only as a combined minimum for the whole group, not as a minimum for that group's own choices, and DoorDash has still accepted orders that were short. A similar way of sending the minimum applies to some required groups on Uber Eats.

  • Every choice in the required group was out of stock in Toast while the dish itself was still available, so the customer could not make the required choice.

  • The sizes of a topping do not match the sizes of the item in Toast, so Stream could not attach the right size to the topping.

  • The delivery app was still showing an older version of your menu than the one Stream last sent.

Good to know: Stream does not currently catch a short order before it reaches Toast, so Toast is the one that rejects it. Our engineers are aware of this and are reviewing how these rules are sent to the delivery apps.

How to fix it

  1. Check stock for the item's required choices. Open the item from the failed order in Toast and look at the options in its required groups, for example size, sauce or side. If every option in a required group is out of stock, or fewer are in stock than the group requires, while the dish itself is still available, restock at least one option. You can also mark the dish itself out of stock until an option is available.

  2. If you recently changed an option group in Toast (for example the minimum or maximum number of choices, or which choices belong to the group), open your Stream dashboard, click Menu and then Publish, so your delivery apps receive the current menu.

  3. If the option group in the message is a Size group on a topping (for example pizza toppings priced by size), compare it with the sizes of the item. In Toast, make the topping's size names match the item's sizes exactly, with the same spelling, spaces and symbols, or the same number of sizes in the same order. After the next Toast menu sync and a menu publish, new orders with that topping and size should go through.

  4. If none of these applies, please do not change your option group rules in Toast just to stop this error. Send us the order details below so we can check what the delivery app sent against your menu.

What only Stream can do

Some causes cannot be fixed from your Toast account. When you send us a failed order, we can:

  • Compare what the delivery app sent, the menu Stream sent to the delivery app, and your Toast menu, to confirm what happened.

  • Republish your menu to the delivery apps if they were showing an older version.

  • Raise the case with the delivery app when it let a short order through.

  • Tell you when no change is needed in your Toast setup.

  • Pass any problem on Stream's side to our engineers.

Still seeing the error? Contact Stream Support at [email protected] with your Stream location name, the delivery app, the order ID, the date and time of the failed order, and the full text under Additional Details. If DoorDash paused your store after the failure, tell us that too.

Did this answer your question?