How to Charge for Extras on Online Orders Without Adding It Up by Hand

To charge for extras on online orders, build option groups — size, sauces, extras — each with what it adds to the price. The customer picks, the page does the math, and the order lands in your kitchen with everything they chose.

Brenda sells wings and boneless bites in Matamoros. On Fridays she gets about forty orders over WhatsApp, and almost none of them is “one order of boneless.” It’s “20 pieces, half BBQ and half mango habanero, extra ranch and fries, no celery.” Brenda adds it all up in her head between fryer batches, and sometimes something slips through. Six $15 extra dressings and four $45 orders of fries that never get charged in one night is $270 given away for free.

When she started thinking about taking orders through her own page, her first question was how you charge for extras on online orders when every customer asks for something different. The short answer: you don’t add anything up yourself. You define the options once, with their prices, and the page does the math on every order.

What’s an option group?

An option group is a list of choices a customer makes about a product — size, sauce, what they want added or left off — where each choice carries its own price, even if that price is zero. If your Proyecta page sells online, groups live in a section of your dashboard called “Options & Extras.”

That one shape covers everything customers ask for:

  • A priced extra. “Extra ranch,” +$15.
  • A free preference. “No celery” is the same thing with a $0 price tag. On the page it doesn’t show as ”+$0” — it just shows no price at all.
  • A size. A group where the customer picks exactly one option, and each one shifts the price. “10 pieces,” $0. “20 pieces,” +$130.

It’s not just for food, either. A flower shop uses the same setup for “Handwritten card” (+$15) and “Deliver to front desk” (free).

How do you build an extras group?

Every group has four parts: a name, a minimum, a maximum, and its options. The minimum and maximum decide everything else — there’s no separate “required” toggle.

  • Name: the title the customer sees above the options. “Sauces,” not “Group 2.”
  • Minimum selections: 0 makes the group optional; 1 or more makes it required.
  • Maximum selections: 1 means pick just one; 2 or more means pick up to that many.
  • Options: each with its own name, its own extra price, and an “Available” toggle.

Here’s how Brenda’s turned out:

GroupMinMaxOptions
Size1110 pieces ($0) · 20 pieces (+$130)
Sauces12BBQ · Buffalo · Mango habanero · Lemon pepper ($0)
Extras03Extra ranch (+$15) · French fries (+$45) · Cheddar cheese (+$20)
Preferences02No celery · Sauce on the side ($0)

The “half and half” that used to come as a second WhatsApp message is now just a max of 2 in Sauces. One rule that’ll save you a headache: the max can never sit below the min. A group set to “min 2, max 1” is impossible to satisfy, and it simply won’t work.

Why build the group once instead of per dish?

Because groups are shared. Brenda uses “Sauces” on her wings, her boneless bites, and her potato wedges; if she adds a tamarind sauce, she creates it once and it shows up on all three. When ranch goes up to $18, she changes it in exactly one place.

That’s why the order matters: build the group first, then the dish. Every dish’s detail page also has a field called “Options & Extras,” where you pick from groups that already exist — you can’t create new ones from there. Leave it empty, and the dish just sells as-is.

What does your customer see when they order?

They see each group with its options, and the price updates as they tap through. In a “pick one” group they can only select one; in a “pick up to three” group, once they hit three it won’t let them add any more.

Required groups carry a “Required” tag, and the add-to-cart button won’t activate until the customer makes those choices. So no one’s left tapping a button that won’t respond, whatever’s still missing shows right above it.

Who adds up the extras on online orders?

The page does — and when it charges the card, the server adds it all up again using the prices you entered. The total never comes from the customer’s phone. What they saw on screen is what gets charged, and no one can send you a made-up total.

What do you do when you run out of an ingredient?

You turn off the option, not the dish. At nine at night Brenda runs out of mango habanero: she opens “Options & Extras,” goes into Sauces, and flips off “Available” for that one. It still shows on the page, but crossed out and unselectable, and the boneless bites keep selling with the other three sauces.

If someone already had it in their cart, the charge won’t go through while that option’s still on the order. Better that than charging for something you can no longer serve and having to refund it.

How does the order reach your kitchen?

Complete, and always in the same format. In your order list, every line shows what the customer picked underneath, separated by dots, something like: “20 pieces · Mango habanero · BBQ · Extra ranch · French fries · No celery.” If you’ve given your team access, whoever’s at the counter sees that exact same list.

What was charged stays locked in with each order. If you bump ranch to $18 on Monday, Friday’s orders still show it was charged at $15.

Option or catalog variant?

It depends on whether you track how many you have left. A shirt’s sizes are catalog variants, each with its own stock count. Options aren’t tracked in inventory — they’re what the customer chooses on top of the product. If what runs out is a unit, it’s a variant; if it’s an ingredient, it’s an option.

How to have this up by this week

Describe your business to Proyecta with the full sentence: “a page for my wings and boneless business in Matamoros, with a menu, photos, a cart for online orders, card or pickup payment, and where every order lets customers choose a size, two sauces, and priced extras.” You’ll get a real, published site, with its own link. Then open your dashboard, set up your groups under “Options & Extras,” and add them to each dish.

Before you enter anything, pull last Friday’s tickets and underline everything someone asked for that’s different from how the dish is normally listed. Whatever repeats is a group. Whatever costs you something is a priced extra; whatever doesn’t, a $0 preference. Whatever only one person asked for, leave it out — that’s still what WhatsApp is for.

With that, you’ve got your groups. Build your page on Proyecta, enter them, and next Friday the extras on every online order get added up by the page, not by you.