diff --git a/src/docs/master-data-modules.md b/src/docs/master-data-modules.md new file mode 100644 index 0000000..ef797c8 --- /dev/null +++ b/src/docs/master-data-modules.md @@ -0,0 +1,728 @@ +# 기준정보 모듈 상세 가이드 + +## 목차 +1. [견적수식관리](#견적수식관리) +2. [번호기준관리](#번호기준관리) + +--- + +## 견적수식관리 + +### 개요 +견적수식관리는 견적서 작성 시 품목별 금액을 자동으로 계산하는 수식을 정의하고 관리하는 모듈입니다. 복잡한 계산 로직을 수식으로 등록하여 견적 작성의 정확성과 효율성을 높일 수 있습니다. + +### 주요 기능 + +#### 1. 기본 수식 관리 +- **표준 수식** + - 공급가액 = 단가 × 수량 + - 부가세 = 공급가액 × 0.1 + - 총액 = 공급가액 + 부가세 + +- **커스텀 수식** + - 품목별 특수 계산 수식 + - 조건부 계산 로직 + - 할인율 적용 수식 + - 수량 구간별 단가 적용 + +#### 2. 수식 구성 요소 + +##### 2.1 변수 정의 +- **기본 변수** + - `UNIT_PRICE`: 단가 + - `QUANTITY`: 수량 + - `SUPPLY_AMOUNT`: 공급가액 + - `VAT`: 부가세 + - `TOTAL_AMOUNT`: 총액 + +- **품목 속성 변수** + - `ITEM_COST`: 품목 원가 + - `ITEM_CATEGORY`: 품목 카테고리 + - `MARGIN_RATE`: 마진율 + +- **거래처 속성 변수** + - `CUSTOMER_GRADE`: 거래처 등급 + - `DISCOUNT_RATE`: 할인율 + +##### 2.2 연산자 +- **산술 연산자** + - `+` : 덧셈 + - `-` : 뺄셈 + - `*` : 곱셈 + - `/` : 나눗셈 + - `%` : 나머지 + +- **비교 연산자** + - `>` : 크다 + - `<` : 작다 + - `>=` : 크거나 같다 + - `<=` : 작거나 같다 + - `==` : 같다 + - `!=` : 다르다 + +- **논리 연산자** + - `AND` : 그리고 + - `OR` : 또는 + - `NOT` : 부정 + +##### 2.3 함수 +- **수학 함수** + - `ROUND(값, 자릿수)`: 반올림 + - `CEIL(값)`: 올림 + - `FLOOR(값)`: 내림 + - `MIN(값1, 값2, ...)`: 최소값 + - `MAX(값1, 값2, ...)`: 최대값 + - `SUM(값1, 값2, ...)`: 합계 + +- **조건 함수** + - `IF(조건, 참일때값, 거짓일때값)`: 조건 분기 + - `SWITCH(값, 케이스1, 결과1, 케이스2, 결과2, ...)`: 다중 조건 + +#### 3. 수식 유형 + +##### 3.1 단순 수식 +기본적인 곱셈 계산 +``` +공급가액 = UNIT_PRICE * QUANTITY +``` + +##### 3.2 할인 적용 수식 +할인율을 적용한 계산 +``` +공급가액 = UNIT_PRICE * QUANTITY * (1 - DISCOUNT_RATE) +``` + +##### 3.3 수량 구간별 단가 수식 +수량에 따라 단가가 달라지는 경우 +``` +단가 = IF(QUANTITY >= 100, + UNIT_PRICE * 0.9, + IF(QUANTITY >= 50, + UNIT_PRICE * 0.95, + UNIT_PRICE)) +공급가액 = 단가 * QUANTITY +``` + +##### 3.4 마진율 기반 수식 +원가에 마진을 더하여 판매가 계산 +``` +단가 = ITEM_COST * (1 + MARGIN_RATE) +공급가액 = ROUND(단가 * QUANTITY, 0) +``` + +##### 3.5 복합 조건 수식 +거래처 등급과 수량을 모두 고려 +``` +할인율 = IF(CUSTOMER_GRADE == "VIP" AND QUANTITY >= 100, 0.15, + IF(CUSTOMER_GRADE == "VIP", 0.1, + IF(QUANTITY >= 100, 0.05, 0))) +공급가액 = UNIT_PRICE * QUANTITY * (1 - 할인율) +``` + +#### 4. 수식 등록 프로세스 + +##### 4.1 수식 생성 +1. 수식명 입력 +2. 수식 설명 입력 +3. 적용 대상 선택 (전체/카테고리/품목) +4. 수식 코드 작성 +5. 수식 검증 +6. 저장 + +##### 4.2 수식 검증 +- **구문 검사** + - 변수명 유효성 확인 + - 연산자 사용 적합성 확인 + - 괄호 짝 확인 + +- **논리 검사** + - 순환 참조 방지 + - 0으로 나누기 방지 + - 범위 초과 방지 + +- **테스트 실행** + - 샘플 데이터로 계산 테스트 + - 결과값 검증 + - 오류 확인 + +#### 5. 수식 적용 우선순위 + +1. **품목별 전용 수식** (최우선) + - 특정 품목에만 적용되는 수식 + +2. **카테고리별 수식** + - 완제품/반제품/부자재/원자재 카테고리별 수식 + +3. **기본 수식** (기본값) + - 모든 품목에 적용되는 표준 수식 + +#### 6. 수식 관리 + +##### 6.1 수식 조회 +- **목록 조회** + - 수식명, 적용대상, 작성일, 상태 표시 + - 활성/비활성 구분 + +- **상세 조회** + - 수식 코드 확인 + - 적용 품목 목록 + - 사용 이력 + +##### 6.2 수식 수정 +- 버전 관리 + - 수식 수정 시 새 버전 생성 + - 이전 버전 이력 보관 + +- 영향도 분석 + - 수식 변경 시 영향받는 품목 확인 + - 기존 견적서 재계산 여부 결정 + +##### 6.3 수식 비활성화 +- 사용 중단 처리 +- 대체 수식 지정 +- 기존 데이터 유지 + +### 실전 예제 + +#### 예제 1: 기본 견적 수식 +``` +# 수식명: 기본 견적 계산 +# 적용대상: 전체 품목 + +공급가액 = ROUND(UNIT_PRICE * QUANTITY, 0) +부가세 = ROUND(공급가액 * 0.1, 0) +총액 = 공급가액 + 부가세 +``` + +#### 예제 2: VIP 고객 할인 수식 +``` +# 수식명: VIP 고객 할인 적용 +# 적용대상: 전체 품목 + +기본금액 = UNIT_PRICE * QUANTITY +할인금액 = IF(CUSTOMER_GRADE == "VIP", + 기본금액 * 0.1, + 0) +공급가액 = ROUND(기본금액 - 할인금액, 0) +부가세 = ROUND(공급가액 * 0.1, 0) +총액 = 공급가액 + 부가세 +``` + +#### 예제 3: 수량별 차등 단가 수식 +``` +# 수식명: 수량별 차등 단가 +# 적용대상: 완제품 카테고리 + +실제단가 = IF(QUANTITY >= 1000, UNIT_PRICE * 0.85, + IF(QUANTITY >= 500, UNIT_PRICE * 0.90, + IF(QUANTITY >= 100, UNIT_PRICE * 0.95, + UNIT_PRICE))) + +공급가액 = ROUND(실제단가 * QUANTITY, 0) +부가세 = ROUND(공급가액 * 0.1, 0) +총액 = 공급가액 + 부가세 +``` + +#### 예제 4: 원가 기반 마진 적용 수식 +``` +# 수식명: 원가 + 마진 계산 +# 적용대상: 반제품 카테고리 + +기본마진 = 0.30 +최소마진 = 0.20 + +마진율 = IF(QUANTITY >= 500, 기본마진 - 0.05, + IF(QUANTITY >= 100, 기본마진, + 기본마진 + 0.05)) + +최종마진 = MAX(마진율, 최소마진) +판매단가 = ROUND(ITEM_COST * (1 + 최종마진), 0) +공급가액 = 판매단가 * QUANTITY +부가세 = ROUND(공급가액 * 0.1, 0) +총액 = 공급가액 + 부가세 +``` + +#### 예제 5: 복합 조건 수식 +``` +# 수식명: 종합 할인 계산 +# 적용대상: 전체 품목 + +# 거래처 등급별 기본 할인 +등급할인 = SWITCH(CUSTOMER_GRADE, + "VIP", 0.15, + "Gold", 0.10, + "Silver", 0.05, + 0) + +# 수량별 추가 할인 +수량할인 = IF(QUANTITY >= 1000, 0.10, + IF(QUANTITY >= 500, 0.05, + IF(QUANTITY >= 100, 0.02, + 0))) + +# 최대 할인 한도 30% +총할인율 = MIN(등급할인 + 수량할인, 0.30) + +# 최종 금액 계산 +기본금액 = UNIT_PRICE * QUANTITY +할인금액 = 기본금액 * 총할인율 +공급가액 = ROUND(기본금액 - 할인금액, 0) +부가세 = ROUND(공급가액 * 0.1, 0) +총액 = 공급가액 + 부가세 +``` + +### 업무 프로세스 + +``` +1. 계산 요구사항 분석 + ↓ +2. 수식 설계 + ↓ +3. 변수 및 연산자 정의 + ↓ +4. 수식 코드 작성 + ↓ +5. 수식 검증 (테스트) + ↓ +6. 수식 등록 + ↓ +7. 적용 대상 지정 + ↓ +8. 견적 작성 시 자동 적용 + ↓ +9. 결과 검증 및 수정 +``` + +### 활용 팁 + +#### 수식 작성 시 주의사항 +- 변수명은 대문자로 명확하게 작성 +- 복잡한 수식은 단계별로 변수에 저장하여 가독성 향상 +- 나눗셈 시 0으로 나누는 경우 방지 로직 추가 +- 금액은 항상 ROUND 함수로 반올림 처리 + +#### 성능 최적화 +- 불필요한 중첩 조건문 최소화 +- 반복 계산되는 값은 변수에 저장 +- 복잡한 수식은 카테고리별로 분리 + +#### 유지보수 +- 수식 설명을 상세히 작성 +- 수정 이력 기록 +- 테스트 케이스 문서화 +- 정기적인 수식 검토 + +--- + +## 번호기준관리 + +### 개요 +번호기준관리는 시스템 내에서 생성되는 모든 문서번호, 코드번호의 채번 규칙을 정의하고 관리하는 모듈입니다. 일관된 번호 체계를 통해 문서 추적과 관리가 용이해집니다. + +### 주요 기능 + +#### 1. 번호 유형 관리 + +##### 1.1 품목 관련 +- **품목코드** + - 형식: `ITEM-{카테고리코드}-{일련번호}` + - 예시: `ITEM-FIN-0001` (완제품) + - 예시: `ITEM-SEM-0042` (반제품) + - 예시: `ITEM-SUB-0025` (부자재) + - 예시: `ITEM-RAW-0015` (원자재) + +##### 1.2 판매 관련 +- **견적번호** + - 형식: `QT-{YYYYMMDD}-{일련번호}` + - 예시: `QT-20241202-0001` + +- **수주번호** + - 형식: `SO-{YYYYMMDD}-{일련번호}` + - 예시: `SO-20241202-0001` + +##### 1.3 거래처 관련 +- **거래처코드** + - 형식: `CUST-{유형코드}-{일련번호}` + - 예시: `CUST-C-0001` (고객사) + - 예시: `CUST-V-0001` (협력사) + - 예시: `CUST-S-0001` (공급사) + +- **현장코드** + - 형식: `SITE-{거래처코드}-{일련번호}` + - 예시: `SITE-CUST-C-0001-01` + +##### 1.4 생산 관련 +- **작업지시번호** + - 형식: `WO-{YYYYMMDD}-{일련번호}` + - 예시: `WO-20241202-0001` + +- **LOT번호** + - 형식: `LOT-{품목코드}-{YYYYMMDD}-{일련번호}` + - 예시: `LOT-ITEM-FIN-0001-20241202-001` + +##### 1.5 구매 관련 +- **발주번호** + - 형식: `PO-{YYYYMMDD}-{일련번호}` + - 예시: `PO-20241202-0001` + +- **입고번호** + - 형식: `IN-{YYYYMMDD}-{일련번호}` + - 예시: `IN-20241202-0001` + +##### 1.6 재고 관련 +- **입출고번호** + - 형식: `TR-{구분코드}-{YYYYMMDD}-{일련번호}` + - 예시: `TR-IN-20241202-0001` (입고) + - 예시: `TR-OUT-20241202-0001` (출고) + +- **재고조정번호** + - 형식: `ADJ-{YYYYMMDD}-{일련번호}` + - 예시: `ADJ-20241202-0001` + +#### 2. 번호 구성 요소 + +##### 2.1 접두사 (Prefix) +- 문서/데이터 유형 구분 +- 2~4자리 영문 코드 +- 예시: `QT`, `SO`, `WO`, `ITEM` + +##### 2.2 날짜 형식 +- **YYYYMMDD**: 년월일 (20241202) +- **YYYYMM**: 년월 (202412) +- **YYYY**: 년도 (2024) +- **YY**: 년도 2자리 (24) + +##### 2.3 구분 코드 +- 카테고리 또는 유형 구분 +- 1~3자리 영문 +- 예시: `FIN`(완제품), `C`(고객사) + +##### 2.4 일련번호 +- 자동 증가 번호 +- 자릿수 지정 가능 (4자리, 5자리 등) +- 앞자리 0으로 채움 +- 예시: `0001`, `0042`, `1234` + +##### 2.5 구분자 +- 번호 구성 요소 사이 구분 +- 하이픈 `-` 사용 +- 예시: `QT-20241202-0001` + +#### 3. 번호 채번 규칙 + +##### 3.1 기본 규칙 +``` +{접두사}-{날짜형식}-{일련번호} +``` + +##### 3.2 확장 규칙 +``` +{접두사}-{구분코드}-{날짜형식}-{일련번호} +``` + +##### 3.3 계층 규칙 +``` +{상위코드}-{하위일련번호} +``` + +#### 4. 일련번호 초기화 정책 + +##### 4.1 일별 초기화 +- 매일 자정에 일련번호 1로 리셋 +- 적용: 견적번호, 수주번호, 작업지시번호 +- 예시: + - 2024년 12월 2일: `QT-20241202-0001` + - 2024년 12월 3일: `QT-20241203-0001` (다시 1부터 시작) + +##### 4.2 월별 초기화 +- 매월 1일에 일련번호 1로 리셋 +- 적용: 발주번호, 입고번호 +- 예시: + - 2024년 12월: `PO-202412-0001` + - 2025년 1월: `PO-202501-0001` + +##### 4.3 연도별 초기화 +- 매년 1월 1일에 일련번호 1로 리셋 +- 적용: 거래처코드, 현장코드 +- 예시: + - 2024년: `CUST-C-2024-0001` + - 2025년: `CUST-C-2025-0001` + +##### 4.4 초기화 없음 +- 계속해서 증가 +- 적용: 품목코드, LOT번호 +- 예시: + - `ITEM-FIN-0001` + - `ITEM-FIN-0002` + - ... (계속 증가) + +#### 5. 번호기준 등록 + +##### 5.1 등록 정보 +- **기준명**: 번호 유형 명칭 +- **접두사**: 문서 구분 코드 +- **날짜형식**: YYYYMMDD, YYYYMM, YYYY, 없음 +- **구분코드 사용**: 예/아니오 +- **일련번호 자릿수**: 4자리, 5자리 등 +- **초기화 정책**: 일별/월별/연도별/없음 +- **현재 일련번호**: 마지막 사용 번호 +- **사용 여부**: 활성/비활성 + +##### 5.2 등록 예시 + +**견적번호 기준** +- 기준명: 견적번호 +- 접두사: QT +- 날짜형식: YYYYMMDD +- 구분코드: 사용안함 +- 일련번호 자릿수: 4 +- 초기화 정책: 일별 +- 결과: `QT-20241202-0001` + +**품목코드 기준** +- 기준명: 품목코드 +- 접두사: ITEM +- 날짜형식: 없음 +- 구분코드: 사용 (FIN/SEM/SUB/RAW) +- 일련번호 자릿수: 4 +- 초기화 정책: 없음 +- 결과: `ITEM-FIN-0001` + +**현장코드 기준** +- 기준명: 현장코드 +- 접두사: SITE +- 날짜형식: 없음 +- 구분코드: 사용 (거래처코드) +- 일련번호 자릿수: 2 +- 초기화 정책: 거래처별 +- 결과: `SITE-CUST-C-0001-01` + +#### 6. 번호 발급 프로세스 + +``` +1. 문서/데이터 생성 요청 + ↓ +2. 번호 유형 확인 + ↓ +3. 번호기준 조회 + ↓ +4. 초기화 정책 확인 + ↓ +5. 현재 일련번호 조회 + ↓ +6. 일련번호 +1 증가 + ↓ +7. 번호 생성 (조합) + ↓ +8. 번호 중복 검사 + ↓ +9. 번호 발급 및 저장 + ↓ +10. 일련번호 업데이트 +``` + +#### 7. 번호 관리 기능 + +##### 7.1 번호 조회 +- **발급 이력** + - 날짜별 발급 번호 목록 + - 발급 시간 + - 발급자 + - 사용 문서 + +##### 7.2 번호 수정 +- **일련번호 조정** + - 현재 일련번호 수동 변경 + - 이유: 번호 건너뛰기, 특정 번호부터 시작 + +- **주의사항** + - 중복 번호 발생 방지 + - 이미 사용된 번호는 수정 불가 + +##### 7.3 번호 초기화 +- **수동 초기화** + - 관리자가 직접 일련번호를 1로 리셋 + - 새로운 회계연도 시작 시 + - 번호 체계 변경 시 + +##### 7.4 번호 통계 +- **발급 현황** + - 일별/월별/연도별 발급 건수 + - 번호 유형별 사용 현황 + - 최대 발급 번호 + +#### 8. 번호 검증 규칙 + +##### 8.1 형식 검증 +- 접두사 일치 확인 +- 날짜 형식 유효성 확인 +- 일련번호 자릿수 확인 + +##### 8.2 중복 검증 +- 동일 번호 존재 여부 확인 +- 발급 전 실시간 검증 + +##### 8.3 순차성 검증 +- 일련번호 순차 증가 확인 +- 건너뛴 번호 모니터링 + +### 실전 예제 + +#### 예제 1: 견적번호 자동 생성 +``` +날짜: 2024년 12월 2일 +마지막 번호: QT-20241202-0042 + +신규 견적 생성 시 +→ 번호기준 조회: 견적번호 +→ 날짜 확인: 20241202 (동일) +→ 일련번호: 42 + 1 = 43 +→ 생성 번호: QT-20241202-0043 +``` + +#### 예제 2: 일자 변경 시 초기화 +``` +날짜: 2024년 12월 3일 (날짜 변경) +전일 마지막 번호: QT-20241202-0127 + +신규 견적 생성 시 +→ 번호기준 조회: 견적번호 +→ 날짜 확인: 20241203 (변경됨) +→ 초기화 정책: 일별 초기화 +→ 일련번호: 1로 리셋 +→ 생성 번호: QT-20241203-0001 +``` + +#### 예제 3: 품목코드 생성 +``` +카테고리: 완제품 (FIN) +마지막 번호: ITEM-FIN-0099 + +신규 품목 생성 시 +→ 번호기준 조회: 품목코드 +→ 카테고리: FIN +→ 일련번호: 99 + 1 = 100 +→ 생성 코드: ITEM-FIN-0100 +``` + +#### 예제 4: 현장코드 생성 +``` +거래처: CUST-C-0001 +마지막 현장번호: SITE-CUST-C-0001-03 + +신규 현장 생성 시 +→ 번호기준 조회: 현장코드 +→ 상위코드: CUST-C-0001 +→ 일련번호: 3 + 1 = 4 +→ 생성 코드: SITE-CUST-C-0001-04 +``` + +### 업무 프로세스 + +``` +1. 번호 유형 정의 + ↓ +2. 번호 형식 설계 + ↓ +3. 구성 요소 정의 + ↓ +4. 초기화 정책 결정 + ↓ +5. 번호기준 등록 + ↓ +6. 시험 발급 (테스트) + ↓ +7. 검증 및 승인 + ↓ +8. 실제 업무 적용 + ↓ +9. 모니터링 및 관리 +``` + +### 활용 팁 + +#### 번호 설계 원칙 +- **명확성**: 번호만 봐도 문서 유형을 알 수 있도록 +- **일관성**: 전체 시스템에서 동일한 규칙 적용 +- **확장성**: 향후 증가를 고려한 충분한 자릿수 +- **가독성**: 구분자를 사용하여 읽기 쉽게 + +#### 초기화 정책 선택 가이드 +- **일별 초기화**: 일일 업무량이 많지 않고, 날짜별 구분이 중요한 경우 +- **월별 초기화**: 월간 통계가 중요하고, 업무량이 중간 수준인 경우 +- **연도별 초기화**: 연간 단위 관리가 필요하고, 업무량이 많은 경우 +- **초기화 없음**: 영구적으로 고유한 번호가 필요한 경우 (품목, LOT) + +#### 문제 해결 +- **번호 중복**: 동시 접속으로 중복 발생 시 트랜잭션 잠금 사용 +- **번호 건너뛰기**: 삭제된 문서의 번호는 재사용하지 않음 +- **번호 고갈**: 자릿수 부족 시 사전에 자릿수 증가 + +#### 주의사항 +- 번호기준 변경 시 기존 데이터 영향도 분석 필수 +- 초기화 정책은 신중하게 결정 (변경 어려움) +- 일련번호 수동 조정은 꼭 필요한 경우에만 실시 +- 번호 체계 변경 시 이전 버전과의 호환성 고려 + +--- + +## 모듈 간 연계 + +### 견적수식관리 ↔ 번호기준관리 통합 시나리오 + +#### 시나리오: 신규 견적 작성 프로세스 +``` +1. 견적 생성 버튼 클릭 + ↓ +2. [번호기준관리] 견적번호 자동 발급 + → QT-20241202-0043 생성 + ↓ +3. 거래처, 현장 선택 + ↓ +4. 품목 및 수량 입력 + ↓ +5. [견적수식관리] 단가/금액 자동 계산 + → 거래처 등급 확인 + → 수량별 할인율 적용 + → 공급가액, 부가세, 총액 계산 + ↓ +6. 계산 결과 자동 입력 + ↓ +7. 견적서 저장 및 출력 +``` + +### 데이터 흐름 +``` +번호기준관리 → 모든 문서에 고유번호 부여 + ↓ + 견적관리, 수주관리, 작업지시 등 + ↓ +견적수식관리 → 견적/단가 자동 계산 +``` + +### 시스템 전체 번호 체계 +``` +MASTER DATA (기준정보) +├─ 번호기준관리: 모든 번호 규칙 정의 +└─ 견적수식관리: 계산 로직 정의 + +SALES (판매관리) +├─ 견적관리: QT-YYYYMMDD-#### +├─ 거래처관리: CUST-{유형}-#### +├─ 현장관리: SITE-{거래처코드}-## +└─ 단가관리: PRICE-{품목코드}-#### + +PRODUCTION (생산관리) +├─ 작업지시: WO-YYYYMMDD-#### +└─ LOT관리: LOT-{품목코드}-YYYYMMDD-### + +PURCHASE (구매관리) +├─ 발주관리: PO-YYYYMMDD-#### +└─ 입고관리: IN-YYYYMMDD-#### + +INVENTORY (재고관리) +├─ 입출고: TR-{구분}-YYYYMMDD-#### +└─ 재고조정: ADJ-YYYYMMDD-#### +``` + +이렇게 기준정보 모듈이 시스템 전체의 번호 체계와 계산 로직을 통합 관리합니다. diff --git a/src/docs/sales-management-modules.md b/src/docs/sales-management-modules.md new file mode 100644 index 0000000..03542b5 --- /dev/null +++ b/src/docs/sales-management-modules.md @@ -0,0 +1,434 @@ +# 판매관리 모듈 상세 가이드 + +## 목차 +1. [견적관리](#견적관리) +2. [거래처관리](#거래처관리) +3. [단가관리](#단가관리) +4. [현장관리](#현장관리) + +--- + +## 견적관리 + +### 개요 +견적관리는 고객사에 제공할 제품 및 서비스의 견적을 작성, 관리하는 핵심 모듈입니다. 다중 견적 버전 관리와 수식 기반 자동 계산 기능을 통해 정확하고 효율적인 견적 업무를 지원합니다. + +### 주요 기능 + +#### 1. 견적서 작성 +- **기본 정보 입력** + - 견적번호 (자동 채번) + - 거래처 선택 + - 현장 선택 + - 견적일자 + - 납기일자 + - 유효기간 + +- **품목 선택 및 수량 입력** + - BOM 계층 구조 기반 품목 선택 + - 수량 입력 시 자동 단가 적용 + - 수식 기반 금액 자동 계산 + - 카테고리별 단가 적용 (완제품/반제품/부자재/원자재) + +#### 2. 다중 견적 버전 관리 +- **버전 관리 시스템** + - 최초 작성 시 V1 생성 + - 수정 시 새로운 버전 자동 생성 (V2, V3, ...) + - 버전별 이력 추적 가능 + +- **상태 관리** + - 최초작성: 처음 생성된 견적 + - 수정중: 기존 견적을 수정하여 새 버전 생성 중 + - 최종확정: 고객에게 전달할 확정 버전 + - 수주전환: 수주로 전환된 견적 + - 현재버전: 가장 최신 버전 표시 + +#### 3. 자동 계산 시스템 +- **단가 자동 조회** + - 단가관리에서 등록된 거래처별/품목별 단가 자동 적용 + - 단가 미등록 시 품목 기본 판매단가 적용 + +- **금액 자동 계산** + - 공급가액 = 단가 × 수량 + - 부가세 = 공급가액 × 10% + - 총액 = 공급가액 + 부가세 + +- **견적 합계 자동 집계** + - 전체 품목의 공급가액 합계 + - 전체 부가세 합계 + - 최종 견적 총액 + +#### 4. 견적서 조회 및 필터링 +- **목록 보기** + - 견적번호, 거래처명, 현장명, 견적일자, 금액, 상태 표시 + - 반응형 레이아웃 지원 (데스크탑/태블릿/모바일) + +- **검색 및 필터** + - 견적번호 검색 + - 거래처명 검색 + - 상태별 필터링 + - 기간별 조회 + +#### 5. 견적서 출력 +- **출력 기능** + - 견적서 양식 출력 + - PDF 변환 (예정) + - 이메일 발송 (예정) + +### 업무 프로세스 + +``` +1. 견적 요청 접수 + ↓ +2. 거래처/현장 선택 + ↓ +3. 품목 및 수량 입력 + ↓ +4. 자동 단가/금액 계산 + ↓ +5. 검토 및 수정 (버전 관리) + ↓ +6. 최종 확정 + ↓ +7. 고객 전달 + ↓ +8. 수주 전환 (수주 확정 시) +``` + +### 활용 팁 +- 견적 수정 시 새로운 버전이 생성되므로 이전 버전 추적 가능 +- 거래처별 특별 단가는 단가관리에서 사전 등록 필요 +- 현장별로 견적을 분리하여 관리 가능 +- 견적 유효기간을 설정하여 기한 관리 + +--- + +## 거래처관리 + +### 개요 +거래처관리는 고객사, 협력사, 공급사 등 모든 거래처 정보를 통합 관리하는 모듈입니다. 거래처 기본정보부터 거래 이력까지 체계적으로 관리할 수 있습니다. + +### 주요 기능 + +#### 1. 거래처 등록 +- **기본 정보** + - 거래처코드 (자동 채번) + - 거래처명 (필수) + - 거래처 유형 (고객사/협력사/공급사) + - 사업자등록번호 + - 대표자명 + - 업태 / 업종 + +- **연락처 정보** + - 전화번호 + - 팩스번호 + - 이메일 + - 홈페이지 + +- **주소 정보** + - 우편번호 + - 주소 + - 상세주소 + +- **거래 정보** + - 담당자명 + - 담당자 연락처 + - 거래 시작일 + - 결제 조건 + - 거래 상태 (활성/비활성) + +#### 2. 거래처 분류 +- **거래처 유형** + - 고객사: 제품을 판매하는 대상 + - 협력사: 외주 가공 등 협력 업체 + - 공급사: 원자재/부자재 구매처 + - 복합: 여러 유형 동시 가능 + +#### 3. 거래처 조회 +- **목록 조회** + - 거래처코드, 거래처명, 유형, 대표자, 연락처 표시 + - 활성/비활성 상태 표시 + +- **상세 조회** + - 거래처 기본 정보 + - 거래 이력 (견적, 수주, 발주 등) + - 담당자 정보 + - 현장 목록 + +#### 4. 거래처별 관리 +- **특별 단가 관리** + - 거래처별 특별 단가 설정 (단가관리 연동) + +- **현장 관리** + - 거래처별 여러 현장 등록 가능 + - 현장별 견적/수주 관리 + +- **거래 이력** + - 견적 이력 + - 수주 이력 + - 출하 이력 + +### 업무 프로세스 + +``` +1. 신규 거래처 정보 수집 + ↓ +2. 거래처 등록 (기본정보 입력) + ↓ +3. 거래처 유형 분류 + ↓ +4. 담당자 정보 등록 + ↓ +5. 특별 단가 설정 (필요시) + ↓ +6. 현장 정보 등록 (필요시) + ↓ +7. 거래 시작 +``` + +### 활용 팁 +- 거래처별 특별 단가는 단가관리에서 일괄 관리 가능 +- 현장이 여러 개인 경우 현장관리에서 개별 등록 +- 거래 이력을 통해 거래처별 매출 분석 가능 +- 비활성 거래처는 목록에서 비표시 가능 + +--- + +## 단가관리 + +### 개요 +단가관리는 품목별 판매단가와 거래처별 특별단가를 관리하는 모듈입니다. 견적 작성 시 자동으로 적용되는 단가를 사전에 설정하여 정확하고 일관된 견적을 생성할 수 있습니다. + +### 주요 기능 + +#### 1. 기본 단가 관리 +- **품목 기본 단가** + - 품목별 표준 판매단가 설정 + - 원가 정보 (선택) + - 마진율 계산 + - 단가 적용일자 + - 단가 이력 관리 + +#### 2. 거래처별 특별 단가 +- **특별 단가 설정** + - 거래처 선택 + - 품목 선택 + - 특별 단가 입력 + - 적용 시작일 / 종료일 + - 할인율 (선택) + +- **우선순위** + 1. 거래처별 특별 단가 (최우선) + 2. 품목 기본 판매단가 + 3. BOM 원가 기반 자동 계산 + +#### 3. 단가 이력 관리 +- **변경 이력 추적** + - 단가 변경 일자 + - 변경 전/후 금액 + - 변경 사유 + - 변경자 정보 + +- **이력 조회** + - 품목별 단가 변동 추이 + - 거래처별 단가 변동 이력 + +#### 4. 대량 단가 관리 +- **일괄 적용** + - 카테고리별 일괄 인상/인하 + - 거래처별 일괄 적용 + - 비율 또는 금액 기준 + +- **Excel 업로드 (예정)** + - 대량 단가 등록 + - 템플릿 다운로드 + +#### 5. 단가 조회 및 비교 +- **조회 기능** + - 품목별 단가 조회 + - 거래처별 단가 조회 + - 단가 비교 분석 + +- **필터링** + - 품목 카테고리별 + - 거래처별 + - 적용 기간별 + +### 업무 프로세스 + +``` +1. 품목 기본 단가 설정 + ↓ +2. 원가 및 마진 검토 + ↓ +3. 거래처별 특별 단가 협의 + ↓ +4. 특별 단가 등록 + ↓ +5. 적용 기간 설정 + ↓ +6. 견적 작성 시 자동 적용 + ↓ +7. 주기적 단가 검토 및 조정 +``` + +### 단가 적용 규칙 + +**견적 작성 시 단가 자동 적용 순서:** +1. 해당 거래처에 대한 특별 단가가 있는가? + - 예 → 특별 단가 적용 + - 아니오 → 2번으로 +2. 품목에 기본 판매단가가 설정되어 있는가? + - 예 → 기본 판매단가 적용 + - 아니오 → 3번으로 +3. BOM 원가 계산이 가능한가? + - 예 → 원가 + 마진율 적용 + - 아니오 → 수동 입력 필요 + +### 활용 팁 +- 거래처별 특별 단가는 적용 기간을 명확히 설정 +- 단가 변경 시 변경 사유를 기록하여 추적 가능 +- 주기적으로 단가 이력을 분석하여 가격 정책 수립 +- 대량 거래처의 경우 프로모션 기간 단가 사전 설정 + +--- + +## 현장관리 + +### 개요 +현장관리는 거래처별로 존재하는 여러 납품 현장을 관리하는 모듈입니다. 하나의 거래처가 여러 프로젝트 현장을 운영하는 경우, 현장별로 견적과 수주를 분리하여 관리할 수 있습니다. + +### 주요 기능 + +#### 1. 현장 등록 +- **기본 정보** + - 현장코드 (자동 채번) + - 현장명 (필수) + - 소속 거래처 (필수) + - 현장 유형 (프로젝트/지점/공장 등) + - 현장 상태 (진행중/완료/중단) + +- **현장 위치** + - 우편번호 + - 주소 + - 상세주소 + - 좌표 정보 (선택) + +- **담당자 정보** + - 현장 담당자명 + - 연락처 + - 이메일 + - 직책 + +- **프로젝트 정보** + - 프로젝트명 + - 착공일 + - 준공 예정일 + - 현장 규모 + - 특이사항 + +#### 2. 현장별 거래 관리 +- **견적 관리** + - 현장별 견적 작성 + - 현장별 견적 이력 + - 현장별 견적 합계 + +- **수주 관리** + - 현장별 수주 현황 + - 납품 계획 + - 출하 이력 + +- **매출 관리** + - 현장별 매출 집계 + - 프로젝트별 수익성 분석 + +#### 3. 현장 조회 +- **목록 조회** + - 현장코드, 현장명, 거래처명, 담당자, 상태 표시 + - 진행중/완료/중단 상태 구분 + +- **상세 조회** + - 현장 기본 정보 + - 거래 이력 (견적, 수주, 출하) + - 담당자 정보 + - 프로젝트 진행 상황 + +#### 4. 현장 상태 관리 +- **상태 유형** + - 진행중: 현재 거래가 진행되는 현장 + - 완료: 프로젝트가 완료된 현장 + - 중단: 거래가 중단된 현장 + - 대기: 계약 대기 중인 현장 + +#### 5. 현장별 통계 +- **집계 기능** + - 현장별 총 견적 금액 + - 현장별 총 수주 금액 + - 현장별 출하 현황 + - 미납품 현황 + +### 업무 프로세스 + +``` +1. 거래처로부터 현장 정보 수집 + ↓ +2. 현장 등록 (기본정보 입력) + ↓ +3. 현장 담당자 정보 등록 + ↓ +4. 프로젝트 정보 입력 + ↓ +5. 현장별 견적 작성 + ↓ +6. 수주 전환 후 납품 + ↓ +7. 프로젝트 완료 시 현장 상태 변경 + ↓ +8. 현장별 매출 분석 +``` + +### 현장 관리 시나리오 + +#### 시나리오 1: 대형 건설사 거래 +- 거래처: (주)대한건설 +- 현장 1: 서울 강남 아파트 현장 +- 현장 2: 부산 해운대 오피스텔 현장 +- 현장 3: 대전 유성구 상가 현장 + +각 현장별로 독립적인 견적과 납품 관리 가능 + +#### 시나리오 2: 프랜차이즈 본사 거래 +- 거래처: (주)커피프랜차이즈 +- 현장 1: 서울 강남점 +- 현장 2: 경기 수원점 +- 현장 3: 인천 송도점 + +각 지점별로 독립적인 주문 및 납품 관리 가능 + +### 활용 팁 +- 하나의 거래처가 여러 프로젝트 진행 시 현장 단위로 분리 관리 +- 현장별 매출 집계로 수익성 높은 현장 파악 가능 +- 프로젝트 완료 후에도 이력 보관하여 재계약 시 참고 +- 현장 담당자 정보를 정확히 등록하여 커뮤니케이션 효율화 + +--- + +## 모듈 간 연계 + +### 데이터 흐름 +``` +거래처관리 ─┬─→ 현장관리 ─→ 견적관리 + │ + └─→ 단가관리 ─→ 견적관리 +``` + +### 통합 시나리오 +1. **거래처 등록** → 거래처 기본 정보 입력 +2. **현장 등록** → 거래처의 납품 현장 등록 +3. **단가 설정** → 거래처별 특별 단가 등록 +4. **견적 작성** → 거래처, 현장 선택 후 자동 단가 적용 + +### 주의사항 +- 거래처 삭제 시 연관된 현장, 견적 데이터 확인 필요 +- 단가 변경 시 기존 견적에는 영향 없음 (신규 견적부터 적용) +- 현장 완료 처리 시 진행중인 거래 확인 필요