The sales report is the analytical view of everything you sold in a period — distinct from Sales History (which is operational: view, void, refund). Every number here is net of refunds (sale-attributed) — every refund, full or partial, subtracts from the sale it came from, so what you see is what actually landed.
Open the report
Sidebar: Reports → Sales. The page has:
- KPI strip — the refund waterfall.
- Filters — date, cashier, payment method.
- Payment breakdown — revenue by method.
- Sales & Returns ledger — every transaction, paginated.
- Export — CSV, Excel, PDF.
The KPI strip
The strip shows the refund waterfall left to right, ending in the hero Net revenue number:
| KPI | What it is |
|---|---|
| Gross revenue | Σ subtotal, before any discount or refund, over non-voided sales. |
| − Discounts | Total discounts given in the period. |
| − Refunds | Total value refunded in the period. |
| = Net revenue | The hero. What actually landed in the till. |
Under those:
| KPI | What it is |
|---|---|
| Net profit / Margin % | Kept revenue minus kept cost. Margin as a percent. Single number — no waterfall. |
| Sales / Refunds | Count of sales and count of refund events. |
| Units | Sold, refunded, net. |
| Average sale value | Σ charged ÷ number of sales. "How big is a typical sale?" — not netted (a later refund doesn't shrink the original transaction). |
Filter the report
- Date — Today (default), 7d, 30d, or a custom range.
- Cashier — pick a specific staff member. Management only — dispensers don't see this filter.
- Payment method — cash, transfer, card, or other.
Filters compose. Pick a date range AND a cashier AND a payment method for a very specific view.
Sales & Returns ledger
Every sale and every refund from the period, interleaved in time order. Sales
appear as positive amounts, refunds as −₦X with a Refund badge and a
link back like REF-000012 ← SAL-000042.
The signed amounts add up to Net revenue — you can literally sum the ledger column and get the same number as the hero KPI. That's the reconciliation guarantee across every RxShelf report.
Sortable by date and amount. Paginated (~20 rows per page).
Payment breakdown
Revenue by payment method, net of refunds. When a refund was issued in a different method than the original sale, both the original method and the refunded method are shown so the split is honest.
Who can access it
- Owner — everything.
- Manager — everything.
- Accountant — everything (no cost, but reads-only).
- Dispenser — sees the Sales Report scoped to their own sales only. The cashier filter is hidden; cost and profit columns stay blank.
Export
Export the full report to:
- CSV — for Excel or Google Sheets.
- Excel (
.xlsx) — formatted with headers. - PDF — branded with your pharmacy header, printable.
The ledger export mirrors the on-screen view: signed amounts sum to Net.
Next steps
- Read the bin card — per-product stock movement history.