Discounts
How Discounts Apply
Learn the rules the pricing engine uses to calculate discounts.
The Menoo pricing engine uses a specific set of rules to calculate discounts and determine the best value for your customers.
Base Prices Only
Discounts are calculated exclusively on the base prices of your items. Selected options and extras are never discounted.
The Two Calculation Phases
The engine evaluates discounts in two sequential phases:
- Item-level discounts: These apply to specific products, menus, or categories.
- Each individual unit of an item can receive at most one item-level discount. The engine compares all eligible simple discounts (percentage or fixed amount) and applies the one that offers the biggest saving.
- For "Buy X get Y free" discounts, the engine groups eligible units from most expensive to least expensive. The cheapest qualifying units within each group become free. This reward is only applied if it provides a better saving than the best simple discounts for those same units.
- Order-level discounts: These apply to the whole order.
- The engine calculates the order-level discount on the remaining base subtotal after all item-level savings are deducted.
Coupons vs. Automatic Discounts
How a coupon competes depends on its scope:
- Whole-order coupons compete with the best automatic whole-order discount. Whichever gives the bigger saving wins; in the event of a tie, the coupon wins.
- Product, menu, or category coupons follow the item-level rules above — each eligible item keeps whichever discount, the coupon or an automatic one, saves the most.
When a customer enters a coupon, they may see one of the following results:
- Applied: The coupon was successfully added to the order.
- Rejected: The code is unknown, nothing in the order is eligible, or it produces a zero discount.
- Outcompeted: The coupon is valid, but a better discount is already applied — an automatic whole-order discount for order coupons, or, for item coupons, another discount that already gives the affected items an equal or larger saving.
Maximum Discount Caps
When you configure a percentage reward, you can set a Maximum discount value. This caps the total saving produced by that discount, no matter how many items it applies to.
For example, if you offer "20% off, capped at 15" in your currency:
- If 20% off the eligible items would add up to a 25 saving, the cap reduces the discount to 15.
- If 20% off would add up to only a 10 saving, it stays at 10 since it is under the cap.
Eligibility and Limits
Before any math happens, the engine checks eligibility. A discount is completely ignored if:
- The current time is outside the defined start and end dates or weekly schedule.
- The order type (delivery, pickup, dine-in) does not match the allowed types.
- The total usage limit or the per-customer limit has been reached.
- It is marked as "First order only" but the customer has ordered before.
- The minimum order value is not met (checked against the items subtotal including options, before discounts).