Sales - Product Sales

The Product Sales report lists every menu item your store sold in a period: how many, at what price, the gross sales, the discounts and the net sales, with subtotals per menu category. You can split it by cashier, date, day of week, hour, transaction type, sales channel, shift, till and more, see the sales by category and category group as tables and pie charts, or export the lot as a CSV. It's for store managers and franchisees who want to know what is selling, when, and for how much.


Updated Thu 22 Oct 2026

Running the report

1
Open Reports for your store and choose Product Sales under Sales.
2
Choose your dates, how to group the sales, the layout, which columns you want, how to show prices that changed, and whether you want figures including or excluding VAT (see Report options).
3
Run the report. It opens with the products, then the Sales by category and Sales by category grouping tables and pie charts. In CSV format for exporting layout you get one plain table instead.
TipRun it with Select your preferred grouping on Hour Of Day and Choose your preferred layout on Product and then grouping to see at what time of day each item sells.

Report options

Select your start date / end date

The first and last trading day to include. Your store's close of trade time is used, so a sale after midnight but before close of trade counts towards the previous trading day. Both default to today.

Select your preferred grouping

Category
Cashier
Date
Day Of Week
Device Type
Hour Of Day
Transaction Type
Month
Sales Channel
Shift Number
Take Away / Sit Down
POS Name Paid Into
POS Name Rung Up On
POS Number Paid Into
POS Number Rung Up On

How the sales are split. Category (the default) means no extra split: one list of products by menu category for the whole period. Any other choice splits the products by that grouping, for example one block per cashier or per day of week. The report title changes to match, for example Product sales by day of week.

Choose your preferred layout

Grouping and then product
Product and then grouping
CSV format for exporting
  • Grouping and then product (default): one block per grouping value (say Monday), with that day's products listed by category inside it. See Product sales.
  • Product and then grouping: one block per product, with a line for each grouping value under it. See Product and then grouping.
  • CSV format for exporting: one plain table, a line per product, ready to export to a spreadsheet. See CSV format for exporting.

Which columns do you want to see?

Gross sales (price before discounts) only
Net sales (after discounts were applied) only
Gross sales less discounts = net sales

Gross sales is each item at its selling price. Net sales takes each item's share of the order's discounts off. Gross sales less discounts = net sales shows all three side by side. Quantities never change.

When product prices change, show...

each item's unit price separately
each item's average unit price

If an item sold at more than one price in the period (a price change, a happy hour), each item's unit price separately gives it one line per price, so you can see how many sold at each. each item's average unit price gives it one line with the average price it sold at, weighted by quantity. The price column is headed Distinct item price or Average item price to match.

Expand all sections to see a detailed view

In the Grouping and then product layout only the first category opens with its products showing; the others show just their subtotal. Click a category to open or close it. Tick this box to open every category straight away, for example before printing. It's unticked by default.

Display names as they were at the time of the sale

Unticked (the default), items and categories show their current names from your menu, so a renamed item has one line. Ticked, they show the names they had when they were sold, so an item renamed during the period shows once under each name.

Show sales figures

Inclusive (Brand default)
Exclusive

Whether every rand figure on the report (item prices, gross sales, discounts, net sales, delivery charges and turnover) includes or excludes VAT. Your brand chooses which one is the default: it's always first in the list, marked (Brand default), and already selected when you open the report. If your brand has chosen exclusive, the list reads Exclusive (Brand default) and Inclusive.

Choose Inclusive to compare with your cash-ups and the Recon report, which count the money customers actually paid. Choose Exclusive to look at profitability, where VAT isn't your money. The report title and every money heading say which one you're looking at, for example Product sales by date (excl VAT) and Gross sales (excl VAT) R.

How exclusive figures are worked outThe VAT is taken off each item at that item's own VAT rate, so a zero-rated item shows the same amount either way. Discounts are reduced by the VAT on the items they applied to, and delivery charges and turnover by the VAT on their order. Quantities don't change.

The report at a glance

Bob's Burgers Times Square
Product sales by day of week (incl VAT)
Grouped by day of week and then product
From Mon 12 Oct 2026 00:00 until Sun 18 Oct 2026 23:59

The dates are trading days. If your store's close of trade is later than midnight (say 02:00), the line reads From Mon 12 Oct 2026 02:00 until Mon 19 Oct 2026 02:00 * and the asterisk is explained at the foot of each page: sales between midnight and close of trade count towards the previous day.

  1. Product sales or Product and then grouping: every item sold, with quantities, prices and sales, depending on the layout you chose.
  2. Sales by category and category grouping: totals per menu category and per category group, each with a pie chart and a summary down to turnover.

The CSV format for exporting layout replaces all of this with one plain table.

Product sales

The Grouping and then product layout. One block per grouping value, headed with its name (Monday, Hour 12 to 13, Counter orders, Mon 12 Oct 2026 and so on; with Category there's one block, Product sales by category). Inside it, the products by menu category, busiest first. The example is one day with Gross sales less discounts = net sales and Inclusive.

Monday
Product description (PLU)Distinct
item price
(incl VAT) R 1
QtyQty
% contrib
to category 2
Gross sales
(incl VAT) R
- discounts
(incl VAT) R 3
= Net sales
(incl VAT) R
Category: Burgers
Classic Burger (B01)89.0040.061.5%3 560.00120.003 440.00
Cheeseburger (B02)99.0025.038.5%2 475.0075.002 400.00
Burgers subtotal: 465.06 035.00195.005 840.00
Category: Drinks
Cola 330ml (D01)25.0060.075.0%1 500.0030.001 470.00
Milkshake (D02)45.0020.025.0%900.000.00900.00
Drinks subtotal:80.02 400.0030.002 370.00
Monday subtotal:145.08 435.00225.008 210.00
Grand total: 5145.08 435.00225.008 210.00

1 Item price

The price the item sold at, including or excluding VAT as chosen in Show sales figures. With each item's unit price separately an item that sold at two prices has two lines; with each item's average unit price it has one line at the average.

2 % contrib columns

Qty % contrib to category is the item's share of the quantity sold in its category. In Gross sales ... only or Net sales ... only mode you also get the item's share of its category's sales and of the total sales, in place of the discount columns. In Net sales mode a note at the top reminds you that net sales are after discounts.

3 Discounts

Each item's share of the discounts given on its order. A discount for specific items is shared only between those items; a discount on the whole order is shared across everything on it, in proportion to price. The discounts on an order always add up to exactly what the POS recorded.

4 Subtotals

Each category has a subtotal, and each grouping value (here Monday) has one under its last category. The Grand total at the end covers the whole period.

5 Grand total

Every item sold in the period. It doesn't include delivery charges, which aren't menu items: those are added in the summary under Sales by category.

Hour 12 to 13
The hour the sale was rung up. Hours are actual clock hours, not trading days.
Unknown
The POS couldn't match the cashier's login, or the order has no value for the grouping you chose.

Product and then grouping

The Product and then grouping layout turns the report around: one block per product, with a line for each value of your grouping. The example is Classic Burger by Day of week in Gross sales (price before discounts) only mode.

Category: Burgers
Item name (PLU)
Day of week
Distinct item price
(incl VAT) R
QtyGross sales
(incl VAT) R
Classic Burger (B01)
Monday89.0040.03 560.00
Friday89.0072.06 408.00
Saturday89.0095.08 455.00
Classic Burger (B01) subtotal:207.018 423.00

Each product has a subtotal, each category a subtotal, and there's a Grand total at the end. In Gross sales less discounts = net sales mode the columns are Gross sales, - Discounts and = Net sales.

Sales by category and category grouping

After the products, two pages sum the same sales by menu category (Sales by category) and by category group (Sales by category grouping), each as a table with a pie chart beside it. Both headings say which VAT basis you chose, for example Sales by category (incl VAT). The example is Gross sales (price before discounts) only.

Category nameGross sales
Burgers6 035.00
Drinks2 400.00
Total gross sales: 18 435.00
- discounts:225.00
= Net sales:8 210.00
+ Delivery charges:150.00
= Turnover (incl VAT): 28 360.00

1 From gross sales to turnover

The summary takes the items sold, less discounts, plus delivery charges. In Net sales ... only mode it starts at Total net sales:; in Gross sales less discounts = net sales mode the Total: line shows all three columns and delivery charges and turnover are under Net sales.

2 Turnover

Net sales plus delivery charges: what the store took in for the period, on the VAT basis you chose. With Inclusive it's the same turnover as your cash-up for the same trading days.

The Sales by category grouping page works the same way with one line per category group. Categories that aren't in a group are shown as None set. Both tables are sorted by gross sales, biggest first.

CSV format for exporting

With Choose your preferred layout on CSV format for exporting, the report is one table with a line per product (per price, with each item's unit price separately), sorted by category group, category and item name, and no headers, subtotals or charts. Export it to CSV or Excel to work with the figures.

PLU codeCategory groupCategoryItem nameDistinct unit price (incl VAT)QtyGross sales (incl VAT)Discounts (incl VAT)Net sales (incl VAT)
D01DrinksDrinksCola 330ml25.0060.01 500.0030.001 470.00
B02FoodBurgersCheeseburger99.0025.02 475.0075.002 400.00
B01FoodBurgersClassic Burger89.0040.03 560.00120.003 440.00

The CSV always has all three money columns, whatever you chose in Which columns do you want to see?, and the headings carry the VAT basis so an export is never ambiguous.

Watch the video

A walkthrough of the Product Sales report: choosing a grouping and layout, and reading the product, category and summary sections.

Can't see the video? Watch it on YouTube.

Frequently asked questions

Why doesn't the Grand total match my turnover?

The Grand total adds up the menu items you sold. Turnover is after discounts and also includes delivery charges, which aren't menu items. The summary under Sales by category shows the steps: Total gross sales:, - discounts:, = Net sales:, + Delivery charges:, = Turnover:.

Why does the same item appear twice?

Either it sold at two different prices and When product prices change, show... is on each item's unit price separately (switch to each item's average unit price for one line), or it was renamed and Display names as they were at the time of the sale is ticked.

Why does a sale at 01:00 show under the previous day?

If your store's close of trade is after midnight, everything before close of trade belongs to the previous trading day. That applies to the dates you choose and to the Date, Day Of Week and Month groupings. Hour Of Day still shows the actual hour, so that sale is under Hour 1 to 2.

Why aren't exclusive figures lower than inclusive by exactly the standard VAT rate?

VAT is taken off each item at its own rate. Zero-rated items don't change, so a category with some zero-rated items drops by less than the standard rate.

Why does the cashier say Unknown?

The report couldn't work out who was logged in when the sale was rung up, usually because the employee's login code was changed or reused by more than one person. The sales are still counted in every total.

Why are the % contrib figures out by 0.1%?

Each percentage is rounded to one decimal on its own, so the rounded figures can be a tenth out when you add them up. The unrounded figures always add up to 100%.

Which setting should I use to compare with my cash-up?

Inclusive in Show sales figures. Cash-ups count the money customers paid, which includes VAT. Then = Turnover: under Sales by category is the figure to compare.

Glossary

Average item price
The quantity-weighted average price an item sold at in the period.
Brand default
The VAT setting your brand has chosen for sales reports. It's preselected in Show sales figures.
Category group
A group of menu categories set up in your menu, for example Food or Drinks. None set means the category isn't in a group.
Close of trade
The time your store's trading day ends. Sales before it count towards that day.
Discounts
Each item's share of the discounts given on its order.
Distinct item price
One of the prices an item sold at; an item with two prices has two lines.
Exclusive (excl)
Figures with VAT taken out.
Gross sales
The value of the items sold at their selling price, before discounts.
Inclusive (incl)
Figures including VAT, the money your customers actually paid.
Net sales
Gross sales less each item's share of the discounts on its order.
PLU
The item's code in your menu, shown in brackets after its name.
Turnover
Net sales plus delivery charges.
VAT
Value-added tax or your country's equivalent sales tax.