1 Overview
2 Configure
3 Track
4 Payout
5 Payroll
6 Planned
Overview
1 / Dashboard Live
9:41
Commissions
Commission Summary $24,380 total
$3,240
Pending (8)
$5,180
Approved (12)
$15,960
Paid (34)
Total Postings 54 Reversed 2
Monthly Trend +18%
Commission Management
Top Earners
MJ
Marcus Johnson
12 commissions
$6,240
SC
Sarah Chen
9 commissions
$4,890
DM
David Miller
8 commissions
$3,780
4
LP
Lisa Park
7 commissions
$3,120
5
JT
Jake Thompson
6 commissions
$2,450

CommissionDashboardScreen

useQuery(api.commissions.queries.getCommissionSummary), getCommissionLeaderboard, getPendingCommissions

2 / Commission Codes Live
9:41
Commission Codes
All S T D B L M C P R
12 codes
SALES-HVAC-01 S
HVAC Sales Commission
Percentage G/L: 76120-200
8.5%
TECH-DIAG-01 T
Diagnostic Service Fee
Flat Rate G/L: 76130-100
$25.00
DEM-PLUMB-01 D
Demand Plumbing Service
Percentage G/L: 76140-200
6.0%
BONUS-QTRLY B
Quarterly Performance Bonus
Tiered G/L: 76150-300
Tiered
LABOR-INST-01 L
Installation Labor
Per Unit G/L: 76160-100
$75.00
LEAD-REF-01 M
Lead Referral Commission
Flat Rate G/L: 76170-200
$50.00
Inactive

CommissionCodesScreen

useQuery(api.commissions.queries.listCommissionCodes), CommissionCodeRow component, type filter chips

Configuration
3 / Create / Edit Code Live
9:41
Create Commission Code
Code Information
Code Name *
Display Name *
Commission Type
S - Sales T - Tech D - Demand B - Bonus L - Labor
Calculation
Calculation Method
Percentage Flat Rate Tiered Hourly
Rate (%)
Applied to job revenue
Min Amount
Max Amount
G/L Account Mapping
Credit Account *
Debit Account
Department
Applicable Services
Electrical Panel Upgrades HVAC Plumbing Roofing
Effective Date

CreateCommissionCodeScreen

useMutation(api.commissions.mutations.createCommissionCode), type chip selector, G/L field mapping

4 / Commission Rules Live
9:41
Commission Rules
Create rules for bonuses and special commission rates based on conditions.
First Job Bonus Active
Applies to: All Roles
First job at property
5% + $25.00 (adds to base)
Weekend Premium Active
Applies to: Technicians
Days: Sat, Sun After hours
3% (adds to base)
Multi-Service Upsell Active
Applies to: Sales Reps
3+ services Repeat customer
$50.00 (adds to base)
Holiday Double Time Inactive
Applies to: All Roles
Holidays
10% (overrides base)

CommissionRulesScreen

useQuery(api.contractor.teamRoles.listCommissionRules), priority ordering, condition badges, override/additive logic

5 / Commission Types Live
9:41
Commission Types
14 COES-style commission types. Each type groups related codes with common triggers and accounting rules.
Sales
Primary sales commission
12 codes
Technician
Technician service commission
10 codes
Demand
Demand service commission
8 codes
Labor
Labor-based commission
6 codes
Contract/Club
Club/membership sales commission
5 codes
Lead Generated
Lead generation commission
4 codes
Bonus
Posted manually or by performance metrics
3 codes
Performance
Performance bonus commission
2 codes
+ 6 more types (F, N, O, Q, R, U)

CommissionTypesScreen

useQuery(api.commissions.queries.listCommissionTypes), CommissionTypeCard, 14 COES types, color-coded left borders

Tracking & Payouts
6 / Commission Postings Live
9:41
Commission Postings
All Pending Approved Posted Paid
8 postings
Marcus Johnson Pending
SALES-HVAC-01 S
Job Feb 22, 2026
$680
Sarah Chen Pending
TECH-DIAG-01 T
Job Feb 23, 2026
$25
David Miller Pending
DEM-PLUMB-01 D
Job Feb 23, 2026
$420
Lisa Park Pending
SALES-HVAC-01 S
Sale Feb 24, 2026
$1,125
Jake Thompson Pending
BONUS-QTRLY B
Performance Feb 24, 2026
$350

CommissionPostingsScreen

useQuery(api.commissions.queries.listCommissionPostings), useMutation(approveCommissionPosting, reverseCommissionPosting), bulk approve

7 / Rep Performance Live
9:41
Marcus Johnson
Marcus Johnson
Senior Sales Rep · Payroll Class: SALES-1
$6,240
This Month
12
Jobs Closed
78%
Close Rate
Earnings (6-Month)
Sep
Oct
Nov
Dec
Jan
Feb
vs. Team Average
Earnings +32% above avg
Close Rate +15% above avg
By Commission Type
S
Sales
8 postings
$4,320
B
Bonus
2 postings
$1,200
D
Demand
2 postings
$720

RepPerformanceScreen

useQuery(api.commissions.queries.getRepCommissions), bar chart, team comparison, type breakdown, payroll class info

8 / Payout Settings Live
9:41
Payout Settings
Payout Frequency
Weekly
Process every Friday
Bi-Weekly
Process every other Friday
Monthly
Process on the 1st of each month
Minimum Payout Threshold
Minimum Amount
Commissions below this amount roll over to next period
Default Payment Method
Direct Deposit (ACH)
Connected via Stripe
Active
Include in Payroll Export
QuickBooks, ADP, Gusto
Workflow Settings
Require Approval
All commissions must be approved before payout
Tax Withholding
Auto-withhold taxes from commission payouts
Auto-Post on Trigger
Automatically post commissions when trigger conditions are met
Notify Reps on Posting
Send notification when commission is posted

PayoutSettingsScreen

useMutation(api.commissions.mutations.updatePayoutSettings), frequency selector, Stripe Connect integration, approval workflow toggle

Payroll & My Commissions
13 / Payroll Classes Live
9:41
Payroll Classes
Payroll classes group employees by role and determine which commission codes they are eligible to earn.
Sales
6 members • 4 commission codes
Active
Technician
8 members • 3 commission codes
Active
Installer
4 members • 2 commission codes
Active
Manager
2 members • 5 commission codes
Active
Dispatcher
3 members • 1 commission code
Active
CSR
2 members • 1 commission code
Draft

PayrollClassesScreen

useQuery(api.commissions.queries.listPayrollClasses), listTeamMembersWithPayrollClasses, member count per class

14 / Create Payroll Class Live
9:41
Create Payroll Class
Class Information
Class Name *
Class Type *
Sales Technician Installer Manager Dispatcher CSR Other
Description
Eligible Commission Codes
Select which codes members of this class can earn.
SALES-HVAC-01
HVAC Sales Commission • 8.5%
TECH-DIAG-01
Diagnostic Service Fee • $25.00
DEM-PLUMB-01
Demand Plumbing Service • 6.0%
LABOR-INST-01
Installation Labor • $75.00
BONUS-QTRLY
Quarterly Performance Bonus • Tiered
Assigned Members
MJ
Marcus Johnson
DM
David Miller
Add Member

CreatePayrollClassScreen

useMutation(api.commissions.mutations.createPayrollClass), class type chips, code eligibility toggles, member assignment

15 / My Commissions Live
9:41
Commissions
$8,640
Total Earned
$1,250
Pending
$7,390
Paid Out
Last payout: Mar 15, 2026
Sales commission
Mar 8, 2026 paid
$680
8.5%
Demand commission
Mar 6, 2026 paid
$420
6.0%
Bonus commission
Mar 1, 2026 pending
$350
Tiered
Tech commission
Feb 28, 2026 pending
$900
$75/unit
Page 1 of 3

CommissionsScreen (Earnings)

useQuery(api.contractor.commissionSummary.getMyCommissionSummary), getMyCommissionHistory, paginated list with status badges

Planned Screens
9 / Posting Presets Planned
9:41
Posting Presets
Save Time with Presets Create reusable posting templates for common commission scenarios. Apply with one tap when posting commissions.
Standard HVAC Sale
SALES-HVAC-01 • 8.5% of revenue
Tech Diagnostic Fee
TECH-DIAG-01 • $25.00 flat
Quarterly Bonus
BONUS-QTRLY • Tiered
Weekend Premium Add-on
+3% rule overlay

PostingPresetsScreen

Planned — quick-apply posting templates, maps to commissionPostingPresets table

10 / G/L Accounts Planned
9:41
G/L Accounts
Chart of Accounts Map commission codes to your accounting system. Supports QuickBooks, ADP, and Gusto exports.
8 accounts configured
76120-200
Sales Commission Expense
Mapped
76130-100
Service Fee Expense
Mapped
76140-200
Demand Commission Expense
Mapped
21500-100
Commission Liability (Clearing)
Pending

GLAccountsScreen

Planned — commissionGlAccounts table, external system mapping

11 / Split Rules Planned
9:41
Split Commission Rules
Split Commissions Divide commissions across roles. E.g., Sales Rep 40% + Pickup Tech 60% on install jobs.
Install Job Split Active
Applies to: SALES-HVAC-01, SALES-ELEC-02
40%
Sales Rep
60%
Install Tech
Referral Lead Split Active
Applies to: LEAD-REF-01
50%
Referrer
50%
Closer

SplitCommissionRulesScreen

Planned — commissionSplitRules table, role-based percentage splits

12 / Area Multipliers Planned
9:41
Area Multipliers
Location-Based Rates Adjust commission rates by service area. Higher multipliers for premium zones or underserved areas.
Downtown Core
High-density zone • Premium pricing
1.25x
Suburban Ring
Standard zone • Base rate
1.00x
Rural Outskirts
Underserved zone • Incentive boost
1.50x
New Market
Expansion zone • Temporary boost
1.75x

ServiceAreaMultipliersScreen

Planned — location-based commission rate adjustments, maps to commissionAreaMultipliers

1 Dashboard & Config
2 Codes & Rules
3 Postings & Approval
4 Payroll & Export
5 Payroll Classes
Dashboard & Config Live
9:41
Commissions
Commission KPIs
$12,450
Total Earned
$3,200
Pending
87
Active Codes
14
Types
Leaderboard
1
Jake M.
$4,200
2
Sarah L.
$3,850
3
Tom R.
$2,100
Monthly Trend
Commission Types (14 COES)
B • Sales C • Install D • Callback F • Referral L • Lead Gen M • Maint N • New Const O • Override P • Profit Q • Quality R • Retention S • Service T • Training U • Upsell
Payout Settings
Schedule
Bi-weekly
Min Threshold
$50.00
Payment Method
Direct Deposit
Next Payout
Mar 15
G/L Accounts
5100 — Commission Expense
Active
2200 — Commission Liability
Active
1500 — Clearing Account
Active
Codes & Rules Live
9:41
Codes & Rules
All
Sales
Install
Referral
SALES-HVAC-01
HVAC Sales • 8.5%
Active
SALES-ELEC-02
Electrical • 7.5%
Active
REF-PLUMB-03
Plumbing Referral • 5%
Paused
INST-HVAC-04
HVAC Install • 6%
Active
UPSELL-IAQ-05
IAQ Upsell • 10%
Active
SALES-HVAC-01
Active
HVAC Sales Commission — percentage-based on closed deals
Rate
8.5%
Min Payout
$10
Max Cap
$500
Commission Rules
3 Active
P1
Revenue > $5K bonus
+2% if job revenue exceeds $5,000
Active
P2
New customer bonus
+$50 flat for first-time customers
Active
P3
Split: Sales 40% / Pickup 60%
Multi-role split on install jobs
Active
Postings & Approval Live
9:41
Postings & Approval
All
Pending
Approved
Paid
Electrical Panel — $225
Sarah L. • SALES-ELEC-02 • Mar 10
Pending
Plumbing Repair — $85
Tom R. • REF-PLUMB-03 • Mar 11
Pending
HVAC Install — $340
Jake M. • SALES-HVAC-01 • Mar 8
Approved
AC Replacement — $510
Jake M. • INST-HVAC-04 • Mar 6
Paid
Duct Cleaning — $45
Sarah L. • SALES-HVAC-01 • Mar 4
Reversed
Electrical Panel — $225
Pending Approval
Rep
Sarah L.
Code
SALES-ELEC-02
Job Revenue
$3,000
Rate
7.5%
G/L Mapping
5100 Commission Expense → 2200 Commission Liability
Audit Log
Posted automatically
System • Mar 10, 2:14 PM
Job completed
onTicketComplete • Mar 10, 1:30 PM
Payment received
onPaymentReceived • Mar 10, 12:45 PM
Payroll Batches & Export Live
9:41
Payroll Batches
All
Draft
Approved
Exported
Batch #2024-06
Mar 1–15 • 12 postings • $4,320
Draft
Batch #2024-05
Feb 16–28 • 18 postings • $6,150
Exported
Batch #2024-04
Feb 1–15 • 15 postings • $5,680
Completed
Batch #2024-03
Jan 16–31 • 10 postings • $3,450
Completed
Batch #2024-06
Draft
$4,320
Total
12
Postings
4
Reps
Rep Breakdown
Jake M.
$1,850 (5 postings)
Sarah L.
$1,320 (4 postings)
Tom R.
$780 (2 postings)
Mike D.
$370 (1 posting)
Export Options
Export includes: Rep name, payroll class, code, amount, G/L accounts, period dates, job reference
Payroll Classes & My Commissions Live
9:41
Payroll Classes
Payroll classes group employees by role and determine commission code eligibility.
Sales
6 members • 4 codes
Active
Technician
8 members • 3 codes
Active
Installer
4 members • 2 codes
Active
Manager
2 members • 5 codes
Active
Dispatcher
3 members • 1 code
Active
Sales
Active
Members (6)
MJ
Marcus Johnson
Senior Sales Rep
$6,240
SC
Sarah Chen
Sales Rep
$4,890
LP
Lisa Park
Sales Rep
$3,120
Eligible Commission Codes (4)
SALES-HVAC-01 S
HVAC Sales Commission
8.5%
SALES-ELEC-02 S
Electrical Sales Commission
7.5%
BONUS-QTRLY B
Quarterly Performance Bonus
Tiered
LEAD-REF-01 M
Lead Referral Commission
$50.00
1 Commission Center
2 Configuration
3 Postings
4 Payouts
5 Payroll Classes
Commission Dashboard Live
https://app.3bids.io/contractor/commissions
3BidsCommissions
Dashboard ⌘1
Codes ⌘2
Postings ⌘3
Reps ⌘4
Payouts ⌘5
MK
Mike Kowalski
Contractor

Commission Center

$12,450
Total Earned
$3,200
Pending
3
Active Codes
+18%
Growth
Recent Postings
HVAC Install — $340
Jake M. • Mar 8
Electrical Panel — $225
Sarah L. • Mar 10
Plumbing Repair — $85
Tom R. • Mar 11
Earnings Trend
Commission Configuration Live
https://app.3bids.io/contractor/commissions/config
3BidsCommissions
Dashboard
Codes
Postings
Reps
Payouts
MK
Mike Kowalski
Contractor

Commission Configuration

Commission Rules
Percentage of sale
Default • 8.5% rate
Flat fee per job
$50 per completed job
Tiered bonus
Extra 2% over $10K/month
Rep Leaderboard
1
Jake Martinez
$4,200 earned
2
Sarah Lewis
$3,850 earned
3
Tom Rodriguez
$2,100 earned
Commission Postings Live
https://app.3bids.io/contractor/commissions/postings
3BidsCommissions
Dashboard
Codes
Postings
Reps
Payouts
MK
Mike Kowalski
Contractor

Commission Postings

All Pending Approved Posted Paid
Marcus Johnson
SALES-HVAC-01 • Feb 22
$680 Pending
Sarah Chen
TECH-DIAG-01 • Feb 23
$25 Pending
David Miller
DEM-PLUMB-01 • Feb 23
$420 Pending
Lisa Park
SALES-HVAC-01 • Feb 24
$1,125 Pending
Payout Settings Live
https://app.3bids.io/contractor/commissions/payouts
3BidsCommissions
Dashboard
Codes
Postings
Reps
Payouts
MK
Mike Kowalski
Contractor

Payout Settings

Payout Schedule
Frequency
Bi-weekly
Min Threshold
$50.00
Payment Method
ACH (Stripe)
Next Payout
Mar 15, 2026
Workflow Settings
Require Approval
All commissions need approval
Auto-Post on Trigger
Post when conditions met
Notify Reps
Send notification on posting
Payroll Class Manager Live
https://app.3bids.io/contractor/commissions/payroll-classes
3BidsCommissions
Dashboard ⌘1
Codes ⌘2
Postings ⌘3
Classes ⌘4
Payouts ⌘5
MK
Mike Kowalski
Contractor

Payroll Classes

Payroll classes group employees by role and determine which commission codes they are eligible to earn.
Sales
Active
6
Members
4
Codes
S B M L
Technician
Active
8
Members
3
Codes
T D B
Installer
Active
4
Members
2
Codes
L B
Manager
Active
2
Members
5
Codes
S T D B P
Dispatcher
Active
3
Members
1
Codes
M
CSR
Draft
2
Members
1
Codes
M
All Team Members by Class
Member
Class
Role
MTD Earned
MJ
Marcus Johnson
Sales
Senior Rep
$6,240
SC
Sarah Chen
Sales
Sales Rep
$4,890
DM
David Miller
Technician
Lead Tech
$3,780
LP
Lisa Park
Sales
Sales Rep
$3,120
JT
Jake Thompson
Installer
Lead Installer
$2,450

Data Architecture

Source Files

commission-dashboard.tsx
Dashboard — KPIs, leaderboard, summary cards
screen
commission-types.tsx
14 COES type definitions & config
screen
commission-codes.tsx
Code list — filters, search, status
screen
create-commission-code.tsx
New code form — type, rate, G/L, caps
screen
edit-commission-code.tsx
Edit existing code — partial update
screen
commission-rules.tsx
Rules list — priority ordering, conditions
screen
create-commission-rule.tsx
New rule — conditions + payout config
screen
commission-postings.tsx
Posting ledger — status, approve, reverse
screen
payroll-batches.tsx
Batch list — period, totals, export
screen
payroll-classes.tsx
Payroll class list — member counts, code eligibility
screen
commissions.tsx (earnings)
My commissions — summary stats, paginated history
screen

Convex Queries

getCommissionSummary
Aggregate stats (pending/approved/paid totals)
query
listCommissionTypes
14 types with active/inactive filter
query
listCommissionCodes
Codes by type filter, status, search
query
listCommissionRules
Conditional rules with priority ordering
query
listCommissionPostings
Postings by status, date range, limit 50
query
getCommissionLeaderboard
Top earners ranked by total
query
listPayrollBatches
Batches by status (draft/approved/exported/completed)
query
getPendingCommissions
Awaiting approval with rep details
query
getCommissionAuditLog
Full trail: CRUD, approvals, reversals
query
listPayrollClasses
All payroll classes with status
query
listTeamMembersWithPayrollClasses
Team members with class assignments
query
getMyCommissionSummary
Individual rep’s earned/pending/paid totals
query
getMyCommissionHistory
Paginated commission entries for current user
query

Convex Mutations

createCommissionCode
New code with type, rate, G/L mapping, caps
mutation
updateCommissionCode
Partial update by codeId
mutation
createCommissionRule
New rule (conditions + payout config)
mutation
deleteCommissionRule
Remove rule by ruleId
mutation
approveCommissionPosting
Approve pending posting
mutation
reverseCommissionPosting
Reverse with reason
mutation
createPayrollBatch
Group approved postings for export
mutation
exportPayrollBatch
Generate payroll file (CSV/API)
mutation
initializeCommissionTypes
One-time setup of 14 COES types
mutation
updatePayoutSettings
Frequency, threshold, payment method
mutation
createPayrollClass
New class with type, code eligibility, members
mutation

Commission Code Status Flow

draft active archived

Key Design Decisions

Contractor Palette
Terracotta accent, IconCircle styles B/D/F/G + semantic J/K/L throughout
14 COES Types
Each commission type gets a unique color-coded badge for instant visual identification
Approval Workflow
pending → approved → posted → paid with reversal at any stage
Payroll Batches
Aggregate approved postings by period for bulk export to payroll systems