Reports
The Reports tab is where you go when you want to know how the business actually did. It pulls together every till, terminal, and iPad into one view — by day, week, month, or a custom range you choose — and answers the questions every operator asks at the end of a shift:
- How much did we take?
- What did people buy?
- Who took it — card or cash?
- Who gave away discounts and why?
- Did the cash drawer balance?
- How many no-shows did we get?
- Who was the best server?
- How does this site compare to our other locations?
Every report lets you export (PDF, Excel, or CSV) for your accountant, or schedule it to land in your inbox every morning, week, or month.
The layout
When you open Reports you always see the same three things stacked at the top:
- Tabs along the top — Overview, Sales, Payments, Discounts & Voids, Checks, Taxes & Fees, Reservations, Staff, Z Reports, Multi-Location
- The date range controls — the period every number on screen is calculated from
- Schedule and Export buttons on the right (on every tab except Overview)
Everything below updates instantly when you change the date or switch tabs.
All reports are scoped to a single location unless you’re looking at Multi-Location. Switch location at the top of the dashboard — the numbers re-fetch automatically.
Date range
The date picker decides what every number on the page is calculated from.
Four quick presets sit directly on the bar:
- Today
- Yesterday
- Last 7 Days
- Last 30 Days
Click the Date button next to them to open a small popover with three more presets plus a custom-range picker:
- This Month
- Last Month
- Custom — two side-by-side calendars, pick a From and To date, then tap Apply. You can’t set a From after To, and neither can be in the future.
Once you’ve picked a range, every KPI card shows a small % change vs last period badge — green if up, red if down. That “last period” is always the same length as the one you chose (so Last 7 Days compares to the 7 days before that, This Month compares to last month, etc.).
Switching tabs keeps your date range selection. Pick Last 30 Days once and you’ll see 30 days of Sales, Payments, Taxes — everything.
Overview — your home base
The Overview tab is the first thing you land on. It has two jobs: it’s a shortcut menu to every other report, and it’s where you manage your scheduled email deliveries.
The report tiles
A grid of cards, one per report type, each with:
- A coloured icon and title (Sales Report, Payments Report, etc.)
- A one-line description of what’s inside
- View — opens that report
- Export (download icon) — export this report for the current date range
- Schedule (clock icon) — set up automatic email delivery
Click anywhere on a tile to dive into that report’s full tab.
Scheduled reports list
If you’ve set up any scheduled reports (see Schedule a report below), they appear underneath the tiles as cards showing:
- Which report
- How often it sends (daily / weekly / monthly)
- The format (PDF / Excel / CSV)
- The recipients
Hover over a schedule and a trash icon appears — click it to stop that delivery.
Sales
The one you’ll open first thing in the morning. Everything about revenue in one place.
The headline numbers
The top of the tab is two rows of cards, each showing the figure for your selected date range and how it compares to the previous period.
Primary KPIs (top row):
| Card | What it tells you |
|---|---|
| Gross Sales | Total revenue before any refunds or discounts |
| Net Sales | After discounts and refunds — the “real” take |
| Covers | How many guests you served |
| Revenue / Cover | Average spend per guest |
Secondary KPIs (second row):
| Card | What it tells you |
|---|---|
| Discounts Applied | Total value given away in discounts |
| Refunds | Total refunded back to guests |
| Tips Collected | Tips collected across all orders |
| Service Charge | Service charges applied (e.g. 10%) |
Revenue by channel
Underneath, a table breaks revenue down by where it came from:
- Dine-in — sit-down table orders
- Takeaway — counter/takeaway
- Delivery
- Online Orders
Each row shows the revenue amount, what percent of total it represents, order count, and average check per channel.
Hourly sales
A bar chart of sales by hour of day (00:00–23:00). Bars are colour-coded so you can see at a glance when you’re busy and when you’re quiet:
- Green — peak hours (80%+ of your busiest hour)
- Blue — good (50–80%)
- Amber — moderate (30–50%)
- Grey — slow (under 30%)
Hover any bar for the exact amount. Underneath, the same data is repeated as a table so you can see sales, orders, average check, and share of the day hour by hour.
Sales by category
Which parts of the menu sold best. One row per menu category (Starters, Mains, Drinks, etc.) with net sales and quantity.
Sales by server
Who was the top revenue earner today. Each server’s name with their total sales and average check — the top performer wears a small Top badge.
Payments
Everything about how guests paid — card, cash, tips, fees, and whether the cash drawer balanced.
The headline numbers
Primary KPIs (top row):
- Total Payments — grand total taken, with a subtitle showing the card / cash split
- Card Payments — total on cards, plus card’s share of the total
- Tips Collected — total tips, with % change vs last period
- Processing Fees — what your card provider charged you, with the card-amount subtitle
Secondary KPIs (second row):
- Cash Payments — total on cash, plus cash’s share of the total
- Refunds — value + number of refunds
- Transactions — total number of payments, with % change vs last period
Payment method breakdown
One row per payment method, showing amount, transaction count, percentage of total, and a horizontal bar so you can compare at a glance.
Cash breakdown
If any cash changed hands, a card shows:
- Cash Transactions — how many
- Cash Received — total handed over
- Change Given — total change returned
- Net Cash Retained — what stayed in the drawer
Cash drawer reconciliation
If a manager has closed the register for the day, this card shows whether the drawer balanced:
- Opening Float — what was in there when you opened
- + Cash Sales — money in from sales
- + Cash In — payouts/top-ups during the day
- − Cash Out — money taken out during the day
- − Cash Refunds — refunded in cash
- = Expected Cash — what should be there
- Actual Counted — what was actually in the drawer
- Variance — the difference, coloured green if over/on the money, red if short
Discounts & Voids
How much you’re giving away, how often, and what for.
The headline numbers
Primary KPIs (top row):
- Total Discounts — the cash value given away in discounts
- Discount Count — how many times a discount was applied
- Total Voids — value voided (items removed after being ordered)
- Void Count — how many individual items were voided
Secondary KPI:
- Avg Discount per Item — typical discount size. Lower is better, so green means it’s gone down vs last period
Discounts by type
If you use Discount Presets (e.g. Staff Discount, Loyalty 10%, Manager Comp), each type is listed with:
- Total amount given
- How many times it was used
- Its share of all discounts
That’s the view you’ll want when you notice discounts are creeping up — it tells you which preset is driving it.
Checks
The most detailed report — one row per individual check, with filters and a drill-down panel. This is where you go to answer “what happened on that specific table last night?”.
The headline numbers
- Completed Checks — checks that were paid and closed
- Average Check — average value of a completed check
- Open Checks — checks currently still open, with the total outstanding underneath
- Total Revenue — total from completed checks
Check status breakdown
A small grid showing how many checks are Completed, Paid, Pending, Cancelled, etc. — each with a count and percentage.
Server performance
One row per server with checks, guests, average check, average table duration, and tips.
Filters
Just above the list sits a filter bar. Every filter is optional — stack them to narrow down:
- Server — just one team member’s checks
- Status — Completed / Paid / Open / Cancelled
- Payment — Card only, Cash only, etc.
- Dining Option — Dine-in / Takeaway / Delivery
- Discounted — toggle on to show only checks with discounts
- Has Voids — toggle on to show only checks with voided items
The checks table
Every check that matches your filters, one per row:
| Column | What it shows |
|---|---|
| Check # | Click to open the full detail panel |
| Time | When the check closed |
| Table | Table number, or — for takeaway/delivery |
| Server | Who opened it |
| Guests | Party size |
| Channel | Dine-in, Takeaway, Delivery, Online Orders — shown as a coloured badge |
| Subtotal | Before discounts, tax, service |
| Discount | Red if any applied, — if none |
| Service | Service charge amount, or — if none |
| Tax | Tax charged |
| Net Total | The final total (bold) |
| Tip | Green if there was a tip |
| Tip % | Tip as a percentage |
| Payment | Card / Cash |
| Duration | How long the table was open |
| Voids | Red count if any items were voided, else 0 |
| Status | Completed / Open / Cancelled badge |
Check detail panel
Click a row and a modal opens with the full picture:
- Summary — server, table, guests, time, duration, channel
- Items table — every item ordered, its modifiers, quantity, and price
- Totals — subtotal, discount, service charge, tax, total, tip, grand total, payment method
Great for “this guest disputed a charge — what did they actually order?”.
Taxes & Fees
VAT and service charges for the accountant.
The headline numbers
Primary KPIs (top row):
- VAT Collected — total tax collected (with “20% standard rate” subtitle)
- Service Charge — service charges applied (with “12.5% optional” subtitle)
- Net Sales — your taxable base (before VAT)
- Gross Sales — your total take including VAT
Secondary KPIs (second row):
- Order Count — total orders in the range
- Avg Tax per Order — average VAT per transaction
VAT by rate
If you run multiple VAT rates (Standard 20%, Reduced, Zero), each rate gets its own row showing:
- Net amount — the taxable base at that rate
- VAT amount — the tax actually collected
- Gross — net + VAT
Exactly the three-column breakdown your accountant needs at VAT return time. Rates without any data for the period are hidden from the list.
Service Charge summary
A small card that surfaces the total service charge collected across all orders — useful when a service charge is optional or varies by channel.
Tax summary table
At the bottom, a compact summary table recaps the headline figures with their % change vs last period — a one-glance view you can paste straight into a board email.
Exports from this tab (see Export below) are designed to drop straight into an accountant’s spreadsheet.
Reservations
How the front-of-house is performing.
The headline numbers
Six cards across the top:
- Total Reservations — bookings in range
- Total Covers — guests from reservations
- Cancellations — count, plus cancellation rate as a subtitle
- No-Shows — count, plus no-show rate as a subtitle
- No-Show Rate — the rate on its own card, with the absolute count underneath
- Avg Party Size — guests per booking
Reservation status breakdown
A compact grid that shows how every booking in the period ended up — Confirmed, Seated, Completed, Cancelled, No-Show, and so on. Each status gets:
- A coloured dot matching the Reservations page colour code
- Count and % of all bookings, with a progress bar
Below the grid, a short summary line calls out the Cancellation Rate and No-Show Rate as percentages so you don’t have to calculate them in your head.
Booking sources
Where your reservations actually come from, as one row per source:
- Phone — taken by a human
- Online — through the public booking page
- AI Assistant — taken by the AI voice assistant
- Walk-in
Each row shows bookings, covers, and % of total — so you can see at a glance whether online is pulling its weight vs phone.
Walk-ins vs reservations
Compares walk-ins against booked guests across covers, revenue, average spend, party size, and % of total. Useful for deciding whether to be stricter about requiring bookings.
Peak time slots
Which time slots (e.g. 19:00–20:00) are most in demand. Bookings and covers per slot, with percentage share.
Lead time
How far in advance your guests actually book — broken into Same day, 1–3 days, 4–7 days, 1–2 weeks, and 2+ weeks. Good for deciding how many covers to release to walk-ins vs. hold for bookings.
Guest type
New vs Returning guests, each with count, percentage, and average spend — useful for seeing whether repeat customers spend more.
Special occasions
Birthdays, anniversaries, business meals, dates — whatever your booking page captures. Count and average spend per occasion, with a themed icon per type (🎂 for birthdays, ❤️ for anniversaries, etc.). The list tells you who’s worth rolling out the red carpet for.
Deposit collection
A summary of deposits taken against bookings in the period — total collected, number of deposits, and average deposit size. If you’re using deposits to reduce no-shows, this is where you measure the impact.
AI reservations assistant
If you use the AI voice assistant, its own card shows:
- Total Calls — how many it took
- Bookings Made — how many became reservations, with a conversion % badge
- Modifications — changes it handled
- Cancellations — cancellations it processed
- Escalated to Staff — how often it handed off to a human, with an escalation %
- Avg Call Duration
Staff
Who’s selling what.
The headline numbers
- Active Staff — staff with orders in the period
- Total Sales — combined sales from all staff
- Total Orders — combined order count
- Avg Check (All Staff) — overall average
The performance table
One row per staff member with:
- Orders Opened — how many tabs they started
- Orders Closed — how many they closed out (a measure of seeing a table through)
- Total Sales
- Avg Check
- Covers — guests served
Top performers
Two ranked lists on the side:
- Top by Sales — your biggest earners
- Top by Orders Opened — your busiest servers
Each shows the top three, with a progress bar showing their size relative to the top person.
For staff numbers to be accurate, every order needs to be tied to the server who opened and closed it — i.e. staff sign in with their PIN on the iPad. If staff sessions are skipped on the iPad, those orders show up as unattributed here.
Z Reports
Your end-of-day closeout, stored permanently. One per trading day.
What you see
At the top, a summary card for the selected date range. What it shows depends on the state of the most recent day:
- Closed register — the full numbers: gross sales, net sales, cash/card split with percentages, and tips
- Open register — a gentle “Register Open” message with the time it was opened and the opening float. Full financials appear once the manager closes out on the iPad
- No report — “No Z report was opened for [date]” — either no trading happened, or the POS didn’t run a close
Stale register warning
If any register has been open for more than 24 hours, an amber banner appears at the top with a count of stale registers and a per-register list showing:
- Location name
- Report #
- Opened at (date and time)
- How long ago it was opened, in plain English (“2 days ago”, “36 hours ago”)
That’s your cue to close the register out on the iPad so a proper Z report is created.
- My Bistro, Soho: Report #0421, opened 15 Apr, 19:30 (2 days ago)
The end-of-day report card
If the selected day has a closed report, you get the full breakdown:
- Sales Summary — Gross Sales, Refunds, Net Sales
- Payment Summary — Cash Received, Card Payments, Tips, Service Charges
- Cash Reconciliation — Opening Float, Cash Sales, Cash In, Cash Out, Cash Refunds, Expected Cash, Actual Counted, Variance (colour-coded)
Z Report history
A table underneath showing every previous day’s Z report — ten columns in total:
- Date — the trading day
- Status — Closed / Open / No Report badge
- Gross Sales
- Net Sales
- Cash
- Card
- Tips
- Txns — total transaction count
- Variance — green if over, red if short,
—if there’s no close for that day - Export — a per-row dropdown so you can download just that day’s Z report (PDF / Excel / CSV)
Click any row to swap the summary card at the top of the page to that day’s report — so you can flick back through a week’s trading without leaving the page. Scan down the Variance column to spot days where the drawer didn’t balance.
You can’t open or close a register from the dashboard — that happens on the iPad at the end of the shift. The dashboard just reads and presents the results. See the POS Settings docs for the closeout workflow.
Multi-Location
Compare your locations side by side. Only visible if you’re signed in at the group account level — individual-location accounts see a locked message prompting you to switch.
The headline numbers
- Combined Revenue — total across every location
- Total Transactions — combined count
- Avg Check (All) — blended average
- Top Location — the site taking the most
Per-location cards
A grid of cards, one per location, showing:
- Revenue in range, with a % change vs last period badge
- Transaction count
- Average check
- Top seller (the menu item with the most sales)
Comparison table
Below the cards, the same data in a sortable table:
- Location name
- Revenue
- vs Previous Period (%)
- Transactions
- Average Check
- Top Item
The bottom row shows a Total / Average aggregating the whole group — handy for pasting into a weekly report.
AI Analysis
AI AnalysisOn every tab that shows figures for a single location — that’s Sales, Payments, Discounts & Voids, Checks, Taxes & Fees, Reservations, Staff and Z Reports — a small AI Analysis button sits near the top next to the Export and Schedule buttons. Tap it and the dashboard reads the report in front of you and writes a plain-English summary:
- Trends vs the previous period (“Sales are up 14% week-on-week, driven mostly by drinks”)
- Things worth flagging (“Your void rate is up sharply — check which server took most of them”)
- Headline context in one paragraph
A Regenerate button re-runs the analysis if you want a fresh take (handy after changing the date range). Summaries are cached per report × date range × location, so flicking between tabs doesn’t re-charge you.
AI Analysis only runs when there’s data in the report — so empty date ranges don’t show the button. It’s also not available on Overview (the tile dashboard) or Multi-Location (which is a comparison view, not a single-location analysis).
Export a report
Every tab (except Overview and Staff) has an Export button in the top right. Tap it to get a dropdown with three formats:
- PDF — formatted, printable, ready-to-email
- Excel —
.xlsxfor your accountant or spreadsheet - CSV — plain text for importing elsewhere
The file downloads immediately, named after the report and date range (e.g. report-sales-2026-04-01-to-2026-04-16.pdf).
Every report tile on the Overview tab has its own small download icon. Click it to export that report without having to open it first.
Schedule a report to your inbox
Rather than opening the dashboard every morning, you can have any report emailed to you automatically.
How to set one up
Tap Schedule
Either the Schedule button in the top right of the report you want, or the clock icon on the report tile on the Overview tab.
Pick a frequency
- Daily — every morning
- Weekly — every Monday
- Monthly — on the 1st of each month
Pick a format
PDF, Excel, or CSV. PDF is nicest to read; Excel / CSV plays nicely with accounting software.
Add recipients
Type one email per box. Tap Add Recipient to add more — your accountant, your partner, your area manager.
Pick a send mode
If you have more than one recipient, a Send Mode dropdown appears:
- Separately — each person gets their own email (recommended for privacy)
- CC all recipients — one email with everyone CC’d
Pick a timezone
The schedule fires in the timezone you pick — so “Daily” on Europe/London fires every morning UK time, no matter where you’re signed in from.
Tap Schedule Report
A toast confirms success and the new schedule appears on the Overview tab’s Scheduled Reports section.
Manage existing schedules
Open the Overview tab and scroll to Scheduled Reports. Each active schedule shows as a card. Hover one and a trash icon appears — click it to stop the delivery. You can set up a new one with updated recipients or frequency whenever you like.
On individual report tabs where a schedule is active, you’ll see a small blue info banner at the top of the report: “This report will send daily (Europe/London) as PDF to ops@example.com” — your reminder that it’s running automatically.
A typical setup: Sales Report daily at 8 am to the owner, Z Reports daily to the accountant, Taxes & Fees monthly to the accountant on the 1st. Whatever cadence fits your back-office rhythm.
Permissions & what you’ll see
- If no location is selected in the top of the dashboard, Export and Schedule are disabled and you’ll get a short hint asking you to pick one first.
- Multi-Location is only usable at the group account level. Single-location accounts see a padlock and a short message explaining how to switch.
- Empty tabs show a short “No data for this range” style message — usually the fix is to widen the date range or check you’re on the right location.
Quick recap — the moves you’ll do every week
- Quick morning check → Overview → Sales report tile → View
- Cash didn’t balance → Payments → Cash drawer reconciliation card, then Z Reports for the day’s detail
- Month-end VAT → Taxes & Fees → Last Month → Export as Excel
- No-show investigation → Reservations → No-Shows card → cross-check with Guests
- Who was the best server on Saturday → Staff → set date range to that day → Top by Sales
- Compare all your sites → switch to group account → Multi-Location
- Stop chasing reports → Overview → Schedule each report you check manually, pick Daily, drop your email in
Next steps
- Payments — Search and inspect individual transactions
- Reservations — Manage live bookings (the data feeding the Reservations report)
- Discount Presets — Configure the discount types that show up on the Discounts & Voids report
- Users — Control who on your team can view reports