Choose a report below. Once inside a report, open the O2 toggle (top-left) to set Firm / Brand / Zone / date filters — your selection carries across reports.
Pick a restaurant to begin
Use the filters above. The quadrant plots every menu item by units sold and average rating.
Dashed lines mark the median units sold and median rating for this selection. X-axis is log-scaled so low-volume items stay readable. Only items with at least one rating appear here.
All rated items
Click a column to sort. Click an item name to see its rating timeline.
Item
Units
Avg rating
Ratings
Quadrant
Item rating timeline
Average rating over time. Defaults to the blended trend across all items; pick an item to isolate it. Points are labelled with the rating value.
Sold but unrated
Item
Units
Complaints
Orders & complaints over time
Daily orders (left axis) and complaints (right axis) for the current selection.
Complaints by category
Breakdown of complaint types in this selection.
Items by complaints
Which items draw the most complaints. Rate = complaints ÷ units sold.
Item
Complaints
Orders
Restaurants
Units sold
Rate
Customers
Contact numbers ranked by order volume. Click a number to see its order timeline and the items ordered.
Contacts
Contact number
Orders
Items
Complaints
Restaurants
Order timeline
Every order this customer placed, most recent first — with the items in each order.
Date
Order ID
Restaurant
Items
Qty
Rating
Complaints
Items ordered (totals)
Across all of this customer's orders.
Item
Qty
Orders
Rating
Complaints
Finance
Bill, commission & net receivable over time
Daily settlement totals for the current selection (bill & net on the left axis, commission on the right).
By settlement status
Settlement transactions
Most recent first (up to 500).
Date
Txn ID
Type
Restaurant
Bill
Comm %
Commission
Tax
Net
Status
Settled
Swiggy
Orders & items sold over time
Daily Swiggy order count and units sold for the current selection (orders on the left axis, units on the right).
Top items
By units sold (up to 300).
Item
Units
Orders
Unmapped Swiggy restaurants
These Swiggy outlets aren't linked to a RID-sheet restaurant yet, so their data is excluded above. Set their Swiggy ID in Data update → Restaurant data to connect them.
Swiggy ID
Name
Orders
Zomato Orders
Orders & revenue over time
Daily order count and GMV (Total) for the current selection (orders on the left axis, ₹ revenue on the right).
Orders by hour of day
When orders come in (0–23h), with revenue per hour.
By order status
Top restaurants
By revenue (up to 200).
Restaurant
Orders
Units
Revenue
Avg rating
User management
Add users and control which firms and restaurants each one can see (access = the union of both).
Add user
Firms
Restaurants
Reports
Users
Username
Role
Firms
Restaurants
Reports
Status
Actions
Edit access —
Firms
Restaurants
Reports
Data update
Edit brand / firm / zone / city / state / link for any restaurant. Rows still labelled “RID …” have no metadata yet — fix those first (use the Zomato link to identify them). Firm controls who can see a restaurant's data.
Bulk fill from CSV
RID-sheet format (Restaurant ID, Brand-Location, Brand, Firm, Zone, City, State, Zomato Link). Only missing fields are filled and new RIDs added — existing data is never overwritten and RIDs are never duplicated.
RID
Rows
Name (brand-loc)
Brand
Firm
Zone
City
State
Zomato link
Swiggy ID
Upload one or more CSVs in the item-level format below (you can select multiple files at once). Exact duplicate rows are removed before the data is added to the dashboard, and each file is logged separately.
Expected columns
Header row must include these names (order doesn't matter; extra columns are ignored):
Order ID, Customer ID, Restaurant ID, Order Placed At, Item Name, Item Quantity, Rating, Distance, Customer Cont.No, Customer complaint tag
Upload CSV
Order ID
Restaurant ID
Date
Item
Qty
Rating
Complaint
Applied uploads (this browser)
None yet.
Upload one or more settlements CSVs (the pipeline's finance_transactions.csv, or a Zomato "Transactions summary" exported to CSV) — you can select multiple at once. Rows with a duplicate Transaction ID are skipped. Firm / brand / slicers are pulled from the RID sheet via Res ID.
Expected columns
Header must include at least these (aliases accepted):
Transaction ID, Res ID, Date and time, Transaction Type, Bill Amount, Commission %, Commission Amount, Tax on commission, Net receivable, Settlement status, Settlement date, UTR
Upload CSV
Upload raw Swiggy "Order History" / past-orders CSV exports — one file per restaurant, and you can select many at once. The Restaurant Id is read from each file's header block; each order's item columns are exploded into one row per item. Duplicate orders (same Order ID & item position) are skipped. The outlet is linked to a RID-sheet restaurant via its Swiggy ID — set that in the Restaurant data tab so the data shows in the Swiggy report.
Expected format
A standard Swiggy order report: a metadata block (Restaurant Name, Restaurant Id, Duration…) followed by the Order ID, header row and one row per order, with item columns of the form name_reward_quantity_price+variants+addons.
Upload CSV
Upload raw Zomato order_history_*.csv exports (one row per order) — select one or more at once. Restaurant ID is the Zomato rid and links to the RID sheet automatically; any new outlet is added to the RID sheet (set its Firm afterwards). Duplicate Order IDs are skipped. Large files are uploaded in chunks.
Expected columns
Header must include (others ignored):
Restaurant ID, Restaurant name, Subzone, City, Order ID, Order Placed At, Order Status, Distance, Items in order, Bill subtotal, Total, Rating, Customer complaint tag, …
Upload CSV
Refresh log
Every data push to the live dataset — item, restaurant, settlement & Swiggy uploads — across all users, newest first.