Commission Report
Commission Report gives managers a store-wide, per-staff-member rollup of commissions earned, so payouts can be reviewed and reconciled without opening every individual staff member's own commission page.
Overview
Unlike My Commissions (which only shows the logged-in user's own data), this report aggregates every staff member into one row each, with totals for sales, commission, paid and pending amounts.
The report can be scoped down to a single staff member using the Staff Member filter, which is useful when investigating a specific payout dispute.
Four summary cards at the top total the whole report across all staff currently shown, recalculated client-side from the rows returned for the selected filters.
Before You Start
- Requires the Commissions feature on the Advanced plan tier or above.
- Manager-level access is required — this page is hidden from regular staff.
- Staff must have commission rules assigned (Commission Rules page) and qualifying sales in the period for any rows to appear.
Step-by-Step Guide
1 Review overall commission totals
- Open Commission Report from the Staff section of the sidebar.
- Read the four summary cards: Total Commission (all staff), Total Sales, Paid, and Pending for the currently filtered period and staff selection.
- These totals recompute automatically from whatever rows are currently loaded — changing filters updates them immediately.
2 Drill into one staff member's commissions
- Use the Staff Member dropdown to pick a single person (listed as name and role), or leave it on "All Staff".
- Optionally set Status (Pending, Approved, Paid) and a From/To date range.
- Click the refresh icon to re-pull the report with the current filters.
3 Read and sort the report table
- Each row is one staff member with: Staff Member (name + role), Transactions count, Total Sales, Total Commission, Paid, Pending, Avg Commission, and the Period (first to last commission date in range).
- Sort by any column — it defaults to sorting by Total Commission, descending, so top earners appear first.
- Use the data grid's search box to find a staff member by name or role, or switch to card view for a more compact layout.
- Export the report using the toolbar export control; the filename includes the selected date range.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Total Commission (summary card) | Sum of Total Commission across every row currently shown in the report. |
Total Sales (summary card) | Sum of Total Sales across every row currently shown. |
Paid (summary card) | Sum of Paid amounts across every row currently shown. |
Pending (summary card) | Sum of Pending amounts across every row currently shown. |
Staff Member filter | Restricts the report to one staff member, or "All Staff" to see everyone. |
Status filter | Pending, Approved, or Paid — filters which underlying commission records are aggregated into each row. |
From / To | Date range applied to the aggregation; defaults to month-to-date. |
Transactions (column) | Number of commission-generating sales for that staff member in the period. |
Total Sales (column) | Sum of sale amounts underlying that staff member's commissions. |
Total Commission (column) | Sum of all commission earned by that staff member in the period. |
Paid (column) | Portion of that staff member's commission already paid out, shown in green. |
Pending (column) | Portion still awaiting payout, shown in amber. |
Avg Commission (column) | Total Commission divided by Transactions for that staff member. |
Period (column) | Date range from the first to the last commission recorded for that staff member within the filtered window. |
Tips & Best Practices
- Sort by Pending (click the column header) before running payroll to quickly see which staff members still have outstanding commission payouts.
- Use the Staff Member filter together with a wide date range when a staff member disputes a payout — it isolates every commission record for that person regardless of period.
- Cross-check unusually high Avg Commission values against that staff member's Commission Rules — a misconfigured rule (e.g. wrong "Apply On" base) is the most common cause.
Troubleshooting & FAQ
The report table says no commission data found.
A staff member I expect to see is missing from the report.
The summary cards do not match manually adding up the visible rows.
I cannot access Commission Report even though I can see My Commissions.
🧑💻 Developer Notes
Source component(s):
frontend-app/packages/pos-react-lib/src/pages/CommissionReportPage.jsx
Backend endpoints used:
GET /staff-commissions/reportGET /settings/users
Related tables (db-core repositories):
StaffCommissionUser
Redux slices:
scope (selectCurrentScope / getScopeQueryParams)
Feature flag key: commissions (requires advanced plan tier or above)
Summary card totals (Total Commission/Sales/Paid/Pending) are computed client-side with Array.reduce over the fetched report rows rather than returned pre-aggregated by the backend. The Staff Member dropdown is populated from GET /settings/users, independent of the report endpoint. Uses the same shared DataGrid component as My Commissions (search, sort, pagination, card/table toggle, CSV export).