What you’re looking at
Analytics opens on an index of report cards, grouped Clinical, Operations and Money. The list is generated from what your pharmacy can actually populate, so nothing clinical appears — a pharmacy has no wards or consultations to report on, and those reports do not exist for you rather than sitting empty.
Open one and every report has the same shape, which is the point of one workbench: a date-range picker, scope tabs where the report has them, summary tiles, a chart over time, a breakdown chart, and a data table with Over time, Breakdown and Summary views plus an Export button.
A report with nothing in it says so rather than drawing an empty chart — “Nothing to tabulate”, with “This report returned no rows for {period}.” underneath. On a new pharmacy that is the normal answer, not a fault.
Read a report
1
Choose a report from the index
Select its card. The workbench opens on the last thirty days.
2
Set the period
A date-range picker sits on the right. Pick any window — click a single day for that day alone, or a start day and an end day for a span of any length. It opens on the last thirty days. Periods longer than twelve months are shortened for you, so a very wide window still returns.Pick the window to match the question. A rolling thirty days tells you the current shape; a named month — 1 to 31 August — is what you want when someone asks about August. Comparing two periods means reading the chart over a window that contains both, not switching back and forth: the tiles always total the whole period.
3
Pick a scope, if the report has tabs
Revenue splits Invoices (what you billed) from Payments (what actually arrived). POS Sales splits Takings, Transactions and By cashier. A report with one scope shows no tabs at all.
4
Read the tiles first, then the charts
The tiles are the period’s totals; the time chart is the shape; the breakdown chart is the split. The footer states the rule everyone eventually trips over: “Figures are aggregates for the selected period. Periods longer than 12 months are shortened server-side.”
5
Switch the table view if you need the numbers
Over time, Breakdown and Summary are three tabulations of the same report — pick the one you want to export before you export it.
Export it
Select Export above the data table:- CSV — this view — exactly the rows on screen. The toast reads Exported — “{n} rows · {period}. Opens in Excel, Numbers or Sheets.”
- Excel (.xlsx) — this view — a formatted workbook, built for you and downloaded. Its toast reads Exported — “Excel workbook · {period}.”
Expiry Risk and Expiry & Waste are not the same report
These two are confused constantly, so read this once.Expiry Risk — the future
A snapshot. What is on your shelves right now that will not sell through before it expires. It has no date picker at all — in its place the header reads As it stands now, because a period control that changed nothing would be a lie you could not see. Act on it: discount, transfer, return.
Expiry & Waste — the past
Period-shaped. What was actually written off in the window you selected, by day and by kind. Learn from it: which lines you keep over-ordering.
Who can do this
Role decides whether Analytics opens at all. A Cashier / Till Operator reaches only POS and Sales, and a pharmacy technician’s sidebar stops before the money screens — neither of them has this entry. Permission decides one scope tab inside it.
On top of the role bundle each person carries an access tier — Own till, Whole branch or All branches — which decides how much of the business their figures cover. Someone on Own till reads the same reports about a smaller slice of the pharmacy.
View per-cashier takings is the one worth understanding, because it is granted to nobody by default. The till total and who took it are different questions, and only the second is colleague-performance visibility — so POS Sales stays open to everyone and just that tab is gated. If the scope is not yours the workbench silently opens the first one you can see. You are not told which tab is missing; if you expected By cashier and there is no tab strip at all, that is why.
Cost and margin figures are gated separately by View cost prices and margin, and that gate has no reference at all in the reports workbench — it governs Inventory and the sales dashboard, where it withholds the figure as “Hidden — needs authorisation from your clinic owner.” rather than showing a zero. Its defaults are the Pharmacy Manager and Inventory & Purchasing bundles, not the Dispensing Supervisor.
Two behaviours surprise people:
- Enforcement is opt-in, per person. A colleague never saved in the permissions sheet is unrestricted, and the sheet warns “Saving starts enforcing”.
- A denied action is recorded; an allowed one is not. A scope quietly falling back is not a denied action and is not logged.
Check it worked
- The tiles, both charts and the table all describe the same period as the select.
- Switching scope changes the figures — Invoices and Payments on Revenue should rarely match exactly.
- An export downloads a file whose row count matches the toast.
Common issues
'Nothing to tabulate'
'Nothing to tabulate'
The report returned no rows for that period. Widen the period, or check you are on the scope you meant — Payments is empty until money is actually recorded, even when Invoices is not.
Expiry Risk has no date picker
Expiry Risk has no date picker
Correct, and deliberate. It is a snapshot of your shelves as they stand now. For a period-shaped view of what was written off, open Expiry & Waste.
A report I expected is not listed
A report I expected is not listed
The index is generated from what your pharmacy can populate, so a report you cannot fill is not offered. Expiry Risk additionally needs Professional — see Change your plan.
There is no By cashier tab
There is no By cashier tab
You do not hold View per-cashier takings, so the workbench opened the first scope you can see instead. Ask an owner or manager to grant it.
'Not exported'
'Not exported'
The Excel workbook could not be built; the toast carries the reason. Take CSV — this view instead — it is produced in your browser and does not depend on the same step.
The exported file will not open properly
The exported file will not open properly
Take the Excel option rather than CSV if your spreadsheet mangles accents or currency symbols on import.
FAQ
Why is Expiry Risk missing a date picker?
Why is Expiry Risk missing a date picker?
Because it does not report on a period. It answers “what on my shelves is going to expire before it sells”, which is true of this moment and nothing else. A period control that silently changed no figure would be worse than none, so the header says As it stands now instead.
Can I pick my own date range?
Can I pick my own date range?
Yes. Pick the start day and the end day in the date-range picker and every figure on the report covers exactly that window — a named month, a quarter, or a single day. Anything longer than twelve months is shortened, and the footer says so.
Why do Revenue and POS Sales disagree?
Why do Revenue and POS Sales disagree?
They count different money. POS Sales is what the till took, net of refunds. Revenue is invoiced and paid money — the account and institutional side. A pharmacy that rarely invoices will see a large POS Sales figure and a small Revenue one, and that is correct.
Where did the executive dashboard go?
Where did the executive dashboard go?
It has its own screen — Executive in the sidebar. Reports answer “how did the last 90 days go”; the executive dashboard answers “how is today going”. See the executive dashboard.