diff --git a/INDEX.md b/INDEX.md index c9fe3be..5b7f3b7 100644 --- a/INDEX.md +++ b/INDEX.md @@ -165,6 +165,7 @@ DB 도메인별: | [ai/README.md](features/ai/README.md) | AI 분석 | | [card-vehicle/README.md](features/card-vehicle/README.md) | 법인카드·차량 | | [settlement/README.md](features/settlement/README.md) | 정산 | +| [sales/stock-production.md](features/sales/stock-production.md) | 재고생산관리 (내부 오더 방식, 수주 테이블 공유) | | [sales/demo-tenant-policy.md](features/sales/demo-tenant-policy.md) | 영업파트너 데모 테넌트 정책 (3-Tier 전략) | | [sales/demo-tenant-usage-guide.md](features/sales/demo-tenant-usage-guide.md) | 데모 테넌트 사용 가이드 (영업파트너/관리자용) | | [barobill-kakaotalk/README.md](features/barobill-kakaotalk/README.md) | 바로빌 카카오톡 | diff --git a/features/sales/stock-production.md b/features/sales/stock-production.md new file mode 100644 index 0000000..cf8d0d1 --- /dev/null +++ b/features/sales/stock-production.md @@ -0,0 +1,113 @@ +# 재고생산관리 + +> **작성일**: 2026-03-16 +> **상태**: 설계 확정 + +--- + +## 1. 개요 + +### 1.1 목적 + +수주 없이 **재고 목적으로 생산**하는 경우를 관리하는 기능이다. + +SAM 시스템은 `수주 → 작업지시 → 생산`의 흐름으로 동작하므로, 수주가 없으면 작업지시를 생성할 수 없다. 재고생산관리는 **내부 오더(Internal Order)** 개념으로, 재고생산도 일종의 수주로 취급하여 기존 생산 흐름을 그대로 활용한다. + +### 1.2 핵심 원칙 + +- 기존 `orders` 테이블을 **공유**한다 (별도 테이블 없음) +- `order_type_code = 'STOCK'`으로 일반 수주(`ORDER`)와 구분한다 +- 하류 시스템(작업지시, 생산, 출하, 품질검사)은 **변경 없이 동작**한다 +- 화면은 수주관리를 **단순화**한 형태이다 + +--- + +## 2. 수주관리와의 관계 + +### 2.1 테이블 공유 구조 + +``` +orders 테이블 +├── order_type_code = 'ORDER' → 수주관리 (거래처 주문) +├── order_type_code = 'PURCHASE' → 발주관리 +└── order_type_code = 'STOCK' → 재고생산관리 (내부 오더) +``` + +### 2.2 기능 비교 + +| 항목 | 수주관리 (ORDER) | 재고생산관리 (STOCK) | +|------|-----------------|---------------------| +| 거래처 | ✅ 필수 | ❌ 불필요 | +| 견적 연결 | ✅ 가능 | ❌ 불필요 | +| 현장/납기/배송 | ✅ 사용 | ❌ 불필요 | +| 할인 | ✅ 적용 | ❌ 불필요 | +| 금액 계산 | ✅ 자동 | ❌ 불필요 (단가 0 가능) | +| 매출 인식 | ✅ 자동/수동 | ❌ 생성 안 함 | +| 개소/구역 (OrderNode) | ✅ N-depth 트리 | ❌ 불필요 | +| 품목 등록 | ✅ 상세 | ✅ 품목 + 수량만 | +| 작업지시 생성 | ✅ 동일 | ✅ 동일 | +| 생산/출하/품질검사 | ✅ 동일 | ✅ 동일 | +| 채번 접두사 | `ORD` | `STK` | + +### 2.3 재고생산 전용 필드 + +`orders.options` JSON에 재고생산 전용 속성을 저장한다: + +| 필드 | 타입 | 설명 | +|------|------|------| +| `production_reason` | string | 생산 사유 (예: "시즌 대비", "안전재고 확보") | +| `target_stock_qty` | number | 목표 재고 수량 | + +--- + +## 3. 업무 흐름 + +``` +재고생산 등록 (DRAFT) + │ order_type_code = 'STOCK' + │ 품목 + 수량만 입력 + ↓ +재고생산 확정 (CONFIRMED) + │ ※ 매출 생성 안 함 (일반 수주와 차이) + ↓ +생산지시 생성 (WorkOrder) + │ 기존 수주→생산지시 흐름 동일 + ↓ +생산 실행 → 품질검사 → 출하 + │ 기존 생산관리 흐름 동일 + ↓ +완료 (COMPLETED) +``` + +--- + +## 4. 메뉴 위치 + +``` +판매관리 +├── 거래처관리 +├── 견적관리 +├── 수주관리 +├── 재고생산관리 ← 신규 +└── 단가관리 +``` + +--- + +## 5. API + +기존 수주관리 API를 그대로 사용한다. `order_type=STOCK` 파라미터로 필터링한다. + +> **상세 API 명세**: `frontend/api-specs/stock-production-api.md` + +--- + +## 관련 문서 + +- [재고생산관리 API 명세](../../frontend/api-specs/stock-production-api.md) +- [수주 DB 스키마](../../system/database/sales.md) +- [생산 DB 스키마](../../system/database/production.md) + +--- + +**최종 업데이트**: 2026-03-16