MD-02 · 발주 문서 관리 · 기획 문서
발주 문서 관리
바이어(매입처) 발주서를 어드민에서 작성·다운로드·현황 관리한다. 공급사별로 발주서가 나가고, 대기업 API 발주현황관리와 별개인 새 메뉴다. 품목은 상품 마스터에서 자동으로 채우고, 사람은 수량(EA)·공급가액만 넣는다.
◇
양식 = 26.00 단일 (실제 파일 기준)
EA 기준 · 공급사별 · 이전 2종(바이어/판매분)은 폐기
1
헤더 = 발주처(딜리버리랩) / 공급처(선택한 공급사) 양쪽 사업자번호·주소·담당자 + 발주요청일·배송요청일. · 발주처(고정) 담당자 = 로그인한 사용자의 이름·휴대폰번호가 자동 표기(별도 입력·관리 없음, 계정 정보 그대로 사용).
2
품목 컬럼 = 상품코드·유통사 상품코드·DC 작업 코드·상품명·상품상세·중량·상태·원산지·면과세·규격·유통기한·박스입수량·수량(EA)·공급가액·부가세액·총공급가·합계금액·박스수·팔렛트입수·PLT수.
부가세액 = 면세 ? 0 : 공급가액 × 10%
총공급가 = 공급가액 + 부가세액
합계금액 = 총공급가 × 수량(EA)
박스수 = 수량(EA) ÷ 박스입수량 · PLT수 = 박스수 ÷ 팔렛트입수
총공급가 = 공급가액 + 부가세액
합계금액 = 총공급가 × 수량(EA)
박스수 = 수량(EA) ÷ 박스입수량 · PLT수 = 박스수 ÷ 팔렛트입수
실검증: 혼합미 공급가액 50,000(면세) · 수량 200 → 합계 10,000,000 · 박스수 200 = 실제 파일값 일치.
①
발주 작성
공급사 선택 → 품목 추가 → 수량(EA)·공급가액 입력 → 다운로드
1
공급사 먼저 선택 → 공급처 정보 자동 채움. 발주서는 공급사별로 나감(한 공급사 = 한 발주서).
2
품목은 [+ 상품 추가] → 기존 어드민 상품 선택 모달 호출(HERO코드·유통사·상품명 필터 + 원가·단가·판매가·예상입고일·수량제한 표 · 멀티선택→추가). 히어로코드·유통사코드·DC 작업 코드·박스입수·규격 등은 자동.
3
사람 입력 = 수량(EA)·공급가액(단가) 두 개. 금액·박스수는 자동. 행 체크박스 + [선택 삭제].
4
명칭은 내부 「DC 작업 코드」로 통일. 외부 발주서엔 "센터 작업 코드"로 인쇄. 매핑 없으면 빈칸+경고(MD-03).
②
발주 문서 현황
공급사명 검색 · 삭제(로그) · 다중 선택
1
다운로드 후 "발주 문서 현황에 등록하시겠습니까?" → 등록 시 엑셀 첨부 + 업로더·일시 기록.
2
컬럼에 공급사명·담당자명 추가 · 공급사명 검색 · 발주번호 체크박스/전체선택.
3
삭제 — 잘못 발송 등 대비. 삭제하면 삭제 이력(삭제자·일시·발주번호)에 로그가 남음.
4
상태 = 등록완료(작성본 업로드 후 미확정분은 임시). 전달·입고는 안2/수동. 발주 작성엔 임시저장 없음.
5
빈 상태 시작 · 임시저장 제외. 실제 진입 시 품목은 빈 상태로 시작(프로토의 채워진 품목은 데모 샘플). 아이디별 초안을 계속 물고 있을 필요가 없다고 봐 매번 새로 작성 → 발주서 다운로드. 필요하면 다운로드본을 「+ 작성본 업로드」로 등록.
③
데이터 모델 (ERD) · 구조
바이어 발주는 신규 3테이블 + 기존 seller 계열 참조. (DB 실측: 바이어 발주 전용 테이블 없음 → 신규. 기존 order_placement·member_order는 전부 고객 주문)
신규 (NEW)
purchase_order NEW
idPK
po_no발주번호
seller_id거래처/허브
real_supplier_id실 공급사(v2)
center_id납품처
delivery_req_date배송요청일
round회차
status임시/등록완료
total_amount합계
file_pathxlsx 첨부
uploader / created_at업로더·일시
발주 문서 마스터 · 1 발주서 = 1 실 공급사.
purchase_order_item NEW
idPK
po_idFK
hero_code상품코드
dist_code유통사상품코드
dc_codeDC작업코드
tax_type면세/과세
qty_ea · unit_price_eaEA
supply · vat · total금액
26.00 양식 품목행 · VAT=면세0/과세10%.
purchase_order_delete_log NEW
idPK
po_no발주번호
seller_name공급사
deleted_by · at삭제자·일시
삭제 이력(회의: 삭제 로그 필수).
기존 참조 (READ · DB 실측)
seller READ
id · name공급사
biz_no · addr사업자·주소
167건 · 공급처=공급사 마스터.
seller_manager_phone READ
seller_idFK
manager · phone담당자·연락처
담당자 연락처(카톡/메일 발송=안3 선행).
seller_center READ
seller_id · center_id납품처
598건 · 공급사↔센터 매핑.
seller_product READ
hero_code · name품목
price(공급가)단가 프리필
62k · 발주 품목 검색·단가. seller_settlement_info=정산.
purchase_order 1 −< purchase_order_item >− seller_product(hero_code)
purchase_order >− seller(seller_id=거래처 · real_supplier_id=실공급사) · >− center(납품처)
seller 1 −< seller_manager_phone · 1 −< seller_center · 1 −< seller_settlement_info
DDL (초안)
-- 발주 문서 마스터 CREATE TABLE purchase_order ( id BIGINT PRIMARY KEY, po_no VARCHAR(20) NOT NULL, -- PO-YYMMDD-N seller_id BIGINT REFERENCES seller(id), -- 거래처(허브) real_supplier_id BIGINT REFERENCES seller(id), -- 실 공급사(v2) center_id BIGINT, -- 납품처 delivery_req_date DATE, round INT, -- 회차(배송요청일 단위) status VARCHAR(10) DEFAULT 'draft',-- draft/registered total_amount NUMERIC(14,0), file_path TEXT, -- xlsx 첨부(S3) uploader VARCHAR(20), created_at TIMESTAMP DEFAULT now() ); -- 발주 품목 (26.00 양식 · 1:N) CREATE TABLE purchase_order_item ( id BIGINT PRIMARY KEY, po_id BIGINT NOT NULL REFERENCES purchase_order(id), hero_code VARCHAR(20), dist_code VARCHAR(20), -- 유통사 상품코드 dc_code VARCHAR(20), -- DC 작업 코드(MD-03) product_name VARCHAR(120), tax_type VARCHAR(4), -- 면세/과세 box_in INT, qty_ea INT, -- 박스입수·수량(EA) unit_price_ea NUMERIC(12,2), supply_amount NUMERIC(14,0), -- 공급가액 = 단가×수량 vat_amount NUMERIC(14,0), -- 면세0 / 과세 10% total_amount NUMERIC(14,0) ); -- 삭제 이력 CREATE TABLE purchase_order_delete_log ( id BIGINT PRIMARY KEY, po_no VARCHAR(20), seller_name VARCHAR(80), deleted_by VARCHAR(20), deleted_at TIMESTAMP DEFAULT now() );
처리 흐름
- 공급사 선택 → 공급처(거래처·실공급사·담당자·연락처) 자동.
seller · seller_manager_phone - 품목 검색(
seller_product) → 수량(EA)·단가 입력 → 26.00 양식 계산(면과세 VAT). - 발주서 xlsx 다운로드 — 실 공급사별 1장 · 단품 5천만원↑ 알럿.
- “발주 문서 현황 등록?” →
purchase_order+ items 저장(상태 등록완료·xlsx 첨부·업로더 로그). - 기간·공급사별 조회·엑셀(월 정산) · 삭제 시
purchase_order_delete_log.
과도기(4단계)와 연결: 안1=다운로드·현황 / 안2=재고·선입선출(MD-01) 연결 / 안3=카톡·메일 발송(seller_manager_phone) / 안4=공급사 로그인 열람.
📌
결정사항 (컨펌용)
양식
26.00 단일로 픽스. 이전 바이어/판매분 2종은 폐기.
단위
EA 기준. 수량(EA)·공급가액(단가) 입력, 박스수는 파생.
공급사
공급사별 발주. 공급사 선택(공급사명만 노출) → 공급처 자동 · 한 공급사 = 한 발주서. 공급처는 기존 공급사 관리 메뉴 사용(발주에 별도 공급처 관리·추가 없음). 거래처(허브)=「이천 Hub」 단일 고정(현행 운영).
명칭
내부 「DC 작업 코드」로 통일(양식엔 센터 작업 코드로 인쇄). = MD-03 매핑 자동.
회차
발주 건 = 배송요청일 단위. 회차는 센터별 라벨(1급 개념 아님).
등록·상태·삭제
다운로드 후 등록 여부 물어봄 · 상태 임시/등록완료 · 삭제 가능 + 로그.
재고량 연동
고도화(안2). 이번엔 재고 자동 연결 없음.
◷
4단계 과도기
이번 = 안1
안1 · 이번
작성·다운로드·현황
양식(26.00) 작성 → 엑셀 다운로드 → 등록·첨부·삭제(로그) 관리.
안2 · 다음
재고·선입선출 연결
발주서에 현재고(MD-01) 반영 → "발주 필요" 판단. 입고 상태 추가.
안3
카톡·메일 발송
공급사 담당자 연락처·메일 조사 후 자동 발송.
안4 · 마지막
공급사 로그인 열람
공급사 ID 발번·배부 → 셀프 조회.
요약새 메뉴 「발주 문서 관리」 · 26.00 단일 양식 · 공급사별 · EA 기준 · 마스터 자동채움 + 수량·공급가액만 입력 · 등록/삭제(로그) · 재고·발송은 고도화(안2~4).