💰 Payroll & Commission 竞品深度调研
美甲沙龙行业薪酬计算模型全景 · 8 家竞品对比 · Celoria 现状与 EUJ
更新于 2026-02-22
1. 行业核心洞察
🔑 关键发现:大多数沙龙软件不做"真正的 Payroll"
经过对 8 家竞品的深入调研,最重要的发现是:
核心结论:"Payroll" 在美甲/美容行业有两层含义。大多数沙龙管理软件只做第一层(佣金计算 + 薪资汇总),
而将第二层(报税、直接入账、W-2/1099)交给专业 Payroll 供应商(Gusto、ADP、Paychex)处理。
第一层:佣金计算 & 薪资汇总(沙龙软件负责)
- 服务佣金按规则自动计算
- 小费分配与追踪
- 基本工资 + 加班费计算
- 工时记录(Time Clock)
- 薪资预览 & 报表导出
- Pay Period 汇总
第二层:税务 & 入账(专业 Payroll 供应商)
- 联邦/州/地方税计算与代扣
- Direct Deposit(银行直接入账)
- W-2 / 1099 年终税表
- 社保、医保、失业保险
- 新员工税务登记
- 合规审计 & IRS Filing
对 Celoria 的启示:我们不需要自建完整的 Payroll 税务引擎。
应聚焦在第一层(佣金计算、薪资汇总、报表),通过 API 集成 Gusto 或 ADP 完成第二层。
这是 Vagaro、Boulevard、Mangomint 等竞品共同选择的路径。
💡 美甲沙龙薪酬的独特之处
| 特征 |
说明 |
影响 |
| 佣金为主要收入 |
60-70% 技师收入来自服务佣金,而非固定工资 |
佣金计算引擎是核心 |
| 小费占比高 |
美甲行业小费通常达到服务金额的 15-25% |
需要灵活的小费分配规则 |
| 混合工资模式 |
同一个技师可能同时有固定时薪 + 佣金 + 小费 |
需要 "Greater-Of" 或混合计算 |
| 多门店跨店上班 |
技师可能在多个门店轮班,费率可能不同 |
需支持按门店配置佣金规则 |
| 产品销售佣金 |
除了服务佣金外,还有产品推销佣金 |
需区分 service commission 和 product commission |
| 1099 vs W-2 共存 |
部分技师是独立承包商(1099),部分是雇员(W-2) |
税务处理和佣金模式不同 |
| FLSA 7(i) 豁免 |
佣金 > 50% 总收入 + 时薪 > 1.5× 最低工资可免加班费 |
需要自动判断豁免资格(Zenoti 有此功能) |
2. 四大薪酬计算模型
📊 行业通用的四种薪酬模型
几乎所有美甲沙龙的薪酬计算都可以归结为以下四种模型之一或其组合:
| 模型 |
公式 |
适用场景 |
竞品使用 |
| 1. 纯时薪 (Hourly Only) |
Gross = Hours × Rate + OT × 1.5 × Rate + Tips
|
新手技师、学徒期 |
所有竞品支持 |
| 2. 佣金叠加 (Commission + Base) |
Gross = (Hours × Rate) + Commission + Tips
|
佣金作为底薪之外的额外激励 |
Zenoti (Model 2), DaySmart |
| 3. 取高者 (Greater-Of / Guaranteed Min) |
Gross = MAX(Hours × Rate, Commission) + Tips
|
确保技师最低收入保障 |
Zenoti (Model 3), Mangomint, Boulevard |
| 4. 纯佣金 (Commission Only) |
Gross = Commission + Tips
|
资深技师、独立承包商 (1099) |
所有竞品支持 |
关键模型 — "Greater-Of":这是美国美甲行业最常用的模型。技师有保底时薪(如 $15/hr),
但如果当期佣金收入超过保底薪资,就按佣金发放。例如:80小时 × $15 = $1,200 vs 佣金 $1,800 → 发 $1,800。
Zenoti 称之为 "MAX(Commission, Base Rate)",Mangomint 称之为 "Greater-Of"。
📐 佣金的两种阶梯计算方式
全额阶梯 (Highest Qualified / Flat Tier)
// 技师当期服务总额 $12,000
// 阶梯:$0-5000 → 40%, $5001-10000 → 45%, $10001+ → 50%
// 达到最高档 → 全额按 50% 计算
Commission = $12,000 × 50% = $6,000
使用者:Zenoti (Highest Qualified), Boulevard, DaySmart (Single Step)
特点:激励性强,技师越接近下一档位动力越大
累进阶梯 (Cumulative / Progressive)
// 技师当期服务总额 $12,000
// 阶梯:$0-5000 → 40%, $5001-10000 → 45%, $10001+ → 50%
// 每档分别计算
Tier 1: $5,000 × 40% = $2,000
Tier 2: $5,000 × 45% = $2,250
Tier 3: $2,000 × 50% = $1,000
Commission = $5,250
使用者:Zenoti (Cumulative), DaySmart (Incremental Steps), Mangomint (Progressive)
特点:对雇主成本更可控,类似个人所得税的边际税率
3. 竞品 1: Mase / 博卡 (BOKA)
🇨🇳 Mase (BOKA 博卡海外版) 中国市场
| 维度 |
详情 |
| 公司背景 |
上海博卡软件科技有限公司,阿里巴巴投资。中国美业 SaaS 领导者,服务 100,000+ 门店 |
| 海外品牌 |
Mase(面向北美华人市场),年费 $499/店 |
| 佣金系统亮点 |
800+ 佣金算法,50+ 计算模型,号称业界最复杂 |
| 薪酬报表 |
300+ 财务报表,含日/周/月佣金明细、门店分摊、团队绩效 |
| Payroll 定义 |
佣金计算 + 报表导出。不做美式 Payroll(税务、W-2、Direct Deposit) |
佣金模型特色
- 按服务分类差异化:洗剪吹 40%、烫染 50%、护理 35% — 同一技师不同服务可配不同佣金率
- 按等级阶梯:初级 30%、中级 40%、高级 50%、总监 55%
- 按业绩区间:月业绩 < 2万 → 35%,2-5万 → 40%,5万+ → 45%
- 团队分成:主理 60% + 助理 40%(可自定义分配比例)
- 指定客佣金:老客复购佣金可高于新客
- 底薪保障:类似 Greater-Of 模型,底薪与佣金取高
关键差异:Mase/BOKA 的 "Payroll" 本质是佣金计算引擎 + 报表。
不包含美国 Payroll 所需的联邦/州税计算、Direct Deposit、W-2 报表等。
这是因为中国的薪酬发放由公司财务直接处理,不需要第三方 Payroll Provider。
4. 竞品 2: Zenoti
🏢 Zenoti Tier 1 — 最完整
| 维度 |
详情 |
| 定位 |
企业级 SaaS,$300-500/月/店。服务 30,000+ 门店(Massage Envy, Hand & Stone 等连锁) |
| Payroll 能力 |
内置完整 Payroll(通过合作伙伴 ZIP):税务计算、Direct Deposit、W-2/1099 |
| 佣金复杂度 |
业界最高:3 种 Payout Model × 2 种阶梯 × 3 层扣减 × 7(i) 豁免 |
三种 Payout 模型
Model 1 — Hourly Only:
Pay = Hours × Hourly_Rate + OT_Hours × 1.5 × Hourly_Rate
Model 2 — Commission + Base Rate (Additive):
Pay = (Hours × Hourly_Rate) + Sum(Commission) + Tips
// 佣金是底薪之外的额外收入
Model 3 — MAX(Commission, Base Rate) — "Guaranteed Minimum":
Base_Pay = Hours × Hourly_Rate
Commission_Total = Sum(Service_Revenue × Commission_Rate)
Pay = MAX(Base_Pay, Commission_Total) + Tips
// 确保技师至少拿到保底时薪
两种阶梯佣金
- Highest Qualified(全额阶梯):达到最高档位 → 全部金额按最高费率计算
- Cumulative(累进阶梯):每档分别计算,类似个税的边际税率
三层扣减体系 (Deductions)
| 层级 |
扣减位置 |
示例 |
| Service-Level |
单个服务的佣金计算前扣减 |
材料费 $5/次、产品成本 |
| Invoice-Level |
整张发票级别扣减 |
顾客折扣分摊(技师承担部分折扣) |
| Total Commission |
佣金汇总后扣减 |
工位租金 $200/周、工具折旧 |
FLSA 7(i) 加班费豁免
自动判断豁免资格:
条件 1: 佣金收入 > 50% 总收入
条件 2: 有效时薪 > 1.5 × 联邦最低工资 ($7.25 × 1.5 = $10.875)
两个条件同时满足 → 该 Pay Period 豁免加班费(OT 不按 1.5x 计算)
Zenoti 实现:系统自动在每个 Pay Period 结束时检查这两个条件,
如果满足 7(i) 豁免则将加班小时按普通时薪计算而非 1.5x。
Payroll 集成 (ZIP)
- Zenoti 内置 ZIP Payroll 深度集成,是唯一做到"端到端"的美业 SaaS
- 佣金/工时数据自动同步到 ZIP → 税务计算 → Direct Deposit
- 支持联邦税 + 50 州税 + 地方税
- W-2 和 1099 年终自动生成
- 多门店薪资合并处理(技师跨店工作时按统一 Pay Period 汇总)
5. 竞品 3: Vagaro
💚 Vagaro Tier 2 — 深度集成
| 维度 |
详情 |
| 定位 |
中小型沙龙,$30-90/月/店(按日历数量计价) |
| Payroll 能力 |
内置佣金计算 + Gusto 深度集成(一键同步到 Gusto 处理税务) |
| 特色功能 |
Business Cost Deduction(产品成本扣减后再算佣金) |
| Payroll 定价 |
$39/月基础 + $6/人/月(通过 Gusto 处理) |
佣金公式
// 标准佣金
Commission = Service_Price × Commission_Rate
// 扣除产品成本后的佣金(Business Cost Deduction)
Commission = (Service_Price - Product_Cost) × Commission_Rate
// 示例:$100 美甲服务,产品成本 $15,佣金率 50%
Standard: $100 × 50% = $50
With BCD: ($100 - $15) × 50% = $42.50
// 店主节省 $7.50/单
Gusto 集成流程
Vagaro 自动计算
佣金 + 小费 + 工时
→
一键同步到
Gusto Payroll
→
Gusto 计算
联邦/州/地方税
→
Direct Deposit
发到员工银行
→
年终自动
W-2 / 1099
佣金配置选项
- 按服务类型:不同服务设不同佣金率
- 按员工:每个员工可设独立佣金率
- 按产品:产品销售佣金独立配置
- 小费处理:自动/手动分配,支持 tip pooling
- Business Cost:可在 Service 级别设置扣减金额
6. 竞品 4: Boulevard
💜 Boulevard Tier 3 — 手动导出
| 维度 |
详情 |
| 定位 |
高端沙龙/SPA,$175-410/月/店 |
| Payroll 能力 |
内置佣金计算 + 报表导出到 Gusto/ADP(无直接 API 集成) |
| 佣金特色 |
Non-tax Tiered Commission(全额阶梯),每档可配 % 或固定金额 |
佣金模型
- Flat Rate:所有服务统一佣金率
- Per-Service Rate:每个服务独立佣金率
- Tiered (Non-tax):全额阶梯 — 达到最高档位,整体按最高费率计算
- 固定金额 per Service:每个服务付固定金额($10/次)而非百分比
Payroll 工作流
Boulevard 计算
佣金 + 小费
→
手动导出 CSV
Payroll 报表
→
人工导入
Gusto / ADP
→
Gusto/ADP
处理税务和入账
痛点:Boulevard 没有与任何 Payroll 供应商的 API 集成。
店主必须每期手动导出 CSV 再导入 Gusto/ADP。这是 Boulevard 用户在社区论坛中反馈最多的不满之一。
7. 竞品 5: DaySmart
🟡 DaySmart Tier 2 — Payroll Tables
| 维度 |
详情 |
| 定位 |
中小沙龙,$29-199/月/店 |
| Payroll 能力 |
"Payroll Tables" 系统 — 类似 Excel 的薪资计算表 + Gusto 集成 |
| 佣金特色 |
Single Step(全额阶梯)和 Incremental Steps(累进阶梯)两种模式 |
两种阶梯模式对比
// 示例:技师当期服务总额 $12,000
// 阶梯:$0-5000 → 40%, $5001-10000 → 45%, $10001+ → 50%
Single Step(全额阶梯):
达到 $10,001+ 档位 → 全部按 50%
Commission = $12,000 × 50% = $6,000
Incremental Steps(累进阶梯):
$5,000 × 40% = $2,000
$5,000 × 45% = $2,250
$2,000 × 50% = $1,000
Commission = $5,250
"Payroll Tables" 概念
DaySmart 提供可视化的薪资计算表,类似 Excel 表格:
- 行:每个员工
- 列:基本工资、佣金、小费、加班、扣减、应发总额
- 支持手动调整每个单元格(override)
- 计算完毕后导出或同步到 Gusto
8. 竞品 6: Mangomint
🟦 Mangomint Tier 1 — Interactive Payroll
| 维度 |
详情 |
| 定位 |
中高端沙龙/SPA,$165-375/月/店。YC 背景,增长最快的新兴竞品 |
| Payroll 能力 |
"Interactive Payroll" — 实时预览 + Gusto API 深度集成 |
| 佣金特色 |
最强 "Greater-Of" 实现 + 零基 vs 累进滑动 |
| Payroll 定价 |
佣金计算内置免费,Gusto 集成 $39/月 + $6/人/月 |
Greater-Of 实现(业界最强)
// Mangomint 的 "Greater-Of" 包含完整的对比逻辑:
Base_Guarantee = Hours_Worked × Hourly_Rate
Commission = Sum(Service_Revenue × Commission_Rate)
Tips = Sum(All_Tips)
// 第一步:对比(不含小费)
If Commission >= Base_Guarantee:
Earnings = Commission // 佣金更高,按佣金发
Else:
Earnings = Base_Guarantee // 保底薪更高,按保底发
Shortfall = Base_Guarantee - Commission // 记录差额
// 第二步:加上小费
Total_Pay = Earnings + Tips
// 差额追踪(Shortfall Tracking)
// Mangomint 自动记录每期的 Shortfall,
// 帮助店主评估技师是否长期达不到佣金目标
两种佣金滑动方式
- Zero-Based(零基滑动):达到更高档位,全部从零开始按新费率重算(= Full Tier)
- Progressive(累进滑动):每档独立计算,类似边际税率
Interactive Payroll 界面
- 实时预览:修改佣金规则 → 立即看到对所有技师薪资的影响
- What-if 模拟:可以模拟"如果某技师下月业绩增加 20%"的薪资变化
- 一键同步 Gusto:通过 API 直接推送到 Gusto,无需手动导出 CSV
- Pay Period 灵活:支持 Weekly / Bi-Weekly / Semi-Monthly / Monthly
9. 竞品 7: GlossGenius
💗 GlossGenius 无内置 Payroll
| 维度 |
详情 |
| 定位 |
独立美甲师 / 小型工作室,$24-48/月 |
| Payroll 能力 |
不提供佣金计算或 Payroll 功能 |
| 薪酬处理 |
收入追踪 → 手动导出 → 自行处理(税务软件/会计师) |
GlossGenius 目标用户是独立从业者(solo practitioner),
这类用户不需要复杂的佣金计算,主要关注预约和收款。薪酬方面只提供基础的收入追踪报表。
10. 竞品 8: Fresha
🟩 Fresha 部分支持
| 维度 |
详情 |
| 定位 |
全球化 SaaS,软件免费 + 交易费抽成 2.19%+$0.20 |
| Payroll 能力 |
基础佣金追踪 + Staff Performance Report。不做税务处理 |
| 佣金模型 |
固定百分比佣金(不支持阶梯)、产品佣金独立配置 |
佣金配置
- 按员工设置 Service Commission %
- 按员工设置 Product Commission %
- 小费 100% 归技师或按规则分配
- 不支持阶梯佣金、不支持 Greater-Of
- 佣金数据可导出 CSV 供外部 Payroll 使用
11. 功能矩阵横向对比
🔍 完整功能矩阵
| 功能 |
Zenoti |
Mase |
Vagaro |
Mangomint |
Boulevard |
DaySmart |
GlossGenius |
Fresha |
| 基本佣金 (Flat %) |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| 按服务差异化佣金 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| 阶梯佣金 (Tiered) |
✅ 两种 | ✅ | ❌ | ✅ 两种 | ✅ 全额 | ✅ 两种 | ❌ | ❌ |
| Greater-Of 模型 |
✅ | ✅ | ❌ | ✅ 最强 | ❌ | ❌ | ❌ | ❌ |
| 成本扣减 (BCD) |
✅ 三层 | 部分 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 产品销售佣金 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| 小费追踪 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 加班费自动计算 |
✅ + 7(i) | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Time Clock 集成 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Pay Period 配置 |
✅ 4种 | 月结 | ✅ 4种 | ✅ 4种 | ✅ | ✅ | ❌ | 月结 |
| 实时薪资预览 |
✅ | ❌ | ❌ | ✅ 最强 | ❌ | ✅ | ❌ | ❌ |
| 多门店薪资合并 |
✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
| Payroll 集成 |
ZIP 内置 | ❌ | Gusto API | Gusto API | CSV 导出 | Gusto API | ❌ | CSV 导出 |
| 税务处理 |
✅ 内置 | ❌ | ✅ via Gusto | ✅ via Gusto | ❌ | ✅ via Gusto | ❌ | ❌ |
| W-2 / 1099 |
✅ 内置 | ❌ | ✅ via Gusto | ✅ via Gusto | ❌ | ✅ via Gusto | ❌ | ❌ |
| Direct Deposit |
✅ 内置 | ❌ | ✅ via Gusto | ✅ via Gusto | ❌ | ✅ via Gusto | ❌ | ❌ |
💲 定价对比
| 竞品 |
软件月费 |
Payroll 加价 |
税务处理方式 |
| Zenoti |
$300-500/店 |
内含(ZIP 集成) |
内置完整 |
| Mase |
$499/年/店 |
N/A |
不适用(中国市场) |
| Vagaro |
$30-90/店 |
$39/月 + $6/人 |
Gusto 集成 |
| Mangomint |
$165-375/店 |
$39/月 + $6/人 |
Gusto 集成 |
| Boulevard |
$175-410/店 |
无 Payroll 集成 |
手动导出到 Gusto/ADP |
| DaySmart |
$29-199/店 |
$39/月 + $6/人 |
Gusto 集成 |
| GlossGenius |
$24-48 |
N/A |
不提供 |
| Fresha |
免费 + 2.19% |
N/A |
CSV 导出 |
12. Celoria 当前现状
🔵 Celoria 薪酬基础设施(完成度 ~55%)
已完成 ✅
| 模块 |
文件 |
能力 |
| Payroll Service |
backend/services/payrollService.js (712行) |
calculatePayroll(), generatePayrollReport(), finalizePayrollReport(), markPayrollPaid(), previewPayroll() |
| Payroll 报表查询 |
backend/services/reports/queries/payroll.js (188行) |
getPayrollSummary(), getDailyPayrollDetail() |
| 佣金查询 |
backend/services/reports/queries/commission.js (182行) |
getCommissionSummary(), getCommissionDetail() |
| Time Clock |
backend/api/time-clock.js |
打卡签到/签退、休息时间、工时统计 |
| payroll_reports 表 |
数据库迁移 |
draft → finalized → paid 三态流转 |
| Commission Records |
commission_records 表 |
service/product/tip/package 四类佣金记录 |
当前公式
// Celoria 当前薪资计算逻辑(payrollService.js)
Base_Pay = Regular_Hours × Hourly_Rate
+ OT_Hours × 1.5 × Hourly_Rate
Tips = Sum(tip_distributions WHERE employee_id AND period)
Commission = Sum(sub_appointment.tip_amount × commission_rate)
// 注意:当前从 sub_appointments 读取,非 commission_records
Gross_Pay = Base_Pay + Tips + Commission
缺失 ❌
| 缺失功能 |
竞品参考 |
优先级 |
| Greater-Of 模型 |
Zenoti Model 3, Mangomint |
P0 — 核心 |
| 阶梯佣金(全额 + 累进) |
Zenoti, DaySmart, Mangomint |
P0 — 核心 |
| 佣金规则配置 UI |
所有竞品 |
P0 — 核心 |
| Pay Period 配置 |
Zenoti, Mangomint, Vagaro |
P1 — 重要 |
| Payroll 前端页面 |
Mangomint Interactive Payroll |
P1 — 重要 |
| 按服务差异化佣金率 |
所有竞品 |
P1 — 重要 |
| 佣金自动记录(结账时写入 commission_records) |
所有竞品 |
P1 — 重要 |
| Business Cost Deduction |
Vagaro, Zenoti |
P2 — 锦上添花 |
| Gusto/ADP API 集成 |
Vagaro, Mangomint, DaySmart |
P2 — 后期 |
| FLSA 7(i) 豁免 |
Zenoti |
P2 — 后期 |
| 薪资预览 / What-if |
Mangomint |
P3 — 远期 |
| 多门店薪资合并 |
Zenoti, Mangomint |
P3 — 远期 |
13. EUJ — 终端用户旅程
👩💼 角色 1: 店主 / Admin — 佣金规则配置
频率:初始设置时 + 偶尔调整
Settings → Payroll
佣金规则配置
→
选择薪酬模型
时薪/佣金/Greater-Of
→
配置佣金率
按服务/员工/阶梯
→
设置 Pay Period
Weekly/Bi-Weekly
→
保存 & 预览
生效日期
配置项
- 全局默认规则:所有技师的默认佣金模型和费率
- 按员工覆盖:为特定技师设置不同的佣金规则(如资深技师佣金更高)
- 按服务差异:不同服务类别可配不同佣金率(美甲 45%、美睫 40%)
- 阶梯规则:设定业绩区间和对应费率($0-5K → 40%,$5K-10K → 45%)
- 小费策略:100% 归技师 / Tip Pool 分配 / 按比例分配
👩💼 角色 2: 店主 / Manager — Payroll 运行流程
频率:每个 Pay Period(通常每两周一次)
Reports → Payroll
进入薪资页面
→
选择 Pay Period
Feb 1 - Feb 14
→
查看自动计算
佣金/工时/小费
→
审核 & 手动调整
(如有必要)
→
确认 Finalize
锁定本期薪资
→
导出 / 同步
到 Payroll 供应商
详细步骤
- 进入 Payroll 页面:显示所有员工当期薪资汇总卡片
- 自动计算结果:系统根据配置好的规则,自动从 Time Clock + 交易记录计算:
- 基本工资 = 工时 × 时薪(自动区分 Regular / OT)
- 佣金 = 根据规则引擎计算(支持 Greater-Of 自动取高)
- 小费 = 从交易记录汇总
- 审核调整:店主可以:
- 查看每个技师的明细(展开查看每笔服务的佣金计算过程)
- 手动调整(加扣款 Bonus / Deduction)
- 标注争议项(如工时有异议)
- Finalize 确认:点击后锁定本期薪资,不可再修改
- 生成正式 Payroll Report(存入 payroll_reports 表)
- 记录操作人和时间戳
- 导出/同步:
- CSV 导出(适用于没有 API 集成的场景)
- 未来:一键同步到 Gusto(API 集成)
💇♀️ 角色 3: 技师 / Employee — 查看薪资
频率:每个 Pay Period + 实时查看当期进度
Employee App
或 Web 个人面板
→
My Earnings
查看当期收入
→
佣金明细
每笔服务佣金
→
小费明细
按日/按服务
→
历史薪资单
Pay Stubs
技师可见内容
- 当期实时进度:已完成服务的佣金累计、小费累计、预估总薪资
- 佣金明细:每笔服务的佣金计算过程(服务金额 × 佣金率 = 佣金额)
- 小费明细:每笔小费来源、分配规则
- 阶梯进度:当前处于哪个佣金档位,距下一档还差多少
- 历史薪资单:已 Finalized 的历史 Pay Period 明细
- 工时记录:打卡记录、加班时间确认
14. 差距分析与优先级建议
🎯 分阶段实施建议
Phase 1 — 佣金引擎 MVP(P0 核心)
目标:让店主能配置佣金规则,结账时自动计算并记录佣金。
- 佣金规则配置表(commission_rules):按员工、按服务、按类别
- 佣金计算引擎:支持 Flat Rate + Greater-Of 两种模型
- 结账时自动写入 commission_records 表
- 佣金配置 UI(Settings → Commission Rules)
- 基本 Payroll 汇总页面(基于现有 payrollService.js 增强)
Phase 2 — 完整 Payroll(P1 重要)
目标:提供完整的 Pay Period 管理,店主可以 Finalize 并导出薪资。
- 阶梯佣金(全额 + 累进两种)
- Pay Period 配置和管理
- Payroll 审核 & Finalize 流程
- CSV 导出(兼容 Gusto/ADP 导入格式)
- 技师端:My Earnings 页面(Web + Employee App)
- 按服务差异化佣金率
Phase 3 — 高级功能(P2 后期)
- Gusto API 深度集成(一键同步)
- Business Cost Deduction
- 产品销售佣金
- FLSA 7(i) 加班豁免自动判断
- 薪资预览 / What-if 模拟
- 多门店薪资合并
📊 竞品定位象限
按功能完整度 × 定价将竞品分为四个象限:
|
功能完整 (Full Payroll) |
功能基础 (Commission Only) |
| 高价位 ($150+/月) |
Zenoti — 最完整,企业级
Mangomint — Interactive Payroll
|
Boulevard — 高价但手动导出
|
| 低价位 (<$100/月) |
Vagaro — 性价比最高
DaySmart — Payroll Tables
|
Fresha — 免费但基础
GlossGenius — 无 Payroll
Mase — 只有佣金计算
|
Celoria 目标定位:对标 Mangomint 的 Interactive Payroll 体验 +
Vagaro 的 Gusto 集成方案。Phase 1 先达到 Vagaro 水平(基本佣金 + Greater-Of),
Phase 2 追赶 Mangomint 的实时预览体验,Phase 3 考虑 Gusto API 集成实现端到端。