# 고객/거래처/채권관리 기능 ## 개요 SAM 프로젝트의 고객/거래처/채권관리 모듈은 거래처 및 고객사 정보 관리, 미수금/미지급금 채권·채무 추적, 환불/해지 요청 처리를 종합적으로 관리하는 시스템입니다. OCR 기반 명함 인식, 부분 수금/지급 처리, 승인 워크플로우를 지원합니다. ## 메뉴 구성 | 메뉴 | 경로 | 설명 | UI 기술 | |------|------|------|---------| | [거래처관리](./trading-partners.md) | `/finance/partners` | 거래처(업체/프리랜서) 등록 관리 | React 18 | | [고객사관리](./customers.md) | `/finance/customers` | 고객사 정보 및 등급 관리 | React 18 | | [미수금관리](./receivables.md) | `/finance/receivables` | 채권 현황 및 수금 처리 | React 18 | | [미지급금관리](./payables.md) | `/finance/payables` | 채무 현황 및 지급 처리 | React 18 | | [환불/해지관리](./refunds.md) | `/finance/refunds` | 환불/해지 요청 및 승인 처리 | React 18 | ## 아키텍처 ``` ┌───────────────────────────────────────────────────────────────┐ │ 고객/거래처/채권관리 모듈 │ ├───────────┬───────────┬───────────┬───────────┬───────────────┤ │ 거래처관리 │ 고객사관리 │ 미수금관리 │ 미지급금관리│ 환불/해지관리 │ │(업체/프리) │(등급관리) │(채권추적) │(채무추적) │(요청/승인) │ │ OCR인식 │ VIP~Brz │ 수금처리 │ 지급처리 │ 워크플로우 │ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────┬──────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌───────────────────────────────────────────────────────────────┐ │ 데이터베이스 │ │ trading_partners, customers, │ │ receivables, payables, refunds │ └───────────────────────────────────────────────────────────────┘ ``` ## 주요 기술 스택 | 기술 | 용도 | |------|------| | Laravel 11 (PHP 8.3) | 백엔드 프레임워크 | | React 18 + Babel | 클라이언트 렌더링 UI (전 페이지) | | Tailwind CSS + Lucide | 스타일링 및 아이콘 | | OCR (Claude Vision) | 명함 인식 (거래처관리) | | MySQL 8.0 | 데이터 저장 | ## 공통 패턴 ### 멀티 테넌트 모든 테이블은 `tenant_id` 기반으로 데이터를 격리합니다. ### 부분 수금/지급 미수금과 미지급금은 부분 처리를 지원합니다: ``` 수금/지급액 입력 → collected/paid_amount 누적 → 전액 수금/지급: collected/paid 상태로 변경 → 부분 수금/지급: partial 상태로 변경 ``` ### 상태 관리 비교 | 기능 | 상태값 | |------|--------| | 거래처 | active / inactive | | 고객사 | active / inactive | | 미수금 | outstanding → partial → collected / overdue | | 미지급금 | unpaid → partial → paid / overdue | | 환불/해지 | pending → approved → completed / rejected | ## 데이터베이스 테이블 요약 | 테이블 | 역할 | |--------|------| | `trading_partners` | 거래처 정보 (업체/프리랜서, 사업자번호, 계좌 등) | | `customers` | 고객사 정보 (등급, 업종, 담당자 등) | | `receivables` | 미수금 (고객별 인보이스, 수금액, 연체 추적) | | `payables` | 미지급금 (업체별 인보이스, 지급액, 세금계산서) | | `refunds` | 환불/해지 요청 (타입, 사유, 처리상태) |