Reports and Statistics
Reports in Kasyro POS: a dashboard with KPIs and charts, receipts, sales, markups, orders, shifts, closing reports, tips, cash and taxes for any period.
Access
Open Reports with the Reports button in the side panel, or — if it is not pinned there — via More → Reports (on a phone, More is in the bottom bar). The button appears only if you have at least one permission from the reports group.
Tabs
Depending on your permissions and the modules switched on, the screen can have up to eleven tabs:
- Dashboard — an overview with KPIs and charts
- Receipts — all issued receipts
- Sales — individual items sold
- Markups — markups and profit by product (Markups module)
- Orders — orders sent to preparation (Orders module)
- Shifts — staff sign-ins and sign-outs
- Closing reports — the closing report archive
- Tips
- Internal Accounts — internal account balances (Internal Accounts module)
- Cash — the cash journal
- Taxes — revenue broken down by VAT rate
Period filter
Below the tabs is the period selector (not on Internal Accounts and Markups):
- The < and > arrows move between periods; reports do not go into the future.
- The name and dates of the period, e.g. "Today / 30 Sep 2026", "This week / 28 Sep — 4 Oct 2026", "Last month / August 2026".
- The Day (default), Week (Monday–Sunday), Month, Year and Custom switch.
Custom opens a Period window with a calendar: the first tap picks the first day, the second the last one; the From and To tabs show which day you are setting. Apply confirms the period.
If you only have the basic "(session)" permission for a tab, a note "Showing current session only" appears below the period selector — the report then shows only the part of the period that falls into the currently open shift.
Older periods on a till with a subscription
A till with a subscription keeps receipts for the last 31 days on the device (rolling, so it always has yesterday). If you pick an older period, the till downloads it from the server and shows the report once the period is complete — never half-counted figures:
| What you see | What it means |
|---|---|
| "Downloading data for …" with a progress bar | the data is downloading; the report fills in by itself |
| "Data for … is not on this device. It cannot be downloaded without a connection." | the device is offline; the data arrives once it is connected |
| "Data for … could not be downloaded" with Retry | the download failed; the button tries again |
Dashboard and Taxes do not download receipts for older days; they read the daily summaries the server keeps for the business. A line below the report then says where the figures come from ("From the server's summaries."). The server keeps older months merged into one figure — pick the whole month for those; the daily chart and hour map are not available for them. Days when the business did not sync to the server (for example while it was on the Free plan) add nothing, and the report says so.
A till on the Free plan has the full history on the device, so none of this applies to it.
Common elements
All tabs except Dashboard and Taxes share the same layout:
- Search "Search…" — from 2 characters, by document number and name (customer, staff, product, register, account — depending on the tab) and on most tabs also by amount ("50" finds 50, 150 and 505). The whole chosen period is searched.
- Summary with a Σ — the key total of the tab (from the results after search and filter); tap it to open a dialog with a fuller summary.
- Filter — on a phone it slides up from the bottom, on a computer or tablet it opens as a panel beside the table. Each choice applies at once, Show N … closes the filter, Clear all resets everything, and nothing ticked means everything. A pair of opposites is one three-way choice (e.g. All / Dine-in / Takeaway). An active filter colours the icon and shows a count; on a computer the active filters also show as tags on the search row. The filter works offline too.
- Table — sort by tapping a column header, tap again to reverse. A page has 100 rows ("1 / 2 (119)").

In compact mode (phone) the tables become cards, the tab is picked from a drop-down and sorting is under the icon with vertical arrows. The Dashboard KPI cards are in a 2 × 2 grid.
Names. Reports show users by their full name ("Marek Novák"); if two users share a name, the login name is added in brackets.
Dashboard

KPI cards
- Revenue — revenue for the period (paid bills minus refunds)
- Bills — number of paid bills
- Average — the average bill
- Tips
Each card shows the previous period's value ("Previous period: …") and the change in percent (green for growth, red for decline). If the previous period was zero, the card shows "new" instead of a percentage. The previous period is the previous day / week / month / year; for a custom range, an equally long stretch just before it.
Voucher sales and credit are not revenue. Selling a gift or prepaid voucher or topping up customer credit does not count towards Revenue, the bill count or VAT — revenue arises only when it is redeemed for goods (see Vouchers and Coupons). Cash in the drawer and the closing report do include them (see Register).
Charts
- Revenue over time — a bar chart by hour (day), by day (week, month, custom range up to 91 days) or by month (year and longer ranges).
- Payment methods and Categories — pie charts of the revenue split; with more than six entries, the five largest and the rest as "Other". Deferred payments are not in the payment methods chart.
- Top 10 products — the ten products with the highest revenue, with pieces and revenue; the Quantity / Revenue switch changes the order and bar length.
- Weekly pattern — a map of average revenue by day of the week and hour; a darker cell means higher revenue. Useful for planning shifts.
Receipts
All receipts issued in the period. The "Revenue: … Σ" summary opens a dialog with Receipt count, Revenue and Average receipt; with several methods or several people also Payments received broken down By payment method and By user. Payments received are not the same as revenue — they differ mainly by vouchers sold and credit topped up. Deferred payments are listed separately as Deferred payment (unpaid) (see Payments).
Columns: Date & time | Number | Customer | Payment | EET (only for a company that has switched EET on) | Total. A receipt for a voucher or credit sale stays in the list but does not count towards Revenue. A refund document has a negative amount.

Tap a row to open the receipt detail: the number in the title, a card with status, date, customer, payments (a tip shows as its own line) and EET status, and below it the items with add-ons and discounts as in the bill detail, Subtotal, discounts, rounding and Total. A refund document has a "Credit note for bill" line, a refunded bill a "Refunded by" line. The printer icon at the left of the header prints the receipt again.
Filters: Payment method, Type (All / Dine-in / Takeaway), Discount (All / With discount / Without discount) and EET (All / Via EET / Without EET — see EET).
Sales
Individual items sold in the period. Columns: Date & time | Item | Category | Qty | Unit price | Tax (not shown for a non-VAT-payer) | Total. Tap a row to open the receipt the item was sold on.

The Σ summary breaks revenue into lines that add up exactly to the result: Gross item revenue, Item discounts, Bill discount, Loyalty discount, Coupon discount, Rounding and Revenue. Below are Items sold, Unique items and a list of products with quantity and amount. Revenue without a filter is the same figure as Revenue on the Dashboard for the same period.
Filters: Category (a tree with search, including "No category") and Discount.
Markups
Markup and profit analysis by product. Available with the Markups module on and the View markups permission. It has no period filter — the sales columns always cover the last 30 days.
Columns: Item | Purchase price | Sale price | Markup (%) | Sold (30 d) | Revenue (30 d) | Discounts (30 d) | Profit (30 d); with the Internal Accounts module also Internal (30 d) (internal consumption). A missing value shows as "---", a negative profit in red. The summary shows Total revenue, Discounts (30 d), Profit and Average markup.

The markup colour compares it with the product's target markup — its own, otherwise the category's, a parent category's, and finally the company's default target markup: green means on target, orange at most 5 percentage points below, red further below. Target markups are set in Settings → Finance → General → Markups (see Settings), a product's own target in its editor (see Catalog).
Purchase price and Markup are based on current prices: for a product with a recipe, the sum of its ingredient prices; for a portion, the purchase price of the product it is taken from (rum at CZK 400/l, a 4 cl portion = CZK 16); otherwise its own purchase price. If an ingredient has no purchase price, a warning icon appears next to the markup — the markup then comes out higher than it really is. Profit, on the other hand, uses the purchase price stored at the moment of sale, so later price changes do not change the profit of past sales.
What is counted depends on whether the company is a VAT payer:
- VAT payer — revenue is the sale price excluding VAT, cost the purchase price excluding VAT;
- not a VAT payer — revenue is the full sale price, cost the purchase price including purchase VAT (which you do not get back).
Example: 2 pcs bought at CZK 100 excl. VAT (21 %) and sold at CZK 242. VAT payer: revenue CZK 400, cost CZK 200, profit CZK 200. Non-payer: revenue CZK 484, cost CZK 242, profit CZK 242. The markup is 100 % in both cases.
Filters: Category and Show unsold (products not sold in the last 30 days; hidden by default).
Orders
Orders in the period (Orders module only). Columns: Date & time | Order # | User | Qty (number of items) | Total | Status (Created, Ready, Delivered, Voided, or "Storno" for a reversing entry). The summary shows Order count, Items and Total amount.
Total is the sum of the order's items including add-ons after item discounts and coupons; a whole-bill discount is not spread over orders. A storno order has a negative amount. Tap a row to open the order detail with status, preparation times, note and items.
Filters: Status (how far the order got) and Storno (All / Storno / Not storno — whether the order is a reversing entry after a refund or a voided item).
Shifts
Staff sign-ins and sign-outs in the period. Columns: Date | User | Login | Logout (or "in progress") | Duration. The summary shows Shift count, Hours and Average shift. A manually edited shift has a pencil icon next to the name.
Tap a row to open the Shift Detail. With the Manage shifts permission you tap the arrival or departure time to change it and save with Save (departure must be after arrival and not in the future), or remove the shift with Delete shift. An edited shift shows the original value and who changed it.
Filter: User.
Closing reports
The closing report archive for the period (by the time the shift was closed). Columns: Date | Time | Register | User | Revenue | Difference (cash difference, coloured). The summary shows Session count, Revenue and Total difference.

Tap a row to open the full (reference) version of the closing report. Below the title are the register, day and shift time, followed by cards:
- Shift — start, end and duration
- Cash in the drawer — opening cash, cash payments, deposits, withdrawals, Expected Cash, Counted and Difference; the same for each foreign currency
- Closing Note — only if staff wrote one
- Payments received — payments with counts, Total received, deferred payments, voucher and credit sales and tips subtracted, and finally Revenue
- VAT — rate, base, VAT and total; separately Rounding (outside VAT). For a non-payer just "Not a VAT payer".
- Discounts — item, bill, coupon and loyalty discounts and Total Discounts
- Tips — by method and by person
- Bills — paid, transferred, voided, refunded, open, with counts and amounts
- EET — for a company with EET on
- Shifts — who worked and for how long
The Venue Report (several registers) also has a By register block with each register's revenue, payments and cash.
The detail shows the stored closing report — the figures as they came out when the shift was closed. A later refund or a renamed payment method does not change it. Print it with the printer icon at the left of the header (with the Print closing report permission; see Printing).

Filters: User and Register.
Tips
Tips in the period. Columns: Date & time (bill closed) | User | Bill | Payment | Amount. The summary shows Tip count, Tips and Average tip, and with several people or methods also a breakdown by user, by method and by user and method.
A tip belongs to the day the bill was closed — so the total always matches Tips on the Dashboard. Tips in a foreign currency are shown in the base currency.
Why the closing report can differ from Reports for a day. The closing report counts the money the shift received; Reports count bills by the day they were closed.
Filters: User and Payment method.
Internal accounts
An overview of internal accounts (employee or company). The tab needs the Internal Accounts module and the Manage internal accounts permission; it has no period filter. Columns: Name | Unsettled (count) | Unsettled (amount) | Settled (count) | Settled (amount).

Filters: Account status (All / Has unsettled / All settled) and User. Tap an account to open its detail with settlement — see Internal Accounts.
Cash (cash journal)
Cash movements — deposits, withdrawals and sales. Columns: Date & time | Type (Deposit green, Withdrawal red, Sale blue) | Amount | Note | User | Register. The "Net Change: … Σ" summary shows Entries, Deposits, Withdrawals and Net Change.
The tab always shows one cash drawer (currency). If the period has several currencies, a currency selector appears in the toolbar (the base currency by default).
A Sale row shows the effect of a cash sale on the drawer, including the cash tip. In the Note column you can also spot automatic movements: Refund (a refund appears only once, as a withdrawal) and the automatic cash correction when a shift is opened.
Filters: Type (Deposit, Withdrawal, Sale) and User.
Taxes
Revenue broken down by VAT rate for the period. At the top are the cards Total Revenue (incl. VAT), Tax Base, Total VAT and Rounding (only if there was any), below them the table Rate | Base | VAT | Total.

The report includes paid bills and refund documents closed in the chosen period, without voucher and credit sales. The printed Revenue report in Data counts the same way. Rounding of cash payments does not belong to any rate, so it stands next to the table; it is exactly the amount by which the Total differs from Revenue on the Dashboard.
For a company that is not a VAT payer the tab says "Not a VAT payer" and shows only total revenue (the breakdown appears if the period reaches back to when the company was a payer).
For managers and administrators
"Session" and "history" permissions
Reports have two permission levels. The basic one (e.g. Receipts (session)) shows only the data of the register's current shift — a time limit, not a per-user one. The extended "(history)" one (e.g. Receipts (history)) shows any period and includes the basic one.
| Tab | Basic (current shift) | Extended (any period) |
|---|---|---|
| Receipts | Receipts (session) | Receipts (history) |
| Sales | Sales (session) | Sales (history) |
| Orders | Orders (session) | Orders (history) |
| Tips | Tips (session) | Tips (history) |
| Cash | Cash journal (session) | Cash journal (history) |
| Shifts | Shifts | — |
| Closing reports, Taxes | Closing reports | — |
The Dashboard needs all extended "(history)" permissions at once, so by default only Managers and Administrators see it.
| Permission | Helper | Operator | Manager | Admin |
|---|---|---|---|---|
| Receipts, Sales, Orders, Tips, Cash journal (session) | — | ✓ | ✓ | ✓ |
| Receipts, Sales, Orders, Tips, Cash journal (history) | — | — | ✓ | ✓ |
| Shifts | — | — | ✓ | ✓ |
| Closing reports (and Taxes) | — | — | ✓ | ✓ |
| View markups | — | — | ✓ | ✓ |
| Manage internal accounts | — | — | ✓ | ✓ |
Data export
Reports themselves have no export. Export data to PDF or XLSX on the Data screen (Export data permission) — see Data.