Home / Help Center / pos-app / Staff / Commission Report
📈 Staff

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.

📍 Menu path: Staff → Commission Report
👤 Who uses it: Managers/Owners only (managerOnly nav item)
🏷️ Plan tier: advanced+

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

Step-by-Step Guide

1 Review overall commission totals

  1. Open Commission Report from the Staff section of the sidebar.
  2. Read the four summary cards: Total Commission (all staff), Total Sales, Paid, and Pending for the currently filtered period and staff selection.
  3. These totals recompute automatically from whatever rows are currently loaded — changing filters updates them immediately.

2 Drill into one staff member's commissions

  1. Use the Staff Member dropdown to pick a single person (listed as name and role), or leave it on "All Staff".
  2. Optionally set Status (Pending, Approved, Paid) and a From/To date range.
  3. Click the refresh icon to re-pull the report with the current filters.

3 Read and sort the report table

  1. 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).
  2. Sort by any column — it defaults to sorting by Total Commission, descending, so top earners appear first.
  3. 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.
  4. Export the report using the toolbar export control; the filename includes the selected date range.

Every Field & Button, Explained

Field / ButtonWhat 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 filterRestricts the report to one staff member, or "All Staff" to see everyone.
Status filterPending, Approved, or Paid — filters which underlying commission records are aggregated into each row.
From / ToDate 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

Troubleshooting & FAQ

The report table says no commission data found.
This means no staff member has commission records matching the current filters. Widen the date range, clear the Status filter, or confirm commission rules exist for the period in question.
A staff member I expect to see is missing from the report.
Staff only appear once they have at least one commission-generating sale in the selected period. Confirm they have a Commission Rule assigned and have made qualifying sales.
The summary cards do not match manually adding up the visible rows.
The summary cards total every row currently loaded (up to 10,000 records per fetch), which may include rows beyond the current page size setting in the data grid — check the page size and total record count shown in the toolbar.
I cannot access Commission Report even though I can see My Commissions.
Commission Report is manager-only; My Commissions is available to any staff member with a commission rule. Ask your Admin to confirm your account's manager flag.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/CommissionReportPage.jsx

Backend endpoints used:

  • GET /staff-commissions/report
  • GET /settings/users

Related tables (db-core repositories):

  • StaffCommission
  • User

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).