🏢 정산·자동 분배 시스템
Status: Draft 관련 결정: 3G 정산 · 6C 본사 수익 · 6B R&R 📡 API: 정산 · 시스템·Cron 🗄️ Data: 9. Payout · 7. Membership · 10. Audit
1. 핵심 컴포넌트
회원 결제 (본사 앱 직접 수령)
│
▼
결제 분배 엔진
┌────┬──────┬───────┐
│멘토│ 본사 │가맹점주│
└────┴──────┴───────┘
│
▼
격주 입금 처리
2. 분배 로직 (Phase 1 직영 기준)
회원 1세션 결제 X원
→ 멘토 정산: 회당 단가 (일반 고정 / Pro 자율)
→ 본사 보유: X - 멘토 회당 (운영비 + 마진)
→ 가맹점주 분배: 0 (Phase 1 직영)
Phase 2+ 가맹 시작:
→ 멘토 정산: 회당 단가
→ 가맹점주 분배: 매출 비율 (TBD, [6C](../../expansion/revenue-share.html))
→ 본사 보유: 나머지
3. 결제 흐름
회원 결제 (PG) → 본사 결제 계좌 (Escrow 형태)
│
├─ 즉시: 환불 가능 status 유지 (7일)
└─ 7일 후: 정산 가능 status 전환
격주 마감일:
for each mentor:
sum 정산 가능 세션 → 명세서 → 입금
for each franchisee (Phase 2+):
sum 매출 분배 → 명세서 → 입금
본사 = 나머지 (운영비·R&D)
4. 데이터 모델
PayoutPeriod
├─ id, start_date (격주 시작), end_date
PaymentLedger (결제 원장)
├─ id, payment_id, member_id, amount, paid_at
├─ status ENUM(escrow, releasable, refunded, distributed)
├─ released_at (7일 후)
DistributionEntry (분배 단위)
├─ id, payment_ledger_id, recipient_type ENUM(mentor, hq, franchisee)
├─ recipient_id, amount, applied_rate
├─ status ENUM(pending, paid)
MentorPayout (격주 정산)
├─ id, mentor_id, period_id, gross, deductions, net
├─ paid_at, transaction_id
FranchiseePayout (Phase 2+)
├─ id, franchisee_id, store_id, period_id
├─ gross, royalty_deducted, system_fee_deducted, net
TaxReport (세무 자료)
├─ id, recipient_type, recipient_id
├─ period (월), gross_income, deductions
├─ report_url (PDF)
5. 자동 분배 트리거
- 결제 완료 직후:
escrow상태로 적재 - 7일 후 (cron):
releasable로 전환 - 격주 마감일: 멘토·가맹점주 정산 산출 → 입금
- 환불 발생 시: 해당 결제의 분배 entry 회수
6. API 엔드포인트
POST /payments/internal/release(cron) — 7일 경과 결제 풀기POST /payouts/calculate(cron, 격주) — 정산 산출POST /payouts/:id/pay— 입금 실행 (가상계좌 / 이체 API)GET /mentors/:id/payouts— 멘토 본인 명세서 조회GET /franchisees/:id/payouts— 가맹점주 명세서 (Phase 2+)GET /tax-reports/:recipient_type/:id— 세무 자료 PDF
7. 본사 수익 흐름 (분배 후 남는 것)
본사 보유 = 회원 결제 - 멘토 정산 (Phase 1)
= 위 - 가맹점주 분배 (Phase 2+)
본사 보유 → 본사 운영비
- AI API 비용
- CS 인력
- 마케팅
- 시스템 인프라
- R&D
- 마진 (목표 월 500만/지점, 향후 ↑)
8. 다른 레이어 영향
9. 엣지 케이스
- 환불 처리 시 이미 정산된 멘토 회수: 다음 격주 정산에서 차감
- 입금 실패 (계좌 오류): 재시도 + 멘토 알림
- 정산 중 시스템 다운: 트랜잭션 보장 (Idempotency key)
- 세무 신고 누락: 월말 cron으로 자동 생성
10. 측정 지표
- 정산 정확도 100% (오류 사고 0건)
- 분배 처리 SLA: 격주 마감일 자정 ~ 다음날 정오 내 완료
- 환불 → 정산 회수 정확도 100%
- 본사 운영비 충당 비율 ≥ 100% (Phase 2 진입 시)
| 2026-05-13 | 초안 |