# 영업/매출관리 ## 개요 영업/매출관리 모듈은 영업파트너 관리, 고객 영업권, 상품 관리, 인터뷰 시나리오 등 영업 전체 프로세스를 관리하는 기능 그룹입니다. - **라우트 Prefix**: `/sales` - **미들웨어**: `auth`, `hq.member` (본사 회원 전용) - **UI 기술**: Blade + HTMX + Alpine.js (일부 React) ## 메뉴 구성 | # | 메뉴명 | 경로 | 문서 | 상태 | |---|--------|------|------|------| | 1 | 영업관리 대시보드 | `/sales/salesmanagement/dashboard` | [sales-dashboard.md](sales-dashboard.md) | 구현완료 | | 2 | 파트너관리 | `/sales/managers` | [partners.md](partners.md) | 구현완료 | | 3 | 영업파트너승인 | `/sales/managers/approvals` | [partner-approvals.md](partner-approvals.md) | 구현완료 | | 4 | 상품관리 | `/sales/products` | [products.md](products.md) | 구현완료 | | 5 | 세일즈사이트 | (외부 링크) | - | 미구현 | | 6 | 랜딩페이지 | (외부 링크) | - | 미구현 | | 7 | 고객 관리 | `/sales/admin-prospects` | [admin-prospects.md](admin-prospects.md) | 구현완료 | | 8 | 영업파트너 고객관리 | `/sales/prospects` | [prospects.md](prospects.md) | 구현완료 | | 9 | 인터뷰 시나리오 | `/sales/interviews` | [interviews.md](interviews.md) | 구현완료 | ## 아키텍처 ``` 영업/매출관리 ├── 대시보드 ──── 수당 현황, 테넌트 진행률, 파트너 활동 ├── 파트너관리 │ ├── 파트너 CRUD ──── 영업파트너 등록/수정/역할 관리 │ └── 파트너 승인 ──── 신규 파트너 신청 승인/반려 ├── 상품관리 ──── 카테고리별 상품, 가격/수당률 설정 ├── 고객관리 │ ├── 고객 관리(관리자) ──── 전사 고객 현황, 본사 진행상태 │ └── 파트너 고객관리 ──── 명함등록 기반 영업권 관리 └── 인터뷰 시나리오 ──── 질문 템플릿, 인터뷰 세션 기록 ``` ## 파일 구조 ``` mng/ ├── app/Http/Controllers/Sales/ │ ├── SalesDashboardController.php # 영업관리 대시보드 │ ├── SalesManagerController.php # 파트너관리 + 승인 │ ├── SalesProductController.php # 상품관리 │ ├── TenantProspectController.php # 영업권(명함등록) 관리 │ ├── AdminProspectController.php # 관리자 전체 고객 관리 │ └── InterviewScenarioController.php # 인터뷰 시나리오 ├── app/Models/Sales/ │ ├── SalesPartner.php # 영업파트너 │ ├── SalesTenantManagement.php # 테넌트 영업 관리 │ ├── TenantProspect.php # 가망고객 (영업권) │ ├── SalesCommission.php # 영업 수수료 │ ├── SalesProduct.php # 영업 상품 │ ├── SalesProductCategory.php # 상품 카테고리 │ └── SalesManagerDocument.php # 파트너 서류 ├── app/Models/Interview/ │ ├── InterviewCategory.php # 인터뷰 카테고리 │ ├── InterviewTemplate.php # 인터뷰 템플릿 │ ├── InterviewQuestion.php # 인터뷰 질문 │ ├── InterviewSession.php # 인터뷰 세션 │ └── InterviewAnswer.php # 인터뷰 답변 ├── app/Services/Sales/ │ ├── SalesManagerService.php # 파트너 관리 서비스 │ ├── TenantProspectService.php # 영업권 서비스 │ └── InterviewScenarioService.php # 인터뷰 서비스 └── resources/views/sales/ ├── dashboard/ # 대시보드 뷰 ├── managers/ # 파트너관리 뷰 ├── products/ # 상품관리 뷰 ├── prospects/ # 영업권 관리 뷰 ├── admin-prospects/ # 관리자 고객관리 뷰 └── interviews/ # 인터뷰 시나리오 뷰 api/ └── database/migrations/ ├── 2026_01_27_221000_create_tenant_prospects_table.php ├── 2026_01_28_090000_add_attachments_to_tenant_prospects_table.php ├── 2026_01_29_100000_create_sales_partners_table.php ├── 2026_01_29_100100_create_sales_tenant_managements_table.php ├── 2026_01_29_150000_create_sales_products_tables.php └── 2026_02_06_10000x_create_interview_*_tables.php (5개) ``` ## 핵심 데이터 모델 관계 ``` User (영업파트너) │ ├── SalesPartner (파트너 정보, 수수료율, 계좌) │ ├── TenantProspect (영업권 = 명함등록) │ ├── status: active → expired / converted / completed │ ├── 유효기간: 2개월 │ └── 쿨다운: 만료 후 1개월 │ │ │ ↓ convert() │ Tenant (계약 고객사) │ │ │ ↓ │ SalesTenantManagement (영업 관리) │ ├── status: prospect → approach → negotiation → contracted → onboarding → active │ ├── hq_status: pending → review → planning → coding → dev_test → dev_done → int_test → handover │ └── SalesCommission (수당 정보) │ └── SalesManagerDocument (등록 서류) SalesProductCategory └── SalesProduct (개발비, 가입비, 구독료, 수당율) └── SalesContractProduct (계약별 선택 상품) InterviewCategory └── InterviewTemplate └── InterviewQuestion └── InterviewSession → InterviewAnswer ``` ## 권한 체계 | 역할 | 대시보드 | 파트너관리 | 승인 | 상품 | 고객관리 | 파트너고객 | 인터뷰 | |------|---------|-----------|------|------|---------|-----------|--------| | 영업파트너 | O (본인) | - | - | - | - | O (본인) | O | | 상담매니저 | O (본인) | - | - | - | - | - | O | | 관리자 | O (전체) | O | O | O | O | O | O | | 슈퍼관리자 | O (전체) | O | O | O | O (삭제) | O | O |