Knowing where you stand
Reports
Menu: Reporting → Reports · Who: owner, branch manager
A cashier cannot open this page. A branch manager always sees their own branch, whatever they ask for.
Using the page

- The sidebar — while you are on this page the menu on the left becomes the list of reports your company can run, filed under Sales, Money, Stock and Food cost. The report itself then gets the whole width of the screen.
- Main menu — the button at the top of the sidebar puts the ordinary menu back. Press Reports in the same place to return to the report list.
- Top — branch (owners can pick "All branches"), From / To, and the quick buttons Today, Last 7 days, This month.
- Excel and PDF hand you the file.
On a narrow screen there is no sidebar, so the report is picked from a Report dropdown at the start of the filter bar instead.
Dates are business days, not calendar days: a 2am sale is reported on the day it was actually sold.
The exports are generated on the server from the very same figures the screen read, so a download can never disagree with what you were looking at.
The reports
The list is filed under headings, and a report your business type or your plan does not earn is refused by the server, not merely hidden — a pure retailer has no PCA, a pure restaurant has no margin report.
Sales
| Report | What it answers |
|---|---|
| Sales summary | Orders, gross, discount, net, tax, total and average order, per business day |
| Orders | Every completed order — number, time, type, cashier, totals, FOC flag |
| Sales by category | Where the money came from |
| Sales by hour | Your trading curve — which hours are worth staffing |
| Sales by terminal | Which till took what |
| Order segments | Phone work against counter work: source × order type. The only way to tell whether a new call desk is earning its keep |
| Price overrides | What was sold at a typed price, against what it should have been, by whom — see Price at the counter |
| Channel sales | Foodpanda and the rest against your own counter, on one page. Orders with no channel are the Counter row |
Money
| Report | What it answers |
|---|---|
| Tax report | One row per authority + tax + rate, with tax split cash vs card, and the invoice list underneath. This is what a filing is made from |
| Payment methods | Cash / card / wallet / credit, count and amount |
| Discounts & FOC | What was given away, by reason, with the approver named. FOC counted separately |
| Promotions | What each campaign and code did |
| Channel settlements | What each platform owes you, what it paid, and the difference |
Food cost (restaurant)
| Report | What it answers |
|---|---|
| PCA | Per dish: quantity, net sales, theoretical cost, contribution and food cost % |
| Daily PCA | Per outlet per business day, with a city roll-up |
| Item consumption | Per stock-room category, and the items under it |
| Consumption comparison | Per item, against the branch's own counted closing |
| Consumption variance | Should-have-used vs actually-used, per ingredient. The gap is waste, theft or a wrong recipe |
| Margin (retail) | Net sales against the actual cost the sale took off the shelf |
A dish with no recipe is not costed at zero and buried — its sales are reported separately, because a percentage quietly reading low is worse than one that explains itself.
Customers (call centre)
| Report | What it answers |
|---|---|
| Customer list | Who they are, what they have spent, their stars |
| Dormant customers | Who has stopped ordering — the list worth ringing |
| Customers by city | Grouped on the customer's own city, not the branch's |
| Customer orders | One customer's history |
| Frequent customers | Who is worth keeping |
| Customer discounts | Who has a standing discount, at what, and who gave it |
| Complaints | By category, by branch, and what was done about them |
| Call centre agents | What each agent took |
These name people, so none of them is ever offered to the AI assistant.
Staff (staff meals)
| Report | What it answers |
|---|---|
| Staff meals | Per employee per month: allowed, used, what is left — see Employees and staff meals |
| Staff meals daily | The same, day by day |
Read by HR, the owner, and anybody the owner grants it to. Never offered to the AI assistant — salary and what the canteen costs are out of its reach entirely.
Delivery (call centre)
| Report | What it answers |
|---|---|
| Delivery performance | On time, late, failed, and the average minutes against the promise |
| Rider performance | What each rider carried, and their cash variance |
| Failed deliveries | Every one, with its reason. Names the customer, so it is never offered to the AI |
Stock
| Report | What it answers |
|---|---|
| Stock valuation | On-hand quantity × that branch's own average cost |
| Purchases | Supplier documents, goods, freight, and the input tax you can claim |
| Wastage & write-offs | Adjustments by reason, at cost |
Which way is the bad way
Some columns say so. Variance means over is bad, so a positive figure reads red. Shortfall means short is bad, so a negative figure reads red — a count variance is counted − expected, the shelf's own convention, so a missing kilo is a negative number.
A table past eight columns pins its first column, so the row keeps its name while the figures scroll.
Reading the two that matter most
PCA. Food cost % is theoretical cost ÷ net sales. Anything over about 40% deserves a look: either the recipe is wrong, the portion is too big, or the price is too low. The contribution column is what the dish actually leaves you after ingredients.
Consumption variance. If the kitchen should have used 12 kg of chicken and actually used 15 kg, that 3 kg is the number to chase. Wastage entries explain part of it; the rest is portioning or shrinkage.
Reading a whole city
A chain with three shops in Lahore reads its takings by city as often as by shop. The City filter beside Branch adds those shops up — the report says "Lahore · 3 branches" so there is no doubt what was counted.
Branch wins when both are set: naming one shop answers for that shop. A branch-bound manager is pinned to their own branch, and the city they ask for is ignored exactly as the branch id is.
Stock on hand carries the same filter: pick a city and the quantities add up across its branches, valued at what those branches actually paid.