π§ Draft article β source ticket MM-508 is still in To Do.
The Category Sales (Detailed) report is the most granular view in the Sales Reports group. It groups items by category and lists every product variant sold within each category, with the full sales-and-tax breakdown for each: gross sales, every discount type isolated as its own column, every tax bucket isolated as its own column, refunds, quantity, and net sales.
Access path: Quickvee Web β Reporting β Sales Reports β select Category Sales (Detailed)
How this differs from Sales by Category: Sales by Category gives you one row per category with profitability columns (Cost, Gross Margin, Gross Profit). Category Sales (Detailed) gives you one row per item-variant within each category with discount-type and tax-type columns. Use Sales by Category when you're thinking about profit. Use Category Sales (Detailed) when you're auditing what was actually sold and how the money was broken down.
The filter bar
Filter By β Category
A multi-select Category dropdown narrows the report to one or several specific categories. Leaving it at default shows every category that recorded activity in the range. Selecting a specific category is the fastest way to drill into one product group's item-level activity.
Date range
-
Quick filters β Today, Yesterday, Last 7 Days, Last 30 Days
-
Manual β Start Date / End Date pickers
Outlet
For multi-store accounts, the Outlet dropdown selects which location.
Search & Export
-
Search β applies filters and reloads every category section
-
Export Report β downloads the report. This is the most useful place to export in the Sales Reports group: the report is naturally wide with many columns, and Excel handles the columnar breakdown far better than the browser
How the report is structured
The report is laid out as a stack of category cards, one per category that recorded activity. Each card has:
-
A category name header (Freebase, Disposables, Pouches, etc.)
-
A column header row with the 11 sortable columns
-
One row per item-variant sold within that category in the range
-
A Total row at the bottom summing every column across the items in that category
Below every category card, a single Grand Total row sums every column across every category.
Each category header has a sort control to reorder items within that category β by quantity, by net sales, by any column. Sorts are scoped to that category.
π· Add screenshot: Category card with item rows and Total row
Reading the columns
|
Column |
What it shows |
|---|---|
|
Item Name |
The specific product variant β including flavor, size, or attribute. One row per variant |
|
Gross Sales |
Total dollar value before any discounts, taxes, or refunds β list price Γ quantity |
|
Price Override |
Dollars deducted via register price override (manual price changes by the cashier on individual line items) |
|
Discounts |
Dollars deducted via custom discounts β cashier-applied percentage or fixed-amount discounts. Does not include automatic promotions or coupons |
|
LP Discounts |
Dollars deducted via Loyalty Points redemption β measures how much loyalty redemptions cost the bottom line per item |
|
Coupons Discounts |
Dollars deducted via coupon codes, including OTD (Order Type Discount). Kept separate so coupon strategy can be measured separately |
|
Default Tax |
Tax collected under the merchant's primary/default tax rate |
|
All Other Tax |
Tax collected under secondary tax rates (city, county, excise, sin tax) β consolidated into one column |
|
Refunds |
Dollar value of refunds applied to this item. Shown as a positive number |
|
Quantity |
Net units sold (sales minus refunded units) |
|
Net Sales |
|
How the columns add up
Net Sales = Gross Sales β Price Override β Discounts β LP Discounts β Coupons Discounts β Refunds
Tax columns sit alongside this calculation β collected on top of the sale, not subtracted. Default Tax + All Other Tax = total tax remitted on items in that category.
The category Total row
Each category card ends with a Total row that sums every numeric column. This is the equivalent of one row in the Sales by Category report β but exposed with the full discount/tax breakdown rather than just the consolidated discount column.
The Grand Total row
At the very bottom, a single Grand Total row sums every column across every category:
-
Total Gross Sales = headline revenue before reductions
-
Total Net Sales = revenue actually collected, before tax
-
Total Default Tax + All Other Tax = total tax remitted
-
Total Refunds = total refund dollars returned
-
Total Quantity = total units sold
These should reconcile against Daily Sales Totals (for net + tax = day total) and against Sales by Category Net Sales totals for the same range.
Common workflows
"What sold inside the Pouches category yesterday?"
Filter By β Pouches β Yesterday β Search. The Pouches card lists every variant sold yesterday with quantity and net sales.
"Audit cashier price overrides for the week"
Quick filter β Last 7 Days β Search. Scroll every category and read the Price Override column. Any non-zero values indicate cashier-applied price changes. Sort by Price Override descending to see the largest overrides. Cross-reference with the Discount Per Employee Report.
"Audit loyalty point redemptions per item"
Read the LP Discounts column across categories. High LP Discounts in one category indicates customers are concentrating redemptions there β useful for loyalty marketing decisions.
"Find which items are most heavily refunded"
Sort an individual category by Refunds descending. Top rows are refund-magnets β investigate quality, pricing, or customer-fit.
"Verify tax was collected correctly per item"
Compare Default Tax to Gross Sales for items in the same category β the ratio should roughly equal the default tax rate. Items where the ratio looks wrong need investigation.
"Reconcile against Sales by Category"
Run both reports for the same range. The Total Quantity and Net Sales for a given category in this report should match the corresponding columns in Sales by Category.
"Find an item across categories"
Use browser Ctrl+F / β+F to search the rendered page. The report is rendered as a single scrollable stack, so the browser's find function jumps directly to matching rows.
Important notes
Only paid orders are included. Unpaid, voided, or cancelled orders are excluded.
Variants are listed separately. A parent product with several variants appears as several rows. There is no parent-level row.
Custom items appear under "Custom Category". Items keyed in at the register that are not in the catalog are grouped under Custom Category.
The two tax columns together capture all tax. Default Tax is the primary rate. All Other Tax consolidates every additional tax bucket. To break out individual secondary tax rates, use the Taxes Report.
Discounts and Coupons Discounts are distinct. Discounts is for cashier-applied custom discounts. Coupons Discounts is for coupon-code and OTD deductions. High Discounts + low Coupons = cashier discretion; high Coupons + low Discounts = automated promotions doing the work.
Price Override is separate from Discounts. They are not double-counted, and the distinction matters for audit.
Filters do not auto-apply. Changing dates, category dropdown, or outlet requires tapping Search.
Net Sales is pre-tax. To get the customer-paid amount per item, add Default Tax and All Other Tax to Net Sales.
Calculation reference
|
Field |
Formula |
|---|---|
|
Quantity |
|
|
Gross Sales |
|
|
Net Sales |
|
|
Price Override |
|
|
BOGO Discount |
|
|
Mix Match Discount |
|
|
Custom Discount |
|
|
Coupon Discount |
|
|
Loyalty Points Discount |
|
|
Default Tax |
|
|
Other Taxes |
|
|
Refund |
|
Mix Match values are stored negative, so ABS() is used. Data is grouped by category_id + product name. Custom items (category_id = NULL or 0) are grouped under "Custom category". Gift Card items are excluded.