Commissions
Track and manage sales rep commissions with configurable triggers and approval workflows.
Commissions
Track, calculate, and manage sales commissions for your team. Commissions are automatically calculated when deals are won (or invoices paid), and flow through an approval workflow before payout.
Commissions is an optional CRM feature. An admin must enable it in CRM → Settings → General before it appears in the sidebar.
Enabling Commissions
Commissions are disabled by default. To enable:
- Navigate to CRM → Settings
- Open the General tab
- Toggle Enable commissions on
- Configure the commission trigger, default rate, and approval settings
- Click through — the Commissions page now appears in the CRM sidebar
Only workspace admins can enable or disable commission tracking. Sales reps and team members cannot change this setting.
Commission Settings
Once enabled, the General settings tab shows four configuration options:
Commission Trigger
Choose when commissions are created:
| Trigger | When commission is created | Best for |
|---|---|---|
| Deal Won | When a deal moves to Closed Won | Teams without invoicing, or when deals don't always become invoices |
| Invoice Paid | When the linked invoice is fully paid | Teams using the Finance module who want maximum accuracy |
The Invoice Paid trigger requires the Finance module to be active. If Finance is not enabled, this option is grayed out.
Default Commission Rate
Set the workspace-wide fallback commission percentage. This is used when no deal-level, rep-level, or price book rate is configured.
The full priority chain for commission rates:
- Deal override — commission rate set directly on the deal
- Sales rep rate — the rep's personal commission percentage
- Price book rate — the default rate from the rep's assigned price book
- Workspace default — the rate configured here in CRM Settings
- System fallback — 30% (only used if nothing else is set)
Require Manager Approval
When enabled (default), commissions are created with Pending status and require a manager to approve before they become payable. When disabled, commissions are auto-approved.
Accessing Commissions
Navigate to CRM → Commissions (/crm/commissions).
If commissions are not enabled for your workspace, you'll see a message directing you to ask an admin to enable the feature in CRM Settings.
Commission Lifecycle
Commissions flow through these statuses:
Deal Won (or Invoice Paid) → Pending → Approved → Paid| Status | Description | Who can change |
|---|---|---|
| Pending | Created automatically, awaiting review | System creates; Admin/Manager reviews |
| Approved | Reviewed and approved for payment | Admin/Manager |
| Paid | Commission has been disbursed | Admin/Manager |
| Cancelled | Commission voided | Admin |
Commission Page
Status Tabs
Filter commissions by status:
| Tab | Shows |
|---|---|
| All | Every commission with count badge |
| Pending | Awaiting approval |
| Approved | Ready for payment |
| Paid | Already disbursed |
| Cancelled | Voided commissions |
Summary Cards
Three cards at the top provide an at-a-glance financial overview:
- Pending — total dollar amount and count of pending commissions
- Approved — total dollar amount and count of approved commissions
- Paid — total dollar amount and count of paid commissions
Commission Table
Each commission record shows:
| Column | Description |
|---|---|
| Rep | Sales rep name (from sales_reps table) |
| Deal | Associated deal title |
| Deal Value | Total deal amount |
| Rate | Commission percentage applied |
| Commission | Calculated commission amount |
| Status | Current status badge |
| Date | Payment date (if paid) or creation date |
| Action | Approve / Mark Paid button (status-dependent) |
How Commissions Are Calculated
Automatic Calculation
When the configured trigger fires (deal won or invoice paid):
- System checks if the deal has a value > 0 and a sales rep assigned
- Looks up the commission rate using the priority chain (deal → rep → price book → workspace default → 30%)
- Calculates:
Commission Amount = Deal Value × Commission Rate - Creates a commission record with status Pending (or Approved if auto-approval is enabled)
- Updates the deal record with
commission_pctandcommission_amount
Commission calculation is non-blocking — if the calculation fails for any reason, the deal stage change still succeeds.
Commission Rate Sources
| Source | Where to configure | Scope |
|---|---|---|
| Deal override | Deal detail page → commission_pct field | Per deal |
| Sales rep rate | Sales rep profile → commission_pct | Per rep |
| Price book rate | Price Books → default_commission_pct | Per region/price book |
| Workspace default | CRM Settings → General → Default rate | Workspace-wide |
Managing Commissions
Approving Commissions
- Go to Commissions and click the Pending tab
- Review the deal, amount, and rate
- Click Approve on each commission
Bulk Actions
Two bulk action buttons are available in the toolbar:
- Approve All — approves all pending commissions at once
- Pay All — marks all approved commissions as paid
Each button is only enabled when there are eligible commissions.
Marking as Paid
After disbursing payment:
- Find the approved commission
- Click Mark Paid
- The payment date is automatically set to today
Cancelling
To void a commission, update its status to Cancelled. This does not affect the underlying deal.
One Commission Per Deal
Each deal can have only one commission record (enforced by a database unique constraint on deal_id). If a deal's commission needs to change, update the existing record rather than creating a new one.
Integration with Finance
When both CRM and Finance modules are active:
- Use the Invoice Paid trigger for commissions tied to actual revenue collection
- Commissions are tracked alongside expense and payroll records in Finance
- Commission amounts appear in financial reporting
Best Practices
- Keep rates simple — a clear rate structure reduces disputes
- Review weekly — approve pending commissions on a regular cadence
- Set workspace defaults — configure the default rate in CRM Settings so every deal has a baseline
- Use rep-level rates — customize rates per rep for different roles or seniority levels
- Enable approval — the approval step catches errors before payout
Next Steps
- Deals — where commissions originate
- CRM Settings — configure commission rates and triggers
- Analytics — track revenue and team performance