From 37628ead2e3c85edbb1781dae3bfcd44e9d0403e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 20 Mar 2026 08:10:59 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[pricing]=20=EB=8B=A8=EA=B0=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EC=A0=88=EC=B0=A8=20=EA=B0=80=EC=9D=B4?= =?UTF-8?q?=EB=93=9C=20=EB=AC=B8=EC=84=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 기존 단가 수정 7단계 절차 (목록→상세→수정→저장→확정) - 신규 단가 등록, 견적 내 단가 직접 수정, 고객그룹 차등가 설정 - 수정 이력 확인 방법 및 주의사항 --- INDEX.md | 1 + guides/pricing-modification-guide.md | 223 +++++++++++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 guides/pricing-modification-guide.md diff --git a/INDEX.md b/INDEX.md index 252f8e4..2a2969f 100644 --- a/INDEX.md +++ b/INDEX.md @@ -213,6 +213,7 @@ DB 도메인별: | [project-launch-roadmap.md](guides/project-launch-roadmap.md) | 프로젝트 런칭 로드맵 | | [table-design-guide.md](guides/table-design-guide.md) | 테이블 설계 가이드 | | [barobill-onboarding-guide.md](guides/barobill-onboarding-guide.md) | 바로빌 온보딩 실행 가이드 (7단계 절차, API 예시, 트러블슈팅, 고객 안내 자료) | +| [pricing-modification-guide.md](guides/pricing-modification-guide.md) | 단가 수정 가이드 (수정 절차, 신규 등록, 견적 내 조정, 고객그룹 차등가) | --- diff --git a/guides/pricing-modification-guide.md b/guides/pricing-modification-guide.md new file mode 100644 index 0000000..9d7dd1f --- /dev/null +++ b/guides/pricing-modification-guide.md @@ -0,0 +1,223 @@ +# 단가 수정 가이드 + +> **작성일**: 2026-03-20 +> **대상**: SAM 관리자 (서비스 사용자) +> **관련 정책**: [단가 정책](../rules/pricing-policy.md) + +--- + +## 1. 단가 수정이 필요한 상황 + +| 상황 | 조치 방법 | +|------|----------| +| 원자재 가격이 인상/인하됨 | 해당 품목의 매입단가 수정 → 판매단가 자동 재계산 | +| 마진율을 변경하고 싶음 | 해당 품목의 마진율 수정 → 판매단가 자동 재계산 | +| 특정 고객그룹에 할인가 적용 | 고객그룹용 별도 단가 신규 등록 | +| 견적서에서 특정 품목 단가만 조정 | 견적 작성 화면에서 직접 수정 (마스터 단가 변경 없음) | + +--- + +## 2. 단가 관리 메뉴 접근 + +**경로**: 서비스(React) → 판매관리 → **단가관리** + +``` +URL: /sales/pricing-management +``` + +--- + +## 3. 기존 단가 수정 절차 + +### Step 1: 단가 목록에서 대상 품목 찾기 + +단가관리 화면에서 수정할 품목을 찾는다. + +- **품목 유형 필터**: FG(완제품), PT(부품), SM(부자재), RM(원자재), CS(소모품) +- **상태 필터**: 초안(draft), 활성(active), 확정(finalized), 미등록 +- **검색**: 품목코드 또는 품명으로 검색 + +> **주의**: 상태가 `확정(finalized)`인 단가는 수정할 수 없다. 확정된 단가를 변경하려면 **새 단가를 등록**해야 한다. + +### Step 2: 단가 상세 화면 진입 + +목록에서 품목을 클릭하면 상세 화면으로 이동한다. + +``` +URL: /sales/pricing-management/{id} +``` + +### Step 3: 수정 모드 전환 + +상세 화면에서 **"수정"** 버튼을 클릭하여 수정 모드로 전환한다. + +### Step 4: 단가 정보 수정 + +수정 가능한 필드: + +| 필드 | 설명 | 판매단가에 영향 | +|------|------|:--------------:| +| **매입단가(입고가)** | 공급업체 구매 가격 | ✅ | +| **가공비** | 가공/처리 비용 | ✅ | +| **LOSS율 (%)** | 자재 손실 비율 | ✅ | +| **마진율 (%)** | 이익률 | ✅ | +| **반올림 규칙** | round(반올림) / ceil(올림) / floor(버림) | ✅ | +| **반올림 단위** | 1 / 10 / 100 / 1000 | ✅ | +| **적용 시작일** | 이 단가가 유효해지는 날짜 | ❌ | +| **적용 종료일** | 단가 만료일 (비워두면 무기한) | ❌ | +| **공급업체** | 납품 업체명 | ❌ | +| **비고** | 메모 | ❌ | + +위 4개 필드(매입단가, 가공비, LOSS율, 마진율)를 수정하면 **판매단가가 실시간으로 자동 재계산**된다. + +### Step 5: 판매단가 자동 계산 확인 + +화면에서 계산 결과를 실시간으로 확인한다. + +``` +판매단가 = 반올림( (매입단가 + 가공비) × (1 + LOSS율/100) × (1 + 마진율/100) ) + +예시: + 매입단가: 10,000원 + 가공비: 2,000원 + LOSS율: 5% + 마진율: 25% + 반올림: round, 100원 단위 + + = (10,000 + 2,000) × 1.05 × 1.25 + = 15,750 + → 반올림(100) = 15,800원 +``` + +### Step 6: 저장 + +**"저장"** 버튼을 클릭한다. + +- 변경 사유(선택)를 입력할 수 있다 +- 저장 시 **수정 이력(리비전)**이 자동으로 기록된다 +- 변경 전/후 스냅샷이 보관되어 언제든 이력 확인 가능 + +### Step 7: 확정 (선택사항) + +단가가 최종 결정되면 **"확정"** 버튼으로 확정할 수 있다. + +``` +확정 전: 수정/삭제 가능 +확정 후: 수정/삭제 불가 (읽기전용) +``` + +> 확정된 단가를 변경해야 할 경우, 새로운 단가를 등록하면 기존 단가의 종료일이 자동으로 설정된다. + +--- + +## 4. 신규 단가 등록 절차 + +기존 단가가 없거나 확정된 단가를 대체하려면 신규 등록한다. + +### Step 1: 등록 화면 진입 + +단가관리 목록에서 **"신규 등록"** 버튼 클릭. + +``` +URL: /sales/pricing-management/create +``` + +### Step 2: 품목 선택 + 단가 정보 입력 + +- 품목 유형 및 품목을 선택한다 +- 매입단가, 가공비, LOSS율, 마진율 등을 입력한다 +- 적용 시작일을 지정한다 + +### Step 3: 저장 + +저장하면 동일 품목의 기존 무기한 단가가 자동으로 종료 처리된다. + +``` +기존: 2026-01-01 ~ 무기한 (active) + → 자동으로 effective_to = 2026-03-19로 변경 + +신규: 2026-03-20 ~ 무기한 (active) + → 새로 등록됨 +``` + +--- + +## 5. 견적에서 단가 직접 수정 + +견적 작성 시 **마스터 단가를 변경하지 않고** 해당 견적에서만 단가를 조정할 수 있다. + +### 절차 + +1. 판매관리 → 견적관리 → 견적 작성/수정 +2. BOM 자동산출 실행 (제품 선택 + 규격 입력 → "견적 산출") +3. 산출 결과 테이블에서 **개별 품목의 단가 필드를 클릭**하여 직접 수정 +4. 수정하면 해당 품목의 합계와 견적 총액이 실시간 재계산됨 +5. 견적 저장 + +> **핵심**: 견적에서 수정한 단가는 **이 견적에만 적용**된다. 단가 마스터(`prices` 테이블)에는 영향이 없다. + +--- + +## 6. 고객그룹 차등가 설정 + +동일 품목이라도 고객그룹에 따라 다른 단가를 적용할 수 있다. + +### 절차 + +1. 단가 신규 등록 시 **고객그룹**을 지정한다 +2. 해당 그룹 소속 거래처에는 그룹 전용 단가가 우선 적용된다 +3. 그룹 단가가 없으면 기본가(고객그룹=없음)가 적용된다 + +``` +조회 우선순위: + 1순위: 고객그룹 전용 단가 (client_group_id = 그룹ID) + 2순위: 기본 단가 (client_group_id = NULL) +``` + +--- + +## 7. 수정 이력 확인 + +### 절차 + +1. 단가 상세 화면 진입 +2. **"수정 이력"** 버튼 클릭 +3. 리비전 목록 확인 (리비전 번호, 변경일시, 변경자, 변경 사유) +4. 각 리비전의 변경 전/후 데이터 비교 가능 + +--- + +## 8. 주의사항 + +| 항목 | 설명 | +|------|------| +| 확정된 단가 | 수정/삭제 불가. 새 단가를 등록해야 함 | +| 수주 완료된 건 | 수주 시점의 단가는 이미 복제됨. 마스터 단가를 수정해도 기존 수주에는 영향 없음 | +| 견적 내 단가 수정 | 해당 견적에만 적용. 마스터 단가에 영향 없음 | +| 적용 시작일 중복 | 동일 품목+고객그룹+시작일 조합은 중복 등록 불가 | + +--- + +## 9. 단가 상태 요약 + +``` +draft(초안) → active(활성) → finalized(확정) + │ + └→ inactive(비활성) + +draft/active: 수정 ✅ 삭제 ✅ 확정 ✅ +inactive: 수정 ✅ 삭제 ✅ 확정 ❌ +finalized: 수정 ❌ 삭제 ❌ (새 단가 등록으로 대체) +``` + +--- + +## 관련 문서 + +- [단가 정책](../rules/pricing-policy.md) — 6 Depth 단가 체계, 계산 공식, 버전관리 개선방향 +- [견적 시스템](../features/quotes/README.md) — BOM 산출, 견적 생성 흐름 +- [품목 정책](../rules/item-policy.md) — 품목 유형 체계 + +--- + +**최종 업데이트**: 2026-03-20