Full tables prove demand, not profitability
Your restaurant is usually not profitable despite full tables because too little contribution margin remains per occupied seat and per service hour after food cost, labour, rent, energy, payment costs, waste, and operating friction. A busy dining room can look successful while the economics underneath stay weak. In my operation, that is the first distinction I make: occupancy is not the same as profit. A simple example makes it clear. Twelve tables may be taken all evening, but if many guests order only one main course and a low-margin drink, the kitchen and service effort is still close to the effort for a table that also buys starters, wine, dessert, and coffee. The room feels full in both cases, yet the money left over at the end is completely different.
That is why I do not start with guest count alone. I start with four questions: which items really carry the result, how long each table ties up capacity, where paid working time is used badly, and where money disappears inside the process although sales initially look healthy. A full house can deceive me very quickly if a table stays long, orders lightly, or never creates a second selling opportunity. In practice, I organise this review against real transactions and real time windows instead of vague impressions from a stressful Saturday. Otherwise I end up saying, “We were packed again,” without being able to explain why the bank balance and the daily closing still feel tight.
Often the problem is not sales volume but the sales mix
A busy service can still be unprofitable when the evening is built on the wrong items. Not every euro of sales has the same value. One dish may have expensive ingredients, high prep effort, and fussy plating while delivering a much weaker margin than a simpler plate with a stable recipe and a cleaner cost base. The same applies to drinks. If I price house wine too tightly, sell cocktails with high waste, or barely offer desserts, I lose margin exactly where many restaurants normally earn it. A concrete example: three popular mains dominate the room and appear on almost every second table, so turnover looks strong. But supplier prices moved months ago and those bestsellers were never recalculated. Then I am most successful at selling the least profitable part of my own menu.
So I review the menu by profitability, labour effort, and sales share together, not by popularity alone. With maintained recipes and ingredient costs, I can assess menu decisions more soberly and adapt prices or composition based on evidence instead of instinct. The solution is rarely “raise everything.” Often one detail does the damage: a protein portion that drifted upwards, a garnish nobody values, a side dish that costs more than it supports, or a menu bundle whose price no longer covers the extra work. When I want a better operational basis for those pricing decisions, I look at recipe cost, target food cost, and selling price in one line of thought. Bonzumo’s structured recipe and calculation setup can support that review if the ingredient data is maintained carefully by the team responsible for menu data.
How the ideas connect
The opening sections of this article, shown together.
Why can a fully booked restaurant still fail to be profitable?
Full tables show demand, not margin. Low-value sales mix, rising real [food…
Full tables prove demand, not profitability
Your restaurant is usually not profitable despite full tables because too little contribution margin remains per occupied seat and per…
Often the problem is not sales volume but the sales mix
A busy service can still be unprofitable when the evening is built on the wrong items. Not every euro of sales has the same value. One…
Food cost slips when recipe, purchasing, and portion control drift apart
A second main reason is that actual food cost rises above the original calculation. That does not require dramatic mistakes. It happens in normal service. Sauce is ladled too generously, vegetables yield less than expected, a cut of meat loses more during prep than planned, emergency buying is more expensive, or portions quietly become larger over time because nobody wants a guest to feel short-changed. The selling price on the receipt stays the same while the real cost underneath climbs. At volume, that hurts hard. If one main course costs only 1.40 more than planned in reality and I sell several hundred portions in a month, that small difference can eat a serious share of the result without anyone noticing from the dining room alone.
I deal with this fairly and systematically, not with quick blame. First I check master data, units, recipes, base recipes, and counted stock. In Bonzumo, recipes, stock movements, and inventory counts can be maintained in a structured way; inventory here means recording and checking counted quantities, not an automatic finished explanation for every variance. That is exactly why clean organisation matters so much. Typical traps are litres entered instead of decilitres, raw weight confused with edible weight, or unclear terms like “one ladle” without a defined gram amount. The right fix is standard portions for key items, clear units, one responsible person for data maintenance, and a fixed recheck as soon as purchase prices or delivery quality shift noticeably.
Table time matters as much as table occupancy
The length of stay can make a full evening unprofitable even when the room never looks empty. What matters is sales per occupied table hour, not just whether chairs are taken. This is especially tricky on popular nights when guests linger. Imagine two guests holding a four-top for two and a half hours while ordering only one main each and a shared bottle of water. That table was never vacant, so the room seems impressively busy. Economically, it may contribute less than a shorter visit with starters, drinks, dessert, and coffee. Another common pattern is two people regularly sitting at tables that are ideal for groups, while larger bookings are turned away or pushed later. The restaurant appears sold out, but capacity is being used in a low-yield way.
I do not solve that by rushing guests. I solve it by making a concept decision about table sizes, booking logic, pacing, and service prompts. Which visit length fits my format, which tables should be protected for larger parties at what times, and when must service actively create the next ordering moment? That is where reservation context, table context, and sales data need to be read together. Bonzumo’s shared data basis helps me trace a sale from order to payment and see open table amounts in the same context, which makes follow-up easier when I review where capacity was tied up. If I want to strengthen that service structure, I also look at Keep every sale connected to the service around it to think through how the flow at table level should be organised.
Small losses inside the workflow add up faster than most owners think
Many restaurants do not lose money through one dramatic error but through dozens of small breaks in the daily routine. Forgotten extras, late re-orders that never get entered, unclear goodwill decisions, wrong item keys, unnecessary voids, messy bill splitting, or tiny open balances all look harmless one by one and become dangerous together. The risk rises when the room is full because speed, handovers, and interruptions multiply. A plausible example is a group ordering three espressos at the end, everyone being in a rush, and those coffees never making it into the sale. Another is a split bill where one dessert remains unassigned, the table gets closed anyway, and the discrepancy only appears during closing. None of that feels like a major incident in the moment, but over weeks it becomes real margin loss.
As an operator, I treat that as an organisational issue, not a character judgement on the team. Orders, partial payments, tips, receipts, voids, and closing should sit on the same data basis so that questions can be clarified where they arose. That separation also matters conceptually: sales revenue and tip amounts are not the same thing and should not be mixed. Bonzumo keeps those amounts distinct within the same transaction context, which helps me understand what was sold, what was paid, and what was recorded as tip. I organise fairness through permissions and clear responsibilities: who may void, who approves goodwill, how extras must be entered, and who checks differences before day-end is final. Repeated discrepancies are then not dismissed as bad luck; they are treated as evidence that the process itself needs repair.
Labour becomes expensive when paid hours are used badly, not only when wages rise
A full restaurant is not automatically well staffed. Profitability also suffers when the right people are working at the wrong time, in the wrong place, or without clear responsibility. That is different from a simple staffing shortage. Two extra people can be highly profitable if they reduce walking, speed up drink follow-up, and prevent waiting time that kills add-on sales. The same two people can destroy margin if they duplicate each other’s work, hunt for information, or leave nobody clearly accountable for dessert prompts, section handover, or payment flow. Think of a terrace that is full, but orders are still slow because one person is constantly settling bills, another is searching for open tables, and no one owns the post-main-course round that should trigger coffees and sweets.
I discuss this with the team as a productivity question, not as a blanket demand to cut hours. Which hour genuinely produces value, and which hour creates only stress, idle time, or unnecessary closing work? From there I set concrete operating rules: who opens which section, who releases menu courses, when a station gets reinforcement, whether payment should be concentrated at one point, and which sidework must really wait until the end. Often the fix is small but disciplined: a defined handover point between kitchen and floor, one timed re-order round, or a clearer split between hosting, running, and cashing out. For the operational connections around payment and handover, I also review Finish a good visit with a clear payment experience, because the final minutes at the table often decide whether labour remains smooth or turns into avoidable chaos.
I diagnose the cause over two weeks and then choose only three actions
When I want to understand why a full restaurant is not profitable, I do not launch a vague monthly argument about “costs being too high.” I run a two-week diagnostic. First I review the key selling items: price, recipe cost, portion size, and sales share. Then I compare table duration, average check by time slot, and the pattern of follow-on orders. Next I look at voids, goodwill, open balances, split payments, and recurring differences in closing. After that I compare staffing with the real sales flow, not just total daily revenue but the exact periods when effort peaks without enough return. This turns a bad feeling into a structured diagnosis. The point is not to create endless reporting; it is to identify the few places where economics and daily behaviour clearly drift apart.
At the end, I deliberately choose only three measures instead of starting ten weak initiatives at once. For example, I might make a targeted price adjustment in two categories, revise one weak bestseller recipe, and introduce one service routine that lifts dessert and coffee sales reliably. Every measure needs a test: does contribution improve, do errors drop, does add-on selling increase, or does table capacity free up sooner without hurting hospitality? The biggest trap is actionism: adding one euro everywhere, shrinking portions quietly, or trying to “save” the result only through payroll cuts. Full tables are not proof of profit, but they are strong proof that demand exists. If I then calculate properly and organise the operation fairly, the answer is usually not “more guests,” but better economics per transaction, per item, and per service hour.
Putting it into practice
Later sections put the topic in the context of day-to-day operations.
Small losses inside the workflow add up faster than most owners think
Many restaurants do not lose money through one dramatic error but through dozens of small breaks in the daily routine. Forgotten…
Labour becomes expensive when paid hours are used badly, not only when wages rise
A full restaurant is not automatically well staffed. Profitability also suffers when the right people are working at the wrong time, in…
I diagnose the cause over two weeks and then choose only three actions
When I want to understand why a full restaurant is not profitable, I do not launch a vague monthly argument about “costs being too…