후니프린팅 통합 관리 시스템 | Skills Pool후니프린팅 통합 관리 시스템
후니프린팅 통합 관리 시스템: 자동 견적 + 외주 정산 자동화
🔹 견적/가격: "견적 계산", "가격 알려줘", "얼마야", "무선책자 100부"
🔹 조판/CTP: "CTP 몇 판?", "조판 어떻게?", "판수 계산"
🔹 옵션 검증: "이 옵션 가능해?", "박가공 선택하면?"
🔹 파일 가이드: "파일 어떻게 만들어?", "도련", "CMYK", "아웃라인"
🔹 후가공 파일: "박가공 파일", "칼선 레이어"
🔹 주문 시뮬레이터: "만들고 싶어요", "미리보기", "옵션 선택"
🔹 제품 프리뷰: "책 모양", "완성품 보여줘"
⭐ 정산 관리 (NEW):
🔹 정산 분석: "정산 분석", "비즈하우스 정산", "후지필름 정산"
🔹 매칭 검증: "데이터 매칭", "불일치 확인", "정산 대사"
🔹 금액 집계: "정산 금액", "VAT 계산", "총액"
🔹 정산서 생성: "정산서 만들어", "엑셀 출력"
지원 상품: 디지털인쇄, 스티커, 책자, 캘린더, 포스터, 아크릴, 굿즈, 파우치, 에코백 등 236개 MES상품
지원 외주사: 비즈하우스, 후지필름(롯데ON)
skeeper750 estrellas27 feb 2026
- Ocupación
- Categorías
- Desarrollo E-commerce
Contenido de la habilidad 용어 정리
| 구분 | 설명 | 예시 |
|---|
| 상품 (Product) | 판매 단위의 대분류 | 프리미엄엽서, 무선책자 |
| 상품아이템 (ProductItem) | 상품의 사이즈/옵션 조합 | 73x98mm, A5 100P |
| MES코드 | 상품 고유 식별자 | 001-0001 |
| PScode | 외부 연동 코드 | 14529 |
⚠️ 기존 용어 "품목" → "상품", "품목모델" → "상품아이템"으로 통일
회사 정보
| 영업시간 | 10:0018:00 (점심 12:3013:30) |
상품마스터 구조 (v251220)
카테고리 체계
MAP 시트 (상품 계획표) MES품목 (운영 상품)
├─ ▶︎ 서브카테고리 헤더 ├─ 실제 운영 중인 상품만
├─ → 참조 링크 └─ 236개 고유 MES코드
├─ ★ 미출시/개발중
└─ 전체 상품 목록
12개 카테고리 현황
| 코드 | 카테고리 | MES상품수 | MAP항목수 | 주요 상품 |
|---|
| 001 | 엽서 | 14 | 19 | 프리미엄엽서, 포토카드, 접지카드 |
| 002 | 스티커 | 16 | 20 | 반칼자유형, 낱장자유형, 규격스티커 |
| 003 | 인쇄홍보물 | 16 | 22 | 명함, 전단지, 리플렛, 상품권 |
| 004 | 포스터 | 18 | 22 | 아트포스터, 패브릭포스터, 실사 |
| 005 | 사인 | 10 | 19 | 배너, 현수막, 시트커팅 |
| 006 | 책자 | 8 | 11 | 중철, 무선, PUR, 트윈링, 하드커버 |
| 007 | 캘린더 | 5 | 11 | 탁상형, 벽걸이, 엽서캘린더 |
| 008 | 문구 | 21 | 23 | 다이어리, 노트, 클립보드 |
| 009 | 아크릴 | 21 | 25 | 키링, 마그넷, 스탠드, 명찰 |
| 010 | 라이프 | 32 | 47 | 거울, 코스터, 머그컵, 쿠션 |
| 011 | 에코백 | 55 | 67 | 레더파우치, 캔버스백, 타이벡 |
| 012 | 포장 | 20 | 22 | 배경지, 봉투, 라벨, 케이스 |
| 합계 | 236 | 308 | |
💡 MAP > MES 차이: 서브카테고리 헤더(▶︎), 참조링크(→), 미출시(★) 포함
공정 흐름
인쇄공정 → 내부공정1 → 내부공정2 → 외주공정 → 출고
인쇄공정 유형 (7종)
| 공정 | 상품수 | 설비 |
|---|
| 디지털인쇄 | 79 | 내부장비 |
| UV인쇄(쿠마) | 64 | 외주 |
| 패브릭출력(쿠마) | 23 | 외주 |
| 실사출력 | 21 | 내부장비 |
| 전사인쇄(쿠마) | 15 | 외주 |
| 화이트인쇄(쿠마) | 2 | 외주 |
| 도장 | 1 | 외주 |
내부공정 유형
| 공정1 | 공정2 |
|---|
| 레이저커팅 (17) | 미싱 (58) |
| 반칼커팅 (9) | 굿즈가공 (11) |
| 완칼커팅 (9) | 제본(트윈링) (9) |
| 시트커팅 (2) | 인쇄가공 (9) |
참조 파일
| 데이터 | 파일 |
|---|
| 상품마스터 | assets/data/product_master.toon |
| 인쇄가격표 | assets/data/price_table.toon |
| 기본단가 | assets/data/prices.toon |
Part A: 견적 시스템
Quick Start
1. 가격 데이터 → assets/data/prices.toon (TOON 형식)
2. 가격 계산 → scripts/calculate_estimate.py
3. (책자) 조판 분석 → scripts/imposition_calculator.py
가격 데이터 (TOON)
가격 데이터는 assets/data/prices.toon에 TOON 형식으로 저장:
- 토큰 효율: JSON 대비 ~60% 절감
- 포함 데이터: 용지, 출력비, 제본비, 코팅, 후가공, 박가공, 포장, 할인율
# 수량 할인율 (prices.toon 발췌)
discount_tiers[6]{qty_min,qty_max,rate}:
1,9,0
10,49,0.03
50,99,0.06
100,499,0.10
500,999,0.15
1000,99999,0.20
가격 계산 공식
디지털인쇄
최종가 = (용지비 + 출력비 + 후가공비) × 수량 × (1 - 할인율)
책자 (중철, 무선, PUR)
최종가 = (내지비 + 표지비 + 제본비 + 후가공비) × 수량 × (1 - 할인율)
박가공 (엽서, 명함 등)
박가공비 = 동판비 + 박가공비
동판비: foil_copper_plate 테이블에서 (수량 × 면적mm) 조회
박가공비:
- 일반박 (금유광,은유광,동박,청박): foil_stamp_normal
- 특수박 (먹유광,홀로그램,트윙클,적박): foil_stamp_special
- 면적 150mm² 이하: price_base
- 면적 150mm² 초과: price_large
수량 할인율
| 구간 | 할인율 |
|---|
| 1-9 | 0% |
| 10-49 | 3% |
| 50-99 | 6% |
| 100-499 | 10% |
| 500-999 | 15% |
| 1000+ | 20% |
조판/CTP 가이드
CTP 판수 공식
CTP 판수 = 대지수 × 색상수 × 인쇄면수
대지 크기
| 대지 | 페이지 | 용도 |
|---|
| 4P | 4 | 리플렛 |
| 8P | 8 | 소형책자 |
| 16P | 16 | 표준책자 |
파일 제작 가이드
핵심 체크리스트
□ CMYK 색상 모드
□ 300dpi 해상도
□ 도련 사방 3mm
□ 안전영역: 재단선에서 3mm 안쪽
□ 서체 아웃라인
□ PDF 출판품질
도련/안전영역
┌─────────────────────┐
│ 도련 (3mm) │ ← 잘려나감
│ ┌───────────────┐ │
│ │ 재단선 │ │
│ │ ┌─────────┐ │ │
│ │ │안전영역 │ │ │ ← 중요 내용
│ │ └─────────┘ │ │
│ └───────────────┘ │
└─────────────────────┘
주문 시뮬레이터
용도별 상품 추천
| 용도 | 추천 상품 |
|---|
| 포트폴리오 | 무선책자 |
| 팸플릿 | 중철책자 |
| 홍보물 | 엽서/전단 |
| 굿즈 | 스티커/포토카드 |
제품 미리보기
옵션 완료 시 assets/templates/order-simulator.jsx를 React 아티팩트로 렌더링
Part B: 외주 정산 시스템 ⭐ NEW
지원 외주사
| 외주사 | 월 평균 | 매칭 방식 |
|---|
| 비즈하우스 | 10,000+건 | 상품IDX ↔ 작업번호 |
| 후지필름 | 50~100건 | 거래처주문번호 ↔ MES주문번호 |
정산 워크플로우
1. 파일 업로드 → 외주사 + MES 파일
2. 시트 매핑 → 자동 감지
3. 데이터 매칭 → scripts/settlement_matcher.py
4. 불일치 검출 → 누락/수량차이
5. 금액 집계 → VAT 포함
6. 정산서 생성 → Excel 출력
비즈하우스 정산
파일 구조 (7개 시트)
| 시트명 | 행수(예시) | 용도 |
|---|
| 인화업체정산 | 10,530 | 외주사 데이터 |
| 후니내역 | 10,521 | 내부 MES |
| 중복 | 11,555 | 매핑 테이블 |
| 보정 | 66 | 수동 보정 |
| 제주도서 | 72 | 도서산간 배송비 |
매칭 로직
인화업체정산.상품IDX
→ 중복시트.상품IDX
→ 중복시트.작업번호
→ 후니내역.작업번호
제외 조건 (중복시트 비고 컬럼)
9월정산 → 이전 정산 완료
취소 → 취소 주문
환불 → 환불 처리
금액 계산
총 정산금액 = (상품금액 + 배송비 + 제주도서 + 보정) × 1.1
상품금액 = Σ(인화업체정산.총공급가격)
배송비 = Σ(인화업체정산.배송비)
제주도서 = Σ(제주도서.기타운임)
보정 = Σ(보정.합계금액)
VAT = 소계 × 10%
분석 결과 예시 (2025.11)
📊 매칭 결과
├─ 총 건수: 10,530건
├─ 매칭 성공: 10,499건 (99.71%)
├─ 이전 정산 제외: 22건
├─ 매핑 테이블 없음: 5건
└─ 내부 데이터 없음: 4건
💰 정산 금액
├─ 상품 공급가격: ₩226,049,380
├─ 일반 배송비: ₩ 24,273,900
├─ 제주도서 (72건): ₩ 407,000
├─ 보정 금액 (66건): ₩ 20,382,990
├─ 소계: ₩271,113,270
├─ VAT (10%): ₩ 27,111,327
└─ 총 정산금액: ₩298,224,597
후지필름 정산
파일 구조 (1개 시트)
| 시트명 | 행수(예시) | 용도 |
|---|
| Sheet | 57 | 전체 정산 데이터 |
매칭 로직
후지필름.거래처주문번호
→ 정규화 (S1 접미사 제거)
→ MES.주문번호
주문번호 정규화
# M2511032226540S1 → M2511032226540
import re
normalized = re.sub(r'S\d+$', '', order_id)
⚠️ 금액 데이터 없음
후지필름 파일의 생산단가/금액 컬럼이 비어있음
→ 가격표 DB 연동 필요
분석 결과 예시 (2025.11)
📊 매칭 결과
├─ 총 건수: 57건
├─ 매칭 성공: 27건 (유니크 주문)
├─ 후지에만 존재: 2건
└─ MES에만 존재: 3건
📦 품목별 수량
├─ 포토북: 96건
├─ 레더스트랩키링: 20건
├─ 반칼팬시스티커: 12건
└─ 아크릴키링: 7건
⚠️ 금액: 가격표 연동 필요
불일치 유형
| 유형 | 설명 | 처리 |
|---|
| 매핑 없음 | 상품IDX가 중복시트에 없음 | 매핑 추가 |
| 내부 없음 | 작업번호가 후니내역에 없음 | MES 확인 |
| 수량 차이 | 외주 vs 내부 수량 불일치 | 수량 확인 |
| 이전 정산 | "9월정산" 표시 | 제외 |
정산 자동화 도구
정산 요청 시 assets/templates/settlement-manager.jsx를 React 아티팩트로 렌더링:
- 📁 파일 업로드 (드래그앤드롭)
- 🔍 자동 시트 감지
- 📊 매칭 결과 대시보드
- ❌ 불일치 항목 테이블
- 💰 금액 집계 (VAT 포함)
- 📋 품목별 집계
- 📥 Excel 내보내기
참조 문서
상품/가격 데이터 (TOON)
| 데이터 유형 | 참조 파일 | 내용 |
|---|
| 상품마스터 | assets/data/product_master.toon | 236개 MES상품, 12카테고리, 공정라우트 |
| 인쇄가격표 | assets/data/price_table.toon | 출력비, 제본비, 굿즈/파우치/에코백 |
| 기본단가 | assets/data/prices.toon | 용지 22종, 코팅, 후가공, 박가공 |
가격 데이터 상세
| 데이터 유형 | 참조 파일 |
|---|
| 용지 단가 (22종) | prices.toon → paper |
| 디지털출력비 (A3) | price_table.toon → output_a3 |
| 제본비 (중철/무선/PUR/트윈링/하드커버) | price_table.toon → binding_* |
| 아크릴 단가 (3T) | price_table.toon → acrylic_3t |
| 스티커 가공비 | price_table.toon → sticker_freeform |
| 굿즈 가격 | price_table.toon → goods_* |
| 파우치 가격 | price_table.toon → pouch_* |
| 에코백 가격 | price_table.toon → ecobag_* |
| 수량 할인율 | price_table.toon → discount_tiers |
| 박가공 동판비 | price_table.toon → foil_copper_plate |
| 박가공비 (일반박) | price_table.toon → foil_stamp_normal |
| 박가공비 (특수박) | price_table.toon → foil_stamp_special |
| 박가공 종류 | price_table.toon → foil_types |
견적/주문
| 질문 유형 | 참조 파일 |
|---|
| 주문 옵션 | references/order-guide.md |
| 제품 미리보기 | assets/templates/order-simulator.jsx |
| 파일 제작 | references/file-guide/ |
| 조판/CTP | references/imposition/ |
정산
| 질문 유형 | 참조 파일 |
|---|
| 정산 개요 | references/settlement/overview.md |
| 비즈하우스 | references/settlement/bizhouse.md |
| 후지필름 | references/settlement/fujifilm.md |
| 정산 도구 | assets/templates/settlement-manager.jsx |
스크립트 사용법
견적 계산
python scripts/calculate_estimate.py \
--product "무선책자" \
--options '{"pages":100}' \
--qty 50
CTP 판수
python scripts/imposition_calculator.py \
--pages 100 --signature 16 --colors 4
정산 분석
python scripts/settlement_matcher.py \
--partner bizhouse \
--file "02__비즈하우스.xlsx"
대화 시나리오
견적 문의
고객: "무선책자 A5 100P 50부 얼마예요?"
Claude: "A5 100P 무선책자 견적:
📋 옵션: A5, 100P, 아트지 120g
💰 50부 기준: ₩XXX,XXX (VAT별도)
📄 파일 규격:
• 내지: 154×216mm
• 표지: 310×216mm (책등 7mm)"
정산 분석
담당자: "비즈하우스 정산 분석해줘"
Claude: "파일 업로드 후 분석할게요.
[분석 결과]
📊 매칭: 10,499건 (99.71%)
❌ 불일치: 9건 (확인 필요)
💰 총 정산금액: ₩298,224,597
[React 아티팩트: 정산 대시보드]
정산서 Excel 생성할까요?"
회사 정보