# Sales report

See gross sales, discounts, returns, net sales and margin by day, outlet, cashier or hour, compare periods, and export the table to CSV.

Source: https://getolet.com/resources/help/analytics/sales-report/
Updated: 2026-10-15

# Sales report

The **Sales report** shows what you sold, what you gave away in discounts and returns, and what you kept. Open **Analytics**, then **Sales report**. Set the filters first. See [Reports overview](/resources/help/analytics/reports-overview/) for the date presets, **Apply** and how reports count a day.

## Filters

- **Date range**: opens on yesterday.
- **Group by**: **Day** (the default), **Week**, **Month**, **Outlet**, **Cashier**, **Register**, **Source** or **Hour of day**. Weeks start on Monday and months on the 1st. **Source** splits sales by where they were made.
- **Outlets**: all outlets, or the ones you pick.
- **Compare to**: adds a change under the main figures against the previous period or the same period last year.

The first column takes the name of the grouping, for example **Day** or **Outlet**.

## Cards

Six cards sit above the table. Each is a total for the whole range and your outlets.

| Card | What it shows |
| --- | --- |
| **Net sales** | Sales after discounts and returns, before tax |
| **COGS** | What the items you sold cost you |
| **Gross profit** | Net sales minus COGS |
| **Transactions** | Sales plus refunds, each counted once |
| **Items / txn** | Average items in a sale |
| **AOV** | Average order value |

With **Compare to** on, each card shows the percent change and the dates it's compared against.

## Net sales chart

When you group by **Day**, **Week** or **Month**, a line chart of net sales appears under the cards. Point at a dot to see the period and its net sales. The chart needs at least two periods. With fewer, it says "Pick a wider range to see a trend." With no sales, it says "No sales in this range." Other groupings show no chart, because a line between outlets or cashiers would mislead.

## The table, column by column

| Column | What it means |
| --- | --- |
| **Gross sales** | Items at their catalog price times the quantity, before any discount. A price you change at the register counts as a discount, not as lower gross sales. |
| **Discounts** | Everything taken off the catalog price: line discounts, whole-sale discounts, price changes at the register and price book pricing. Shown as a negative number. |
| **Returns** | The value of refunds made in the range, as a negative number, on the day of each refund. |
| **Net sales** | Gross sales plus Discounts plus Returns, before tax. |
| **Transactions** | Completed sales plus refund transactions. |
| **Units** | Items sold minus items returned. |
| **AOV** | Net sales from sales only, divided by the number of sales. Refunds are left out. |
| **Items / txn** | Items sold divided by the number of sales. Refunds are left out. |
| **Discount rate** | Discounts as a share of gross sales. |
| **Gross margin %** | Net sales minus COGS, as a share of net sales. |

Read across a row and Gross sales + Discounts + Returns equals Net sales. The last row, **Total**, adds up every row. It shows only when the table has more than one row. A row with no transactions is grayed out.

If you turn on **Compare to**, **Gross sales**, **Net sales**, **Transactions**, **Units** and **AOV** show the change under each figure when you group by **Outlet**, **Cashier**, **Register**, **Source** or **Hour of day**. For **Day**, **Week** and **Month**, the change shows on the cards only.

### Hour of day

Grouping by **Hour of day** shows how busy each hour is. It has only gross sales, returns, net sales, transactions, units, AOV and items per transaction. **Discounts**, **Discount rate** and **Gross margin %** show a dash, and so do the **COGS** and **Gross profit** cards.

## Margin depends on your costs

COGS comes from the cost saved on each product. A product with no cost counts as a cost of $0.00, so its sales look 100% profit. Gross profit and margin are only as good as your costs. Keep supply prices up to date on your products.

## Export CSV

**Export CSV** saves a file called sales-report.csv. It starts with the report name, the date range, the grouping and the outlets. Then come the same columns as the table, in the same order, and a **Total** row. The discount column is headed **Discounts (negative)**. Money has no dollar sign and the percentages keep their percent sign. A figure that can't be worked out shows a dash.

The file doesn't include the comparison changes. It exports every row of the report, in the report's order.

## If the numbers look wrong

- **Net sales differ from sales history.** The report is before tax and counts a refund on the day you make it. Sales history lists each sale with its tax.
- **A day seems to be missing a sale.** Sales count on the day they were completed, in the outlet's time zone.
- **Margin looks too high.** Check for products with no cost. See above.
- **A recent sale isn't there.** Check **Last sale** at the top right. The report refreshes about every 15 minutes.
- **Discounts look low.** Discounts are measured against the catalog price. A sale at the catalog price has none.
