← 웹사이트에서 읽기PDF 다운로드 ↓
SERVICE PLANNING · C-2 · 2026.11.01

입출고 요청과 일정관리

저장·요청·승인·변경·완료를 하나의 물류 요청과 전사 일정으로 연결하는 상세 명세.

개발 전달용 상세 명세 v1.0 · 하나의 서비스 / 단계별 구현 설계

C-2 / DEVELOPMENT SPECIFICATION

서비스 개요·문제와 범위

01

여러 상품행을 하나의 물류 요청으로 묶고, 요청→승인→협의→실제 처리→일정·재고 이력을 연결한다.

문제개발 방향
행 범위·담당자·완료 여부 불명확요청헤더·상태·담당자·실제수량·이력
시트와 캘린더 이중 입력승인된 요청을 기준으로 일정 파생
Slack 논의를 다시 찾기 어려움승인 게시와 요청 상세 연결,업무메모 유지
본 문서의AS-IS는 시트·Slack·별도 캘린더다. A의 최초Notion환경과 구분한다.
C-2 / DEVELOPMENT SPECIFICATION

시작 조건·권한·플로우

02
역할가능한 변경제약
요청자상품 검색·발번, 본인 초안 작성·수정·삭제, 요청 제출, 공유된 요청·전사 일정 조회, 본인 요청의 수정 제안타인 초안·상품 기준 수정·승인·완료·운영 요금·자동화 접근 불가
물류 담당자공유 요청 검토·승인·변경·완료, 재고·상품 운영정보 수정, 자동화·비용 비교, 업무 메모계정 생성·비밀번호 초기화·운영 계약 기준 변경 불가
물류 어드민물류 담당자 기능 전체, 계정 생성·비밀번호 재설정, 담당자 재배정·단계 변경, 3PL·요금·상시판매 기준 관리완료 재고를 상태값만 바꿔 취소하는 우회는 금지
요청자상품선택·폼입력 → 저장상품기준은C-1참조,입력완료 보관요청자요청 또는 바로요청 확인물류팀확인중으로전환물류 담당자필수정보·3PL·일정 확인 → 승인슬랙논의중,일정표시·게시물류 담당자운송·협의 → 실수량 검수 → 완료0수량허용,실재고검사요청자·물류팀수정 제안·메모·이슈 해결이력보존,승인 변경만본데이터적용
C-2 / DEVELOPMENT SPECIFICATION

요구사항·화면 지도

03
요구 ID개발 지시검수 기준
C2-R01입고·출고를 구분한 폼과5개 상품행을 제공한다.품번 참조·다중 붙여넣기·필수값 검사
C2-R02저장과 요청을 분리하고 바로 요청 확인을 제공한다.저장=입력완료, 요청=물류팀 확인 중
C2-R03요청 목록에 검색·내것/전체·상태 필터를 제공한다.헤더중복 없음·3PL표시·타인초안제외
C2-R04물류 승인 후 상태·캘린더·Slack을 연결한다.슬랙 논의 중,캘린더1건,게시 실패는별도표시
C2-R05수정 요청을 검토한 뒤 본 요청에 반영한다.승인 전 원본 불변,상품이름표시
C2-R06완료에 실제 상품별 수량을 기록한다.물류는0허용,상태·원장·재고 원자 처리
C2-R07취소 확인과 이력·메모를 보존한다.승인된미완료만취소,일정제외,재고 불변
C2-R08전사4레인 기간 캘린더와월별안내를 제공한다.다보내/패박 입고·출고,월경계기간 표시
화면 ID내용
C2-S01입고/출고 신청 팝업
C2-S02입출고 프로젝트 목록
C2-S03상세·수정·담당자·실수량·메모
C2-S04수정 요청·검토 팝업
C2-S05전사 캘린더·월별 일정 안내
C-2 / DEVELOPMENT SPECIFICATION

입고 신청·필드

04
입고 요청화면 구조 예시
물류 요청 이름 *예시 요청
요청자로그인 사용자
입고 요청일 *YYYY-MM-DD
입고 방식(선택)퀵/박스 · 퀵/파레트 · 택배 · 방문입고(물류팀)
상품 입고 속성요청 전체 적용
품번상품이름(잠금)프로젝트(잠금)상품속성(잠금)수량바코드(선택)
300000기준정보 자동자동자동1-

비고(특이사항) · 예정시간 · 차량정보/송장번호 · 국가(수입 시) · 사유

‘저장’만으로는 요청되지 않습니다. 저장 후 정보를 확인하고 ‘요청’을 눌러주세요.
필드규칙
물류 요청 이름맨위 필수.상품프로젝트명과구분
입고일·요청자일자는필수,요청자는인증 계정잠금
입고방식필수 아님.퀵/박스·퀵/파레트·택배·방문입고(물류팀)
상품입고속성요청전체에적용: 현장 직납 / Knowmerce로 바로 받음 (회사 직접 수령) / 현장 갔다가 창고 리턴 / 창고 최초 입고
상품행처음5행,+추가.품번조회시상품이름·프로젝트·속성잠금자동채움
기타비고·예정시간·차량/송장·국가·사유는선택텍스트.처리상필요한추가정보는물류가보완
C-2 / DEVELOPMENT SPECIFICATION

출고 신청·필드·재고 경고

05
출고 요청화면 구조 예시
물류 요청 이름 *예시 요청
요청자로그인 사용자
출고 요청일 *YYYY-MM-DD
출고 사유필수 선택
수령인·연락처·주소필수
품번상품이름(잠금)프로젝트(잠금)상품속성(잠금)수량바코드(선택)
300000기준정보 자동자동자동1-

비고(특이사항) · 예정시간 · 차량정보/송장번호 · 국가(수입 시) · 사유

‘저장’만으로는 요청되지 않습니다. 저장 후 정보를 확인하고 ‘요청’을 눌러주세요.

출고 방식은 제거한다. 출고 사유는 다음 선택값으로 제공한다: 이벤트당첨증정 / 판매(고객/회사등) / 판매대행상품소속사이동 / 창고이동 / 고객앨범전달용(사인회등) / 소속사증정(샘플) / CS / 자체이동(현장판매/싸인받기) / 그 외

필수검증
출고 요청일·품번·요청수량유효한 일자·등록 상품·1 이상 정수
받는 사람·연락처·도착지 주소공백만입력불가.국내번호는확인 가능한 형식안내
출고사유선택 필수.그외의추가설명은비고
현재고부족“출고 요청만큼 재고가 충분하지 않습니다. 그래도 요청하시겠습니까?” 확인하면제출가능
현재고미확인미확인임을구분안내.0으로간주하지않음
요청수량은요청자1이상.승인 후 물류 담당자는일부처리없음을표현하기위해수량/실수량0을입력가능하다.모든행0인경우에도완료로종결할지이슈/취소로남길지확인 필요.
C-2 / DEVELOPMENT SPECIFICATION

붙여넣기·저장·요청 상호작용

06
이벤트동작·문구
품번여러줄붙여넣기탭/줄바꿈에서품번을각행에넣고부족한행자동추가.각품번정보조회후상품필드잠금.실패한행표시.
빈행모든값이빈행만제외.수량만있거나품번조회실패한행은저장 차단.
수량0오류“1행의 수량을 확인해주세요.”처럼행번호포함.기존입력보존.
저장헤더+상품행원자저장,입력완료.안내: “저장되었습니다. 정보를 다시 한 번 확인하고, 하단 ‘요청’ 버튼을 눌러주세요. 입고 요청이 진행된 경우, 정보는 논의 후 수정 가능합니다.”
저장후요청/삭제/수정버튼노출.삭제는재확인.
바로요청저장옆발송아이콘,진한색.저장은연한색. “요청이 진행되면 수정이 어렵습니다. 그래도 바로 요청하시겠습니까?” 확인/취소.
요청성공물류팀확인중,뒤화면입출고프로젝트목록으로이동.취소/실패는현재폼유지
C-2 / DEVELOPMENT SPECIFICATION

프로젝트 목록·대시보드 필터

07
입출고 프로젝트화면 구조 예시

검색: 요청자 · 물류 요청 이름 · 품번 · 상품이름

◉ 내것만 보기 ○ 전체보기

전체 / 승인대기 / 입고 / 출고 / 완료 / 이슈 해결 중

Num물류 요청 이름상품요청자입출고일3PL상태
001예시출고요청상품A 외1건예시사용자예시일정다보내슬랙 논의 중
물류 담당자/어드민 외 계정은 내것만 보기를 기본 선택한다. 목록의 내 요청을 별도로 볼드 처리하지 않는다. 전체보기에서도 타인 입력완료는 제외한다. 승인대기는 물류팀 확인 중이면서 미승인인 요청이다.

대시보드 카드: 승인 대기 → 슬랙 논의 중 → 이슈 해결 중(빨간아이콘) → 수정 요청. 클릭하면 같은 목록의 조건필터로 이동한다.

C-2 / DEVELOPMENT SPECIFICATION

상세·메모·수정 요청·담당자

08
요청 상세화면 구조 예시
물류 담당자승인한 담당자 / 어드민 변경가능
3PL다보내
출고 완료 예상 시점예시일정
운송 정보차량·송장 등
상품이름요청수량실수량
예시상품A55
예시상품B30
행동정책
메모모든접근가능담당자작성.댓글처럼작성자·시간·내용표시.단순덮어쓰기가아님.
수정요청품번보다상품이름표시.수량·일정변경과사유입력.사유안내: “(변경사항이 다른 영역일 경우, 수정 사유에 따로 적어주세요)”
수정승인검토현재값/제안값확인 후 적용.검토중원본이바뀌었으면재조회·재검토.대기수정은요청당1건제안.
담당자·단계어드민이정보수정에서담당자변경·허용단계변경가능.완료원장우회수정불가.
수령정보요청당1개수령인·주소로정의.상품별배송지가다르면요청분리하는안.
C-2 / DEVELOPMENT SPECIFICATION

승인·상태·취소·Slack

09
상태의미처리
입력완료저장한 초안본인 수정·삭제·요청 / 캘린더·재고 영향 없음
물류팀 확인 중제출 후 검토 대기물류 담당자 승인 / 아직 일정 미등록
슬랙 논의 중물류 승인 이후 협의전사 일정 생성·Slack 게시 / 배송·완료·이슈·취소로 진행
배송 중 / 출고중출고 작업·운송 진행운송 정보·출고 완료 예상 시점 기록
입고 완료 / 출고 완료물류팀이 실제 수량을 확인상품별 실수량과 수불을 함께 확정 / 직접 덮어쓰기 금지
이슈 해결 중누락·업체 협의 등으로 중단메모·정보 보완 후 진행 상태 선택
취소승인된 미완료 요청을 중단확인 팝업 / 일정 제외 / 재고 변화 없음 / 기록 보존

승인시 “슬랙 논의 중”으로 바꾸고 전사 캘린더에 표시한다. 공통 Slack 채널에 봇 게시한다. 이 연동은개발스펙이며현재프로토타입에서는실제연동과구분한다.

요청자 : @실제 Slack 사용자 ID
물류 담당자 : @실제 Slack 사용자 ID
프로젝트 : [물류 요청 이름]
등록 상품 : 대표 상품 외 n건
시행 일시 : YYYY-MM-DD
특이사항 : 내용 또는 -
취소: “취소로 변경됩니다. 맞습니까?” 확인 후 승인된미완료만취소.캘린더제외·대기수정무효·재고 불변.완료 후 취소는자동역재고하지않고별도보정검토. Slack 전송 실패는승인을취소하지않고게시재시도로복구.
C-2 / DEVELOPMENT SPECIFICATION

실제 처리·재고·동시 요청

10
물류 담당자상품별 실제 수량 확인입고는실입고,출고는실출고.0 이상 정수서버현재 상태·상품·3PL·재고 재검사완료이거나취소면차단,출고재고부족이면전체차단DB원장·잔액·실수량·완료상태 함께저장한번만적용.전용이중반영유일키컬럼없이현재상태조건사용성공상세·상품이력·목록 갱신사람이원본·3PL결과와마지막대조
재고NULL일때첫입고를더한값을현재고로자동확정하면기존숨은재고를잃을수있다.기초재고확인 후 완료를기본안으로하고,첫입고로확정하는정책은운영합의가필요하다.
C-2 / DEVELOPMENT SPECIFICATION

전사 캘린더·기간·월별 안내

11
전사 입출고 캘린더화면 구조 예시
3PL·유형
월
화
수
목
금
다보내 입고
← 예시 물류 요청 →
다보내 출고
← 예시 물류 요청 →
패박 입고
← 예시 물류 요청 →
패박 출고
← 예시 물류 요청 →

오른쪽 월별 일정 안내: 해당 월과 겹치는 모든 승인 프로젝트

항목명세
레인다보내입고·다보내출고 / 패박입고·패박출고.둘업체동시에표시.업체색을고정하고일정본문에는업체명반복하지않음.
기간입출고시작~출고완료예상시점동안←→기간막대표시.완료예상이같으면하루이벤트.
다른완료일실제출고시점과예상이달라지면메모에사유기록.변경된예상일은물류팀관리.
내요청캘린더에서만본인요청글자볼드.전사일정은숨기지않음.
월경계전월부터진행중이거나다음월로이어지는기간도현재월에겹치면표시.겹침은같은레인내서브행.
승인·변경·취소동일요청ID로파생.취소/반려/미승인제외.별도수동일정복제하지않음.
C-2 / DEVELOPMENT SPECIFICATION

부분 데이터·API 계약

12
logistics_requests
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
request_numINTEGERNOT NULL
request_nameTEXTNOT NULL
directionTEXTNOT NULL
requester_idTEXTNOT NULL REFERENCES actors(id) ON DELETE RESTRICT
assignee_idTEXTREFERENCES actors(id) ON DELETE RESTRICT
warehouse_idTEXTREFERENCES warehouses(id) ON DELETE RESTRICT
statusTEXTNOT NULL
scheduled_atTEXTNOT NULL
expected_end_atTEXT
completed_atTEXT
inbound_methodTEXT
inbound_attributeTEXT
outbound_reasonTEXT
recipientTEXT
phoneTEXT
postal_codeTEXT
addressTEXT
transport_infoTEXT
origin_countryTEXT
noteTEXT
created_atTEXTNOT NULL
UNIQUE(request_num)
Slack 게시를 위해 slack_message_ts / slack_delivery_status / slack_last_error(nullable) 추가를 제안한다. 알림·정기실행 전용 테이블은 추가하지 않는다.
request_lines
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
request_idTEXTNOT NULL REFERENCES logistics_requests(id) ON DELETE RESTRICT
product_idTEXTNOT NULL REFERENCES products(id) ON DELETE RESTRICT
line_noINTEGERNOT NULL
sku_number_snapshotTEXTNOT NULL
name_snapshotTEXTNOT NULL
requested_qtyINTEGERNOT NULL
actual_qtyINTEGER
UNIQUE(request_id,product_id)
UNIQUE(request_id,line_no)
CHECK(requested_qty>= 0)
CHECK(actual_qtyIS NULL OR actual_qty >= 0)
request_changes
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
request_idTEXTNOT NULL REFERENCES logistics_requests(id) ON DELETE RESTRICT
requested_byTEXTNOT NULL REFERENCES actors(id) ON DELETE RESTRICT
reasonTEXTNOT NULL
proposed_scheduled_atTEXT
statusTEXTNOT NULL
reviewed_byTEXTREFERENCES actors(id) ON DELETE RESTRICT
reviewed_atTEXT
created_atTEXTNOT NULL
request_change_lines
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
change_idTEXTNOT NULL REFERENCES request_changes(id) ON DELETE RESTRICT
request_line_idTEXTNOT NULL REFERENCES request_lines(id) ON DELETE RESTRICT
proposed_qtyINTEGERNOT NULL
UNIQUE(change_id,request_line_id)
CHECK(proposed_qty>= 0)
project_comments
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
request_idTEXTNOT NULL REFERENCES logistics_requests(id) ON DELETE RESTRICT
actor_idTEXTNOT NULL REFERENCES actors(id) ON DELETE RESTRICT
bodyTEXTNOT NULL
created_atTEXTNOT NULL
request_status_history
필드/제약타입논리 정의
idTEXTPRIMARY KEY NOT NULL
request_idTEXTNOT NULL REFERENCES logistics_requests(id) ON DELETE RESTRICT
actor_idTEXTNOT NULL REFERENCES actors(id) ON DELETE RESTRICT
from_statusTEXT
to_statusTEXTNOT NULL
reasonTEXT
created_atTEXTNOT NULL
제안 API권한·조건
POST /requests · PATCH /requests/:id/draft인증요청자·입력완료본인 소유·폼검증
POST /requests/:id/submit초안최신 상태·재고경고확인
POST /requests/:id/approve물류역할·제출요청·담당자·3PL확정
POST /request-changes · /:id/review본인수정제안·물류검토·같은 요청명세참조
POST /requests/:id/complete · /cancel완료원자처리/취소확인·상태조건
GET /calendar?month=YYYY-MM승인요청의기간투영
POST /requests/:id/comments공유접근가능사용자·본문1~2000자제안
C-2 / DEVELOPMENT SPECIFICATION

인수 테스트·확인 필요

13
테스트 ID연결 요구시나리오기대 결과
C2-T01C2-R015행중2상품,3행빈값명세2행저장
C2-T02C2-R01품번2개줄바꿈붙여넣기각행자동조회,상품이름수정불가
C2-T03C2-R02저장만실행입력완료·일정/Slack/재고 변화없음
C2-T04C2-R02바로요청취소/확인취소는폼유지,확인만제출
C2-T05C2-R03전체보기로타인초안검색초안노출안됨
C2-T06C2-R04승인 후 Slack실패승인/일정유지·재시도상태표시
C2-T07C2-R05수정반려원요청수량·일정불변
C2-T08C2-R06완료실수량5와0첫상품만이동,0수량표시보존
C2-T09C2-R06동일완료동시실행수불1회·음수재고없음
C2-T10C2-R07승인 후 취소확인일정제외·재고 불변·이력보존
C2-T11C2-R08월경계기간과본인요청막대연속·본인볼드·전체월안내
확인 필요:한요청여러3PL의분리안,초과실입고,완료 후 보정,초안물류팀열람범위,Slack실제ID/채널설정. 임의로동작확정하지않고C-0의미확인정책목록과함께검토한다.

화면 예시