Commissions and tips

Unpaid commissions, card tip allocations, and payouts.

/dashboard/platform/commissions needs canManageCommissions.

Where amounts come from

  • A Commission is created per service line at checkout: saleAmount, commissionRate, commissionAmount, isPaid, paidAt.
  • Tips are GratuityLedgerEntry rows of type allocation or recovery, with payoutStatus payable, paid, or recovery_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.

On this page