Tables
Menu
Leave stock qty blank for unlimited stock. When a tracked dish's stock reaches 0 it's automatically marked out of stock and hidden from the order screen.
| Photo | Dish | Category | Price | Stock qty | Status |
|---|
Settings
Business profile
Replaces "Table Ticket" branding on printed receipts, the sidebar, and WhatsApp bills with this cafe's own name and logo.
Optional — set both to let the Audit page flag sales and logins that happen outside your normal hours. Leave blank to skip that check.
Bill settings
Controls the language of printed receipts and bills shared on WhatsApp. The rest of the app stays in English.
FBR Digital Invoicing
Reports every closed bill to FBR in real time and prints their official invoice number + QR code on the receipt, as required for sales-tax-registered businesses (SRO 709(I)/2025).
This needs a security token from e.fbr.gov.pk (IRIS) and, for safety, a small server-side relay — see the setup guide provided with this update. Leave this off until that's ready; nothing here affects billing if it's off or if a submission fails.
The FBR token itself is never entered here — it's stored as a secret on that relay, not in this app. See the setup guide for the ready-made relay code.
Default item tax details
Applied to every item on every bill. Confirm the correct HS Code, sale type and rate with FBR or your tax advisor — a wrong HS Code causes the invoice to be rejected. (Per-dish overrides aren't in this version; ask if you need different HS Codes for different menu items.)
Cloud sync (live, multi-device)
Off — this device's data stays local only.
Not signed in on this device.
Connected devices
Each device/browser that signs in & connects uses one slot. A device frees its slot automatically after 30 days of no use, or the Owner can remove one below.
| Device | Status | Last seen | |
|---|---|---|---|
| Sign in & connect above to see connected devices. | |||
Invite someone to this cloud account
Owners and managers can invite people so each one gets their own login instead of sharing yours. This creates the invite only; Table Ticket doesn't email them, so tell them yourself to use Join with an invite below.
| Role | Status | Sent | |
|---|---|---|---|
| Sign in & connect above to see invites. | |||
Join with an invite
For people who were invited. Enter the restaurant's sync ID, the email the invite was sent to, and choose your own password. Use this on a device that isn't connected yet.
License
Automatic backup
A backup is also made whenever a shift is closed. Automatic backups leave out PINs and passwords; restoring one keeps the current logins. Backups stored inside the app protect against mistakes, but not a lost or wiped computer — use a download or folder copy for that (a folder on a USB drive or synced to Google Drive / OneDrive works well).
Staff & Expenses
Staff
| Name | Designation | Pay |
|---|
Total staff
0
Attendance
| Name | Designation | Status | Check-in | Check-out |
|---|
Mark each staff member Present, Half day or Absent for the selected date. Check-in/out times are optional. This feeds the salary calculator below.
Monthly salary calculator
| Name | Designation | Pay basis | Present | Half day | Absent | Salary due |
|---|
Total payroll (selected month)
0
Monthly-salary staff are paid (monthly salary ÷ days in month) for each present day, half that for half days, and nothing for absent/unmarked days. Daily-wage staff are paid the daily wage per present day.
Raw materials (daily purchases)
| Date & time | Type | Description | Amount |
|---|
Today
0
This month
0
All-time
0
By type (this month)
| Type | Amount |
|---|
Other expenses
| Date & time | Category | Description | Amount |
|---|
This month's expenses
0
All-time expenses
0
Sales report
Today
0
This week
0
This month
0
Dine-in sales (today)
0
Online sales (today)
0
Business summary (this month)
Sales
0
Expenses + materials
0
Staff salaries
0
Net profit
0
Best-seller / dead-stock report
| # | Dish | Category | Qty sold | Revenue | Status |
|---|
Ranked by quantity sold in the chosen period — the dishes at the bottom (including anything with zero sales) are your dead stock: candidates to drop from the menu or push harder.
Waiter-wise performance
| Waiter | Bills | Items sold | Total sales | Avg bill |
|---|
Based on dine-in bills only, grouped by the waiter recorded when the table was opened. Bills with no waiter set are grouped under "Unassigned".
Peak hours & profit insights
Busiest hours of the day
Based on when each bill was closed. The orange bar is your busiest hour.
Busiest days of the week
Profit per dish
| Dish | Qty | Sales | Cost | Profit | Margin | Verdict |
|---|
Sales by table (dine-in only)
| Table | Bills | Total sales |
|---|
Recent bills (dine-in + online)
| Date & time | Table / Customer | Channel | Items | Total |
|---|
Mess
Total persons in mess
0
Active members
0
Security deposits held
0
Bill paid (all)
0
Bill pending (all)
0
Add mess member
| Person | Start date | End date | Security deposit | Monthly bill | Bill paid | Last payment | Bill pending | Status |
|---|
Credit Customers
Regulars you extend credit (udhaar) to. Bill a table with "Credit" as the payment method to add to a customer's balance, then record their payments here as they pay it off.
Customers
0
Total credit given
0
Total collected
0
Outstanding balance
0
Add customer
| Name | Phone | Credit limit | Credit given | Paid | Balance due | Last activity |
|---|
Kitchen (KOT)
Live tickets for every occupied table and every pending/preparing online order. Refreshes automatically.
Online Orders
Pending
0
In progress
0
Delivered today
0
Revenue today
0
New online order
Orders
| Placed | Customer | Address | Delivery # | Platform | Items | Total | Paid | Status |
|---|
Audit
A CA-style pass over your own records: reconciliation, discount patterns, cash vs. digital, expense flags, cleared-without-billing orders, and food cost ratio. Everything below is computed live from your data — nothing is sent anywhere.
Bill math integrity
| Date & time | Table | Recorded total | Expected total | Difference |
|---|
Discount review
| Date & time | Table | Billed by | Discount | % | Approval needed |
|---|
Cleared without billing
Orders that were opened, had items added, then cleared instead of billed — a common way revenue quietly disappears.
| When | Table | Cleared by | Items | Est. value |
|---|
Voids & refunds
| When | Table / channel | Voided by | Reason | Value |
|---|
Cash vs. digital
| Payment method | Bills | Total | Share |
|---|
Food cost ratio
Raw material purchases as a share of sales revenue for the selected period. Restaurants typically run 28–35%; far outside that range is worth a closer look (theft, waste, portioning, or under-recorded purchases).
Customer credit aging
Outstanding customer balances, most stale first. A balance sitting untouched for weeks is worth a follow-up call.
| Customer | Phone | Balance due | Last activity | Days since |
|---|
Credit sales placed
Every bill put on credit (udhaar) this period, newest first — a log of who billed what to whom, separate from the outstanding balances above.
| When | Table | Customer | Amount | Billed by |
|---|
Shift cash variances
Shifts closed in this period where counted cash didn't match what the app expected in the drawer.
| Opened | Closed | Opened by | Closed by | Expected | Counted | Variance |
|---|
Login security
Wrong-PIN attempts and lockouts on this device — a spike can mean someone's trying to guess their way in.
| When | Event |
|---|
Table moves, merges & splits
Worth a glance if the same person does this often — it's a way bills can get combined or shuffled around before closing.
| When | Type | From table | To table | By |
|---|
Menu price changes
Every price edit made in this period, largest change first.
| When | Dish | Old price | New price | Change | By |
|---|
Items removed from open orders
Items added to a table's order, then removed before billing — not proof of anything, but a subtler way value can quietly disappear than a full clear.
| When | Table | Item | Qty | Value | Removed by |
|---|
After-hours activity
Sales and logins that happened outside your set business hours.
| When | Type | Detail | By |
|---|
Expense flags
Unusually large amounts, suspiciously round numbers, and possible duplicate entries — not proof of anything wrong, just worth a second look.
| Date | Category | Description | Amount | Flag |
|---|
Shift closing
Open a shift with the cash you start with, and close it at the end by counting the drawer. The app works out what should be there from cash sales and cash expenses in between, so a shortfall shows up right away.
Past shifts
| Opened | Closed | Opened by | Opening cash | Cash sales | Credit collected | Mess payments | Cash out | Expected | Counted | Variance |
|---|
Online payment accounts
Add the accounts customers can pay into — Easypaisa, JazzCash, NayaPay, SadaPay, or a bank account. These are just saved here for you to share with customers; the app doesn't send or receive money.
| Type | Account title | Number / IBAN | QR |
|---|
Get the QR from your bank's, Easypaisa's, or JazzCash's own app (usually under "My QR" / "Merchant QR") and upload it here — this app doesn't generate a working payment QR itself.
Access Manage
Roles & permissions
People
| Name | Role | Status |
|---|
Each person logs in with their own PIN / password. Two people can't share one. PINs are stored scrambled (salted hash), so nobody — including the Owner — can read them back; a forgotten PIN can only be reset. Disabled people keep their record but can't log in. This keeps honest staff to their own screens; it is not protection against someone who can open the browser's developer tools.
Passwords
Danger zone
Reset sales data
Erases sales history, online orders and the audit log, and clears every open table. Menu, staff, expenses, mess members and people/PINs are kept.
Reset everything to zero
Also erases staff, attendance records, expenses and purchases, raw materials and mess members. Menu, tax settings, roles and people/PINs are kept so nobody gets locked out.
Both ask you to type RESET and re-enter your own PIN. This can't be undone — use Backup (export) first if unsure.
Login activity
Who is signed in right now and when each person logged in. The Owner always sees this and can allow it for any role under Access → Roles & permissions.
Logged in now
| Person | Role | Logged in at | Online for | Device |
|---|
Login history
| Person | Role | Logged in | Logged out | Duration | Device |
|---|
Times come from each device's own clock. If someone closes the app without logging out they show as offline after about 3 minutes and the entry says "Left without logging out". The last 200 logins are kept.
Table
0 items
View cart · Rs. 0