Blog · Day close

What a restaurant's day-end report must show — eight lines, every night.

How much was sold, how payments were recorded, how many bills were issued, what was discounted or refunded, what is in the drawer and which orders stayed open. Sales and cash collected are not the same number: reconcile the report and the drawer separately.

Start free — ₹0 todayDemo on WhatsApp
Why daily

A monthly report arrives after the money has already moved.

A monthly P&L tells you the restaurant made less than it should have. A day-end report tells you which night, and on that night the memory is still fresh: who was on the till, which table argued about the bill, why there were four voids. Leaks in a small restaurant are small and daily (a discount here, a parcel not billed there) and they are invisible at month scale and obvious at day scale.

It also has to be quick. If the close takes half an hour, it gets skipped on the busy nights, which are the nights that matter. The eight lines below fit on one screen, and the EasyKOT Desktop App produces most of them by itself.

Eight lines

Check these eight lines first.

#LineWhat it tells youWhere EasyKOT shows it
1Bill sales, and collections by tender: cash, UPI, cardBill sales follow the bill's trading date. Cash, UPI and Card follow the trading day each payment was captured, so they can differ when a check is paid and closed on different days. The cash figure should match the drawer, and UPI should match your bank app in the morning.Dashboard → Reports (payment mix), and the morning email (cash, UPI, card, total)
2Bills issued: count and the invoice numbers they span, per Desktop AppA gap in the series is either a walkout that never got a bill or a bill that was pulled. Either way you want to know tonight, not at GST filing.Desktop App → Orders → Day close: "Bills issued today", with a gap warning
3Discounts: total, and who applied eachIf discounts are repeatedly high, check the reasons and approvals first. An offer, a wrong entry or a training gap can all explain the pattern.Dashboard → Reports (the day's total); the PIN that applied it is on the ledger, not on a screen yet
4Voids of fired food: with the reason and who removed itCooked food written off is real cost. Three "wrong item rung" on one shift is a training problem; three "kitchen cannot make it" on one dish is a stock problem.Reason on the check; who removed it on the ledger; day-close write-offs in Reports
5Refunds and reprintsMoney going back out, and copies of bills: the two documents a fraud needs. Low and explained is fine; unexplained is not.Refunds in Reports; reprints stamped DUPLICATE and recorded on the ledger
6Cash: expected vs countedOpening float + cash sales − paid-outs = expected. The count is done first, blind. The difference is the line you actually care about.Phone cash box: float, paid-outs, count, variance
7Open and auto-closed checks: the loose ends from serviceAt the cutoff, eligible synced bills join sales as Paid · Auto closed without adding cash, a payment or a loss. Actual collections remain separate, so you can still see what needs a real decision.Dashboard → Orders or Day close; the offline Desktop App Day close still handles the leftovers on its side
8Top dishes and dead dishesNot a control, a decision: what to prep more of tomorrow, what to take off the menu at the end of the month.Reports → Menu performance, grouped by Item, Category or Variant
In the Desktop App

Review Orders → Day close in the Desktop App.

In the Desktop App the close lives on the Orders screen. It lists the checks left over from a service that already finished, the empty ones (a stray tap: discard them in one press) apart from the ones with food on them, and the bills issued today per Desktop App with their first and last number. If a number is missing from the series, it says so, in the strongest voice on the screen. Tonight's open tables are deliberately not on it; they are still tonight's.

Orders → Close them out. Last night's leftovers to decide, and the question asked before anything is written. The clip stops before an answer is picked; sample store, sample amounts.

A check with food on it and no payment recorded gets one question: did the money come in? Add the payment, keep it as Paid · Auto closed, or say the guest did not pay. Only that last answer writes the food off, and it takes a reason and a manager's PIN. That is deliberate friction: the write-off is on the record with a name, instead of a table quietly zeroed at 1am by whoever was closing.

If nobody runs that routine, EasyKOT still classifies eligible synced bills at the configured cutoff as Paid · Auto closed. Their bill value counts in sales, but no cash, payment or loss is invented. The owner dashboard's optional Day close reviews one business date's bills and actual collections, and can count the current cash shift. A later real payment or refund reconciles with the bill instead of being counted twice.

Raat 12:40 ka bill kal ka nahi hai. EasyKOT's trading day starts at 4am by default, and you can move it between midnight and 6am in the dashboard's Settings: reports, order numbers and the kitchen's open-ticket window all follow it. A restaurant that closes at 1am should never see its night split across two dates.

Cash

Count first, then compare.

The order matters. Count the drawer first, write the number down, then look at what the Desktop App expected. If the cashier knows the target before counting, the count will match the target: that is not dishonesty, it is how people count. Blind first, compare second, is the one habit that makes the cash line mean something.

  • Expected = opening float + cash sales − paid-outs (the vegetables bought from the drawer, the auto fare). Paid-outs need a slip and, on the phone, a manager's PIN.
  • Counted = what is physically there, denominations written down.
  • Variance = the difference. A few rupees is change; a pattern is a problem. The phone's cash box records all three for the shift.

UPI needs no physical count, but the UPI amount recorded in the report is still a payment-marking total. Match it with settled receipts in your own merchant or bank app before treating it as collected. The staff theft post is about exactly that.

Morning

The owner gets the morning summary on their phone.

The owner is often not at the shop at closing time. The dashboard sends the day's summary prepared from 08:00 store time for the previous trading date (orders, average order, cash, UPI and card, the total collected and net sales before GST) so the money lines are read over the first chai, not reconstructed on the weekend, and the four Reports families carry the rest. The guide owner reports and the daily summary shows the email and the Reports screens; the day close guide is the button-by-button version of the close above.

None of this needs the internet at the shop. The Desktop App closes the day on its own database. Summary preparation starts from 08:00 independently of the automatic-close cutoff and uses what has synced by then. An open business window is marked provisional, and later offline facts catch up in Reports. Three months free, no card, if you want to see your own eight lines tomorrow morning.

Day-close questions

Straight answers.

Day end report kya hota hai?
The one-page summary of a service: total sales, split by cash, UPI and card; the number of bills issued and the invoice numbers they span; discounts and voids with who authorised them; refunds; what should be in the drawer versus what was counted; and any check left open. Older registers call it a Z-report. In EasyKOT the Desktop App's day close covers the open checks and the bill series on that Desktop App; the dashboard's Reports page carries net sales, discounts, refunds, write-offs and the payment mix, and the morning email brings the day's totals and tender split to your phone.
What time does the day end for a restaurant that closes at 1am?
Whenever you set it. A restaurant's trading day is not midnight: a 12:40am bill belongs to tonight, not tomorrow. EasyKOT's day starts at 4am by default and the owner can move it between midnight and 6am in Settings, so reports, order numbers and the kitchen's open-ticket window all agree on which night a sale belongs to.
Why should the cash count be blind?
If the person counting knows the Desktop App says ₹18,450, the count comes out ₹18,450. Counting first and comparing second is the only way a shortfall shows up as a number instead of as a rounding. It also protects an honest cashier: a count that matched without knowing the target is proof, and it costs nothing.
Do I need to be at the shop to read it?
No. The owner dashboard sends a daily summary by email each morning (orders, average order, cash, UPI, card, total collected and net sales) and the Reports section shows net sales, discounts, refunds, write-offs and the payment mix for any range, with the menu report ranking what sold. The Desktop App keeps working offline and the numbers catch up when it reconnects.
Does the report show who gave a discount or voided a bill?
Partly, today. The Reports page shows the day's discount and refund totals, and a voided dish's reason is on the check in the Desktop App's Orders screen. Who applied a discount, who approved a void and who asked for a reprint are recorded on the order ledger against their PIN but are not shown on a screen yet: that is the next thing to surface, and the whole point of PINs is that those names will mean something.
What if a table was left open at night?
At the day's cutoff a check left over from the finished service, with nothing done on it since, closes as Paid · Auto closed: its bill counts in sales, no payment is recorded, and its table shows free on the Desktop App floor and the captain's Running tab. A table still being served across the cutoff stays seated. The next day close lists the leftovers: an empty check (a stray tap, nothing rung) is discarded with one press. For a check with food on it the sheet asks 'Did the money for these checks come in?' and offers three answers. 'Yes, add the payment' records Cash, UPI or Card as a real payment and moves the sale to today. 'Yes, but skip the details' leaves it as Paid · Auto closed and stops asking, and you can still settle it later from the Earlier tab. 'No, the guest did not pay' writes the food off with a reason and a manager's PIN, so the write-off is on record rather than silently zeroed.
3 months free · ₹0 today · no card

Run it 3 months, then pay for it.

Three months free, full product, no card. Made in India, for the counter: built inside a running restaurant.