Commissions and tips
Unpaid commissions, card tip allocations, and payouts.
/dashboard/platform/commissions needs canManageCommissions.
Where amounts come from
- A
Commissionis created per service line at checkout:saleAmount,commissionRate,commissionAmount,isPaid,paidAt. - Tips are
GratuityLedgerEntryrows of typeallocationorrecovery, withpayoutStatuspayable,paid, orrecovery_due.
calculateCommission(stylistId, startDate, endDate) returns totals for a period.
Pay out
Pick a stylist
The page lists unpaid commissions per stylist (UnpaidStylistCommissions).
Pay commissions
payoutCommissions takes commissionIds and a reference. All commissions in one batch must belong to one stylist.
Pay card tips
payoutGratuities takes stylistId and a reference and marks payable tips as paid.
Refunds create CommissionAdjustment rows and tip recoveries, so a later payout reflects them. See Sales and refunds.