
The short answer
Most restaurant billing and inventory problems are small leaks that repeat every service, not one big disaster. An item served and never billed, a price taken from an old list, a cash refund nobody wrote down, a delivery a kilo short, waste nobody logged. Each one can be spotted with a simple check and fixed with a clear rule. This guide lists eleven common problems, how to recognise each and what to change, starting with the ones that cost money fastest.
A quick diagnosis table
Start with the symptom you are seeing and jump to the likely cause.
| Symptom | Likely problem | Section |
|---|---|---|
| Guests complain a dish never came | Orders not reaching the kitchen | Billing 1 |
| Kitchen output seems higher than sales | Items served but not billed | Billing 2 |
| Same dish billed at different prices | Prices typed or remembered | Billing 3 |
| Many cancellations late in the day | Voids without approval | Billing 4 |
| Totals right, cash wrong | Payment mode errors | Billing 5 |
| Drawer short at close | Unrecorded payouts or refunds | Billing 6 |
| Missing or repeated bill numbers | Manual numbering | Billing 7 |
| "We're out" in the middle of the rush | No par levels | Stock 1 |
| Stock record never matches the shelf | Unrecorded movements | Stock 2 |
| Food cost rising, menu unchanged | Receiving and price creep | Stock 3 |
| Losses nobody can explain | No waste log, no recipe comparison | Stock 4 |
Billing problems
1. Orders that never reach the kitchen, or reach it twice
Symptoms: a table waits forty minutes for a dish nobody started; the kitchen makes two of something because the order was shouted and then written down.
Cause: more than one way for an order to reach the kitchen: a verbal order, a handwritten slip, a phone call from the counter.
Fix: one path only. Every order goes on a KOT or a kitchen screen ticket, and the kitchen does not cook anything without one. Mark tickets ready when they leave the pass, so the counter knows what is still pending. The restaurant order workflow guide sets out how orders should move between counter, kitchen and table.
2. Items served but never billed
Symptoms: the kitchen seems busier than the takings; staff say "the table added two rotis after the bill".
Cause: the bill is printed early, and extras are handed over without being added. Or an order is cooked from a verbal request and never entered.
Fix: keep dine-in bills open until the guest asks to pay, and add every later item to the same bill. The KOT rule above also closes this gap, because nothing is cooked without a ticket that is linked to a bill.
It looks small, but it adds up. If a table's late extras of two rotis at ₹30 and a lassi at ₹90, ₹150 in all, go unbilled four times a day, that is ₹600 a day and ₹18,000 in a 30-day month, all of it food you paid for.
3. Wrong prices on the bill
Symptoms: the same dish appears at different prices on different bills; guests point out that the menu card says something else.
Cause: prices typed by hand, staff working from memory, or an old price list still in use after the menu changed.
Fix: one menu, one price, used for every bill. When you change a price, change it in one place and withdraw old printed lists. If paneer butter masala went from ₹280 to ₹300 but one cashier still bills ₹280, twenty plates a day loses ₹400 a day without anyone noticing.
4. Cancellations and discounts without approval
Symptoms: many items voided after they were cooked; discounts that nobody remembers authorising.
Cause: anyone can cancel or discount anything, and nobody reviews the list.
Fix: decide who can cancel a cooked item, give a refund or apply a discount, and require a reason. Review the cancellation list at every close. Most voids are honest mistakes; the review is what keeps it that way.
5. Payments recorded against the wrong mode
Symptoms: the day's total is right but the cash in the drawer is not; UPI receipts in the bank app do not match what the bills say.
Cause: a UPI payment entered as cash, a split payment entered as one mode, or a bill closed before the money actually arrived.
Fix: record the actual mode, and split bills properly when a group pays part by card and part by UPI. Before closing a UPI bill, the cashier should check that the payment has arrived in the business account or app, not rely on the guest's phone screen.
6. Cash short at close
Symptoms: the drawer is a few hundred rupees short most nights, and nobody can say why.
Cause: cash paid out for supplies, cash refunds or a float that was never recorded, so "expected cash" is wrong before anyone counts.
Fix: start every shift with a recorded float, write down every payout and refund, and work out the expected cash before counting.
If the ₹650 for vegetables had not been written down, the expected figure would have been ₹20,150 and the drawer would look ₹1,150 short, hiding the real ₹500 gap behind a ₹650 one that was not a loss at all. The glossary entry on cash drawer shifts explains how a shift-based close works.
7. Gaps or repeats in bill numbers
Symptoms: a bill book with torn pages; two bills with the same number; numbers that jump.
Cause: manual or hand-entered numbering, or bills deleted after printing.
Fix: number bills in one unbroken sequence and cancel bills rather than deleting them, so the cancellation itself is on record. Ask your accountant what your bills and invoices need to show for GST.
Inventory problems
1. Running out in the middle of service
Symptoms: dishes "finished" at 8:30 pm; a cook sent to the market in the rush.
Cause: ordering by habit, with no idea how much each day really uses.
Fix: set a par level for each key ingredient (daily usage × days to the next delivery, plus a safety day) and do a quick pre-service check of anything below par. When something does run out, mark the dish unavailable at the counter straight away, so it is not ordered and then cancelled. Restaurant inventory management shows the par level calculation step by step.
2. The stock record never matches the shelf
Symptoms: the register says 12 kg of chicken; the freezer holds 7 kg.
Cause: movements that never get recorded: waste, staff meals, transfers to another outlet, prepared items, deliveries entered late.
Fix: record every movement as it happens, with a reason, and count high-value items often. A record that is updated only at month-end will always be wrong in between.
3. Deliveries short, or dearer than ordered
Symptoms: food cost creeping up although the menu and sales mix have not changed.
Cause: deliveries signed for without weighing, and bills paid without checking the rate.
Fix: check every delivery against what you ordered, weigh perishables and compare the rate on the bill with the agreed price. If onions are agreed at ₹30 a kilo but billed at ₹34, a kitchen using 15 kg a day pays ₹60 a day extra, or ₹1,800 a month, on one vegetable.
4. Losses nobody can explain
Symptoms: the monthly count shows a loss, and every station says it was not them.
Cause: no waste log, so every spoiled tray and returned plate is invisible; and no recipe comparison, so over-portioning cannot be separated from theft.
Fix: log waste with a reason at the moment it happens. Then compare actual usage with recipe usage for your costliest ingredients each week. The food cost calculator helps you check whether dish costs still match the recipe after price changes, and our guide to food cost percentage vs profit margin explains the recipe-versus-actual gap.
A ten-minute close that catches most of these
You do not need a long audit. A short routine at the end of each day catches most problems while they are still small:
- Count the cash and compare it with the expected figure, including payouts and refunds.
- Check that UPI and card totals match what the bank or payment app shows.
- Read the list of cancelled items and discounts, with their reasons.
- Confirm no tables or bills are left open.
- Count the three or four most expensive perishables.
- Glance at the waste log. If it is empty on a busy day, something was not recorded.
Common mistakes when fixing these problems
- Blaming people before checking the process. Most leaks come from unclear rules, not dishonest staff. Fix the rule first.
- Fixing everything at once. Start with the leak that costs most, usually unbilled items or receiving, and add one habit a week.
- Counting monthly and expecting answers. By then the trail is cold. Count expensive items weekly or more often.
- Making the waste log a punishment. If staff fear it, they stop writing in it, and you lose your best evidence.
- Allowing "just this once" exceptions. A cooked dish without a ticket or a price changed at the counter becomes normal within a week.
Where software helps
Several of these fixes are rules a system can hold for you. In DINE OS, prices always come from the menu rather than being typed at the till, cancellations and refunds are limited by role, every order goes to the kitchen screen by station or prints as a KOT, invoices are numbered in sequence, and the cash register closes with a count and a worked-out variance; see cash register, invoices and reports. Recipes deduct ingredients on each sale and waste is recorded with a reason. Software still needs people to count, weigh deliveries and read the reports. If you are weighing up the move from paper, see manual system vs software.
The bottom line
Restaurant leaks rarely announce themselves. They show up as a slightly short drawer, a food cost that drifts upward and a monthly count nobody can explain. Find the symptom in the table above, fix the cause with one clear rule, and check it in a short close every night. Start with the KOT rule and the expected-cash count: together they close the largest gaps most restaurants have.
Questions people ask
Why does my restaurant's cash never match the sales?
Usually because refunds, payouts for supplies, or payment modes are not recorded properly. Work out the expected cash (float + cash sales − cash refunds − payouts), then count. If a UPI or card payment was entered as cash, or the other way round, the cash will be off even though the total is right.
How do I stop staff serving items that are not billed?
Make a ticket the only way food leaves the kitchen: no KOT or kitchen ticket, no cooking. Keep table bills open until the guest asks to pay, and add later items to the same bill rather than handing them over informally.
Why do we keep running out of ingredients during service?
Ordering by habit instead of by usage, no par levels, or a stock record that has drifted from reality because waste and staff meals are not recorded. Set par levels for key items and do a quick pre-service check of anything below par.
How can I tell whether stock loss is waste or theft?
Log waste with a reason as it happens, then compare actual usage with what recipes say you should have used. If the gap remains after logged waste, weigh portions during service. If portions are right, look at receiving and store access.
Is it normal to have some stock variance?
Some difference between counted and expected stock is normal in any kitchen, because portions are made by hand. What matters is that you know its size, track it each week, and act when it grows.


