Combos, packages and daily menus in the hotel restaurant: how to record them so the report does not lie
The daily menu sells well and the hotel restaurant report says it barely costs anything. Both cannot be true. Here is how to record a package so every component carries its cost and the margin stops being an illusion.
The set lunch in the hotel restaurant sells out at midday, the dinner with wine package goes every night and breakfast comes included in the room rate. When the controller closes the month, the food cost gives a number that does not match what the kitchen bought. The package is almost always the culprit: it was recorded as a single line with no components, and that line has no idea what it cost.
Three ways to sell a package, and only one is honest
The first way is to create an item called “Daily menu” priced at 300 with nothing inside. It rings up fast, looks tidy on the ticket and says nothing. The kitchen does not know which soup was ordered, inventory deducts nothing and the item cost is zero or a number someone guessed a year ago.
The second way is to ring up the three dishes at menu price and apply a manual discount to land at 300. Here the kitchen does find out and inventory does deduct, but the discount report fills up with “discounts” that are really the normal price of the package. When you want to know how much you actually gave away in the month, you will not be able to separate it.
The third way is to treat the package as a wrapper: an item that sells at 300 and, when rung up, breaks down into its components, each with its share of the price and its cost. It is the only way in which the ticket, the kitchen, the inventory and the report say the same thing.
What happens to the report when the package is a single line
The first symptom is an item ranking that is useless. “Daily menu” shows up as the best seller, and below it the lemon chicken looks like it barely sells, when in fact it was the main course of most of those menus. You decide to take it off the menu based on a false number.
The second symptom is a food cost that does not match purchases. The kitchen used chicken, vegetables and dessert for four hundred menus, but the system recorded four hundred units of something with no recipe. The gap between what was bought and what was sold shows up as waste, and someone goes looking for a thief who does not exist.
The third symptom is the quietest: the package margin looks splendid because it has no cost. With that number, the manager pushes the daily menu at the front desk and on the digital menu, and every extra sale makes the real result worse without anyone seeing it until the close.
The breakdown: the package is a wrapper
The components
A package is defined by its parts: soup, main course, dessert and drink, for example. Each part is an item that already exists on the menu, with its recipe and its cost. The package has no recipe of its own; it inherits its components’. If tomorrow you change the dessert on the menu, you change the component and the package cost updates on its own.
Allocating the price
The package price is split among its components in proportion to each one’s menu price. If the menu prices add up to 400 and the package sells at 300, each component receives 75 % of its menu price. That way, when the report shows the main course revenue, it includes what that dish earned inside the package, not at menu price and not at zero.
This allocation is not an Inn convention; it is the logic the hospitality accounting standard uses for package revenue: each department receives the share of the price that belongs to it, and the package discount is distributed, not hidden (What USALI is and why it pays off even with twenty rooms).
An illustrative example with numbers
The figures below are invented to show the calculation; they are not from any hotel. The daily menu sells at 300 and is made of soup (menu price 80), main course (200), dessert (60) and drink (60). The menu prices add up to 400, so each component receives 75 % of its price.
| Component | Menu price | Price inside the package (75 %) | Recipe cost | Margin |
|---|---|---|---|---|
| Soup | 80 | 60 | 20 | 40 |
| Main course | 200 | 150 | 70 | 80 |
| Dessert | 60 | 45 | 15 | 30 |
| Drink | 60 | 45 | 10 | 35 |
| Total | 400 | 300 | 115 | 185 |
The package costs 115 and leaves 185 of margin, around 62 % of sales. If 400 menus sell in the month, revenue is 400 × 300 = 120,000 and cost is 400 × 115 = 46,000. That cost appears in the report and matches what the kitchen used. With the package recorded as a single line with no components, the report would have shown 120,000 of revenue and a cost of zero, and 46,000 would have appeared as unexplained waste.
The hotel’s packages: breakfast, half board and all inclusive
In a hotel the biggest package is not sold by the restaurant: it is sold by the front desk inside the room rate. Included breakfast, included dinner or all inclusive are revenues that come in through rooms and that food and beverage must receive as a value transfer. If the restaurant records that breakfast at zero, its revenue lies downward; if it records it at menu price, it lies upward.
The mechanics are the same as the daily menu: you define an allocation value for each included meal, apply it the same way every time and tie it to the guest folio. When the guest with included breakfast sits down, the server rings up the breakfast, the system recognizes it as included from the folio and records the allocation value as restaurant revenue without charging the guest anything. The detail of how this runs in an all inclusive property is at (All inclusive).
What cannot happen is the included breakfast being written in a notebook or rung up as a comp. A comp is a gift; the included breakfast was already paid for in the rate. Mixing them inflates the comp report and hides the restaurant’s real revenue.
Combos with a choice: pick your drink
Many packages have variable components: the daily menu comes with “drink of your choice” and the pool combo comes with “beer or soda”. The breakdown still works, but the server must record the option chosen, not the category. If the guest chose beer, the component is the beer, at beer cost.
This matters because the options do not cost the same. A combo whose variable component is always recorded as “generic drink” at an average cost will be right one month and wrong the next, depending on what people chose. Recording the real option also tells you which one guests prefer and which one you can drop.
A discount is not a package
A package has a price. That price is not a discount off something else; it is what the package is worth. When you record it as a discount, the discount report grows every day with money you never intended to charge, and the day you want to audit real discounts (the ones a server applied, the ones from a complaint, the ones a manager gave to make up for a wait) you will not find them among hundreds of daily menus.
The rule is simple: if it is on the menu with a price, it is a package and it breaks down. If it is applied at the table for a specific reason, it is a discount and it needs a reason and an authorization. Both exist; they should not sit in the same drawer of the report.
What everyone sees when the package is recorded properly
- The kitchen sees the soup, the main course and the dessert as normal tickets, with the chosen option, without guessing what “the menu” includes.
- The server rings up one item, picks the options and the ticket shows the package with its price, without three lines that confuse the guest.
- Inventory deducts the ingredients of each component, so the gap between theoretical and physical reflects what really happened in the kitchen.
- The controller sees revenue allocated by component and by outlet, the real cost and a discount report free of packages.
- The front desk sees the included breakfast recorded in the restaurant and tied to the folio, with no charge appearing on the guest’s account.
Common mistakes
- Giving the package its own recipe on top of its components’. The cost is counted twice.
- Splitting the price in equal parts instead of in proportion to menu price. The main course ends up subsidizing the water.
- Changing the main course in the kitchen without changing the component in the system. The recorded cost is the previous dish’s.
- Recording included breakfast as a comp. The comp report explodes and the restaurant revenue disappears.
- Letting the server ring up loose components with a discount when the guest asks for “the menu”. The same package ends up recorded two different ways.
A package is a wrapper with its own price that breaks down into components, each with its share of the price and its recipe cost. That way the ranking, the food cost, the inventory and the discount report agree, and the breakfast included in the rate is recorded as restaurant revenue tied to the folio.
What to do this week
- List everything you sell as a package: daily menu, pool combos, dinner with wine, included breakfast, half board. There are usually fewer than ten.
- For each one, write down its components and each component’s menu price. If a component does not exist as an item, create it with its recipe.
- Work out the allocation percentage for each package (package price divided by the sum of menu prices) and check that the resulting margin is the one you think you have.
- Agree with the controller on the allocation value for included breakfast and any meal that comes inside the rate, and share it with the front desk.
- Review last month’s discount report and separate what was a package from what was a real discount. The difference is what you have been misreading.
In Inn Restaurant a package is defined by its components, allocates its price in proportion to the menu and inherits each recipe’s cost, and the included breakfast arrives from the guest folio with no charge on the account; the controller sees all of it in a single report (Controller). If you want to check how your packages would look, the 15 minute demo is booked at (contact).
More articles
Price rules by time and by outlet: the same dish, a different price at the pool
The club sandwich in your hotel restaurant is worth one price in the dining room, another on the lounger and another at eleven at night in the guest room. If you solve that by duplicating items, your report splits in three and the server ends up guessing. Rules solve it.
QR code digital menu in the hotel: what the guest wants to see and what they do not
A QR code on the table of your hotel restaurant can solve the menu problem or become a bigger one than paper ever was. Here is what the guest actually looks for when they scan, and what does not matter.
Three languages on a hotel menu without three menus: one catalog, several views
A hotel restaurant with guests from several countries ends up with a menu in Spanish, another in English and a third someone translated in a hurry. There is a way to solve language without tripling the work or confusing the kitchen.
Your hotel’s restaurant already sells well. Now the hotel needs to know it.
Fifteen minutes, with your menu and your tables. Nothing to install.