1 Dashboard
2 Configure
3 Track
4 Payout
1 Dashboard & Codes
2 Tracking & Payouts
1 Commission Center
2 Configuration
Overview
Commission Dashboard
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

Commission Codes
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
Create / Edit Code
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

Commission Rules
9:41
Commission Rules
Create rules for bonuses and special commission rates based on conditions.
#1 First Job Bonus Active
Applies to: All Roles
First job at property
5% + $25.00 (adds to base)
#2 Weekend Premium Active
Applies to: Technicians
Days: Sat, Sun After hours
3% (adds to base)
#3 Multi-Service Upsell Active
Applies to: Sales Reps
3+ services Repeat customer
$50.00 (adds to base)
#4 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

Commission Types
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
Commission Postings
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

Rep Performance
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

Payout Settings
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

Data Architecture

Schema Tables

commissionTypes — 14 COES type definitions (B, C, D, F, L, M, N, O, P, Q, R, S, T, U) with trigger config, G/L defaults, calculation method
commissionCodes — Specific commission configs (~90 codes). Links to type, G/L mapping, rate, tiers, caps, service category filters
commissionSplitRules — Split commissions (e.g., Sales 40% + Pickup 60%). Array of {role, percentage, payrollClassId}
commissionPostings — Ledger of actual commissions. Status: pending → approved → posted → paid. G/L posting, split tracking, approval workflow
commissionPayrollBatches — Group postings for payroll. Status: draft → approved → exported → completed. QuickBooks/ADP/Gusto export
payrollClasses — Employee classification (sales, technician, installer, manager). Rate multiplier, eligible codes, guarantees
commissionGlAccounts — Chart of accounts (expense, liability, clearing). External system mapping for QuickBooks/ADP
commissionAuditLog — Full audit trail: type/code/class CRUD, posting approval, batch export, reversal tracking

Hooks & Convex Functions

api.commissions.queries
.getCommissionSummary — Aggregate stats (pending/approved/paid totals)
.listCommissionTypes — 14 types with active/inactive filter
.listCommissionCodes — Codes by type filter
.listCommissionPostings — Postings by status, limit 50
.getPendingCommissions — Pending approval queue
.getCommissionLeaderboard — Top earners with total
.hasCommissionTypesInitialized — First-run check
api.commissions.mutations
.initializeCommissionTypes — One-time setup of 14 types
.createCommissionCode — New code with G/L mapping
.approveCommissionPosting — Approve pending posting
.reverseCommissionPosting — Reverse with reason
api.contractor.teamRoles
.listCommissionRules — Conditional rules list
.createCommissionRule — New rule (conditions + payout)
.deleteCommissionRule — Remove rule
api.commissions.triggers
.onInvoicePost — Auto-calculate on invoice
.onTicketComplete — Calculate on job completion
.onPaymentReceived — Revenue-based trigger

Components

CommissionSummaryCard — Summary with pending/approved/paid stats
CommissionCodeRow — Code with type badge, rate, G/L
CommissionTypeCard — Type with color-coded left border
CommissionPostingRow — Posting with status, amount, approve CTA
CommissionTypeBadge — Color-coded type letter badge
PayrollBatchCard — Batch with period, totals, export status
Dashboard & Commission Codes
9:41
Commissions
Overview
$12,450
Total Earned
$3,200
Pending
Commission Codes
SALES-HVAC-01
HVAC Sales • 8.5%
Active
SALES-ELEC-02
Electrical • 7.5%
Active
REF-PLUMB-03
Plumbing Referral • 5%
Paused
SALES-HVAC-01
Active
HVAC Sales Commission — percentage-based on closed deals
Rate
8.5%
Min Payout
$10
Max Cap
$500
Tracking & Payouts
9:41
Tracking & Payouts
Commission Postings
HVAC Install — $340
Jake M. • Mar 8
Paid
Electrical Panel — $225
Sarah L. • Mar 10
Pending
Plumbing Repair — $85
Tom R. • Mar 11
Pending
Rep Performance
$4,200
Jake M.
$3,850
Sarah L.
$2,100
Tom R.
Payout Settings
Schedule
Bi-weekly
Min Threshold
$50.00
Next Payout
Mar 15
Commission Center
https://app.3bids.io/contractor/commissions
3Bids
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
https://app.3bids.io/contractor/commissions/config
3Bids
Dashboard ⌘1
Codes ⌘2
Postings ⌘3
Reps ⌘4
Payouts ⌘5
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