# Reports on the register app

Check sales, payments, tax, top products and stock from the register app. See which reports the app has, how to filter them, and how they differ from the web.

Source: https://getolet.com/resources/help/analytics/reports-on-the-register-app/
Updated: 2026-10-15

# Reports on the register app

The register app has a short set of reports for checking the day without leaving the till. For the full set, with exports, use the web admin. See [Reports overview](/resources/help/analytics/reports-overview/).

## Open the reports

Select **Reports** in the app menu. You'll see it if your role has the **View reports** permission. Managers and admins always do. If your plan doesn't include reports, the app says "Your plan does not include reports."

The **Reports** screen lists five reports. Select one to open it, and use the back arrow to return.

| Report | What it shows |
| --- | --- |
| **Sales summary** | "Gross/net sales, transactions, ATV, margin" |
| **Payments** | "Tendered by type, cash change, surcharge, rounding" |
| **Tax** | "Taxable base, tax collected, effective rate" |
| **Products** | "Top sellers by revenue, qty, or margin" |
| **Inventory** | "Movements over time + live on-hand valuation" |

The app doesn't have the Customer, Register, Stock movements or Email reports. Those are web only.

## Filters

Every report has the same bar at the top, and it updates the report as soon as you change something. There's no **Apply** button.

- **This outlet** and **All outlets**: shown when the device is set up for an outlet. The report starts on **This outlet**.
- **Date**: the chips **Today**, **Yesterday**, **Last 7d**, **Last 30d** and **This month**, or the last chip to pick a start and end date. Reports open on **Last 30d**.
- **Group by**: how rows are split. The choices depend on the report.
- **Compare to**: **No comparison**, **Previous period** or **Previous year**. Rows then show how much each figure changed.
- **Sort by**: on the **Products** report only.

The app works out "today" from the date on the device, so keep the device date and time correct. The web reports use your store's time zone.

Above the table, "Data as of" and a time tells you how fresh the numbers are. It reads "Data as of: n/a" when there isn't one.

## What each report shows

### Sales summary

Group by **Day** (the default), **Week**, **Month**, **Outlet**, **Cashier**, **Register**, **Source** or **Hour**. Columns: the grouping, **Gross sales**, **Returns**, **Net sales**, **Transactions**, **ATV**, **Discount rate** and **Margin %**. A totals row ends the table. Grouped by **Hour**, **Discount rate** and **Margin %** aren't shown.

These figures mean the same as in the web [Sales report](/resources/help/analytics/sales-report/). ATV is the web report's AOV: net sales divided by the number of sales.

### Payments

Group by **Payment type** (the default), **Day**, **Week**, **Month** or **Outlet**. Columns: **Group**, **Tendered**, **Cash tendered**, **Cash change**, **Payment count**, **Payment mix %**, **Surcharge**, **Cash discount** and **Rounding**.

**Tendered** is payments minus refunds. **Cash tendered** is the cash handed over, and **Cash change** is the change given back. The web [Payment report](/resources/help/analytics/payment-and-tax-reports/) shows the same figures in a different layout and doesn't have **Cash tendered** or **Cash change**.

### Tax

Group by **Tax** (the default), **Day**, **Week**, **Month** or **Outlet**. Columns: the grouping, **Rate** (when grouped by tax), **Taxable base**, **Tax collected** and **Effective rate** (tax collected as a share of the taxable base). The app doesn't have the web report's **Tax removed** and **Below exemption** columns.

### Products

Group by **Product** (the default), **Category** or **Brand**. Pick **Sort by** **Revenue**, **Quantity** or **Margin %**, and **Show top** 10, 25, 50, 100, 200 or 500 (50 is the default). Columns: the grouping (a product shows its SKU), **Net sales**, **Units sold**, **COGS** and **Margin %**.

Only the top rows show, but the totals row covers the whole range. A line above the table says so. Products with no cost saved count as a cost of $0.00, so their margin looks too high.

### Inventory

Two tabs:

- **Movements**: group by **Day** (the default), **Product**, **Movement type**, **Week**, **Month** or **Outlet**. Columns: **Group**, **Qty moved** and **Movement value**.
- **Valuation**: a live count of stock now. Group by **Product** (the default), **Category**, **Brand** or **Outlet**, with **This outlet** or **All outlets**. Columns: **Group**, **On-hand qty** and **Value**, with a **Total** row. It has no date.

## If a report won't load

- "Could not load report" with **Retry**: check the connection and select **Retry**.
- "No data for this range. Try adjusting the filters.": nothing sold in that range or outlet. Try **Last 30d** or **All outlets**.
- You don't see **Reports**: ask an owner or manager to give your role the **View reports** permission.
