The POS Orders report lists point of sale transactions — one row per order, with the total, the register, the time, and who rang it. It is the top-level view of what your store, restaurant, or fuel dock sold.
This article assumes you already know the basics of the Sharper reporting module — the Name, Token, Subtotal, column picker, and filter fields. For a full walkthrough of the reporting form itself, see the Sharper Reporting Reference Guide. This article only covers what's specific to the Orders report.
Why This Report Matters
Point of sale is high-volume and low-value per transaction, which makes patterns more useful than individual sales. One row per order lets you see those patterns and check the controls around them. Use it to:
Total sales for a day, a register, or a staff member
See trade by hour, so staffing can be matched to demand
Review voided orders, who voided them, and why
Compare average order value between registers or periods
Voided Orders Are Included
The report carries Order Status, Voided By, and Void Reason columns, and voided orders appear alongside completed ones.
Because voided orders are included, totalling this report without filtering on Order Status will overstate your sales. Always either filter to completed orders, or include Order Status as a column so you can see what is in the figure. Reviewing voids on their own is worth doing too — a register or a person with an unusual number of them is worth a look.
Orders, Order Details, or Order Modifiers?
Report | One row per… |
POS Orders | Order — totals, register, time, staff |
POS Order Details | Item on an order — products, quantities, income accounts |
POS Order Modifiers | Modifier on an item — extras, options, and their prices |
Building an Orders Report
Go to Reports → Point of Sale → Orders in the left sidebar.
If a shipped report is close to what you need, use the ⋯ menu → Copy first — shipped reports can only be edited by the Sharper team.
Otherwise click + New and give it a Name, such as "Daily Sales by Register."
Add the columns below from the Available panel.
Set Subtotal to Total.
Turn on All Outlets if you compare stores across locations.
Click Save, then Get Report to set a date range and run it.
Available Columns
Field | What It Shows |
Order | The order number |
Order Date, Order Time | When the sale happened |
Order Hour | The hour of the day, ready to group on. This is the column that turns the report into a trade-by-hour analysis. |
Order Status | Whether the order completed or was voided — include it on anything you total |
Subtotal, Discount, Tax, Total | The order's value, before and after discount and tax |
Seats | The cover count, where you use seated service — divide sales by seats for spend per head |
Register Name | Which register rang the order |
Voided By, Void Reason | Who voided the order and why — the pair to review together |
User Display Name, User Email | The staff member who took the sale |
Customer Name, Cust Email | The customer, where the sale was attached to an account rather than a walk-in |
Cust Type | Customer classification, where you price groups differently |
Note: Many point of sale orders are walk-in sales with no customer attached, so Customer Name will often be blank. That is expected — do not use this report to build a customer list. Use the CRM Customer List report for that.
Useful Filters
A day's sales: Field Order Date set to the day, with Order Status set to completed, subtotalled on Total.
Trade by hour: group by Order Hour with Total subtotalled, over a week or a month.
Voids for review: Field Voided By, set to is not empty, with Void Reason selected.
One register: Field Register Name, set to the register.
One staff member's sales: Field User Display Name, set to the person.
Large orders: Field Total, operator >, entering a threshold that is unusual for your operation.
Discounted orders: Field Discount, operator >, value 0.
A saved report grouped by Order Hour across a full season is one of the more useful things you can build here — it shows exactly when your trade actually happens, which is rarely quite what people assume.
