# 거래처관리 분석 결과

> 분석 일시: 2024-12-18
> 분석 대상: design/mes기획서_리액트 (디자인팀 기획 사이트)

## 분석 목적

디자인팀에서 제작한 기획 사이트의 거래처관리 기능을 분석하여 API 개발에 필요한 스펙을 추출합니다.

---

## UI 스크린샷

### 1. 거래처 목록 페이지
![거래처 목록](screenshots/01-customer-list.png)

**주요 요소:**
- 상단 요약 카드: 전체 거래처, 활성 거래처, 신규(이번달), 미수금 보유
- 탭 필터: 전체, 1등급, 2등급, 3등급, 4등급, 미분류
- 검색: 거래처코드, 거래처명, 대표자, 연락처
- 테이블 컬럼: 체크박스, 번호, 코드, 거래처명, 사업자등록번호, 대표자, 연락처, 신용등급, 결제조건, 등록일, 상태

---

### 2. 거래처 상세 페이지
![거래처 상세](screenshots/02-customer-detail.png)

**주요 섹션:**
- **기본 정보**: 거래처코드, 거래처명, 대표자, 사업자등록번호, 업태, 종목, 신용등급, 결제조건, 상태
- **연락처 정보**: 전화번호, 팩스, 이메일, 주소
- **거래 현황**: 총 거래금액, 미수금, 최근 거래일
- **담당자 정보**: 담당자명, 직급, 연락처, 이메일
- **비고**: 특이사항

**헤더 버튼:**
- 목록
- 수정
- 삭제

---

### 3. 거래처 등록 폼
![거래처 등록](screenshots/03-customer-create.png)

**입력 필드:**

| 섹션 | 필드명 | 타입 | 필수 |
|------|--------|------|------|
| 기본 정보 | 거래처명 | text | ✅ |
| | 대표자 | text | ✅ |
| | 사업자등록번호 | text | ✅ |
| | 업태 | text | |
| | 종목 | text | |
| | 신용등급 | select | |
| | 결제조건 | select | |
| 연락처 정보 | 전화번호 | text | |
| | 팩스 | text | |
| | 이메일 | email | |
| | 우편번호 | text | |
| | 주소 | text | |
| | 상세주소 | text | |
| 담당자 정보 | 담당자명 | text | |
| | 직급 | text | |
| | 연락처 | text | |
| | 이메일 | email | |
| 기타 | 비고 | textarea | |

---

## 데이터 스키마

### Customer (거래처)
```
customers
├── id (PK)
├── tenant_id (FK)
├── customer_code (UNIQUE) - 자동 채번
├── name - 거래처명
├── representative - 대표자
├── business_number - 사업자등록번호
├── business_type - 업태
├── business_item - 종목
├── credit_grade - 신용등급 (1~4등급)
├── payment_terms - 결제조건
├── phone
├── fax
├── email
├── postal_code
├── address
├── address_detail
├── contact_name - 담당자명
├── contact_position - 담당자 직급
├── contact_phone - 담당자 연락처
├── contact_email - 담당자 이메일
├── total_amount - 총 거래금액 (계산)
├── outstanding_amount - 미수금 (계산)
├── last_transaction_date - 최근 거래일
├── status - 상태 (활성/비활성)
├── note
├── created_at
├── updated_at
└── deleted_at
```

---

## API 스펙

### 거래처 CRUD

```
GET    /api/customers                - 거래처 목록
GET    /api/customers/{id}           - 거래처 상세
POST   /api/customers                - 거래처 등록
PUT    /api/customers/{id}           - 거래처 수정
DELETE /api/customers/{id}           - 거래처 삭제
DELETE /api/customers                - 거래처 일괄 삭제
```

### 목록 조회 Query Parameters

| 파라미터 | 타입 | 설명 |
|----------|------|------|
| credit_grade | string | 신용등급 필터 |
| status | string | 상태 필터 |
| search | string | 검색어 |
| page | number | 페이지 번호 |
| per_page | number | 페이지당 개수 |

---

## 신용등급

| 등급 | 설명 | 결제조건 |
|------|------|----------|
| 1등급 | 최우수 | 후불/여신 가능 |
| 2등급 | 우수 | 일부 여신 가능 |
| 3등급 | 보통 | 선불 또는 COD |
| 4등급 | 주의 | 선불 필수 |

---

## 결제조건 옵션

- 선불
- 착불
- 후불 30일
- 후불 60일
- 월말정산
- 기타

---

## 채번 규칙

```
거래처코드: C-{순번6자리}
예시: C-000001, C-000002
```