본문 바로가기

WMS 구축 시 SKU는 어떻게 설계하는가

WMS 작성 · 수정 · 글쓴이 미션비

핵심 답변

WMS의 SKU는 '창고에서 따로 세어야 하는 최소 단위'마다 하나씩 만들고, 절대 바뀌지 않는 내부 코드를 붙입니다. 판매 단위(낱개·묶음), 바코드, 세트 구성, 재고 상태는 SKU 안에 섞지 않고 별도 데이터로 연결합니다. 이 기준이 흔들리면 이후 입고·피킹·재고 수치가 모두 어긋납니다.

SKU는 '창고에서 따로 세는 단위'다

쇼핑몰에서 SKU를 옵션 조합 정도로 생각했다면, WMS에서는 기준을 한 번 더 좁혀야 합니다. WMS의 SKU는 창고에서 따로 보관하고, 따로 세고, 따로 집어 보내는 최소 단위입니다. 같은 상품이라도 창고에서 구분해서 세야 한다면 SKU가 달라야 하고, 반대로 이름이 달라도 창고에서 구분하지 않는다면 같은 SKU로 두는 편이 낫습니다.

이 기준이 흔들리면 입고 검수, 로케이션 적치, 피킹 지시, 재고 실사 수치가 모두 조금씩 어긋나고, 어긋난 원인을 나중에 찾기가 매우 어렵습니다. 그래서 WMS 구축에서 SKU 설계는 화면 설계보다 먼저 합니다.

SKU를 정할 때 먼저 답해야 하는 질문

SKU 설계 질문
판매 단위낱개로 파는가, 묶음으로만 파는가, 둘 다 파는가
보관 단위박스를 뜯어 낱개로 보관하는가, 박스째 보관하는가
바코드제조사 바코드를 쓰는가, 자체 바코드를 붙이는가, 박스 바코드가 따로 있는가
세트여러 상품을 묶어 파는 세트가 있는가, 세트를 미리 조립해 두는가
상태불량·반품 대기 재고를 정상 재고와 따로 관리해야 하는가
추적유통기한이나 제조 로트별로 출고 순서를 지켜야 하는가

SKU 안에 넣지 말고 연결해야 하는 것

1) 포장 단위(입수량)

낱개 SKU 하나에 "박스 = 10개"처럼 포장 단위를 연결합니다. 입고는 박스로 받아도 재고는 낱개로 쌓이고, 출고 지시도 낱개 기준으로 계산됩니다. 박스를 뜯지 않고 박스째 보관·출고하는 창고라면 박스를 별도 SKU로 두는 편이 재고가 정확합니다. 기준은 판매 방식이 아니라 창고에서 실제로 무엇을 세는가입니다.

2) 바코드는 여러 개일 수 있다

한 SKU에 제조사 바코드, 자체 바코드, 박스 바코드가 동시에 붙을 수 있습니다. 그래서 바코드를 SKU의 컬럼 하나로 두지 말고 "바코드 → SKU(+ 수량)" 매핑으로 관리합니다. 박스 바코드를 스캔하면 낱개 SKU 10개로 처리되는 식입니다. 같은 바코드가 다른 SKU에 이미 연결돼 있으면 등록을 막는 검사도 필요합니다.

3) 세트는 구성표로

세트 상품을 별도 SKU로만 만들면 구성품 재고와 따로 놀게 됩니다. 세트는 "구성품 SKU × 수량" 목록으로 정의하고, 주문이 들어오면 구성품 기준으로 피킹과 재고 차감이 일어나게 만듭니다. 미리 조립해 보관하는 세트만 예외적으로 별도 SKU로 둡니다.

4) 재고 상태는 SKU가 아니라 재고 행에

불량 재고를 "상품명(불량)" 같은 새 SKU로 만들면 통계와 연동이 모두 복잡해집니다. SKU는 그대로 두고 재고 행에 정상·불량·반품 대기 같은 상태와 로케이션을 붙이는 방식이 관리하기 쉽습니다.

코드 체계

  • 내부 코드 — 의미 없는 일련번호. 한 번 부여하면 바꾸지 않습니다. 주문·재고·이력이 모두 이 값을 참조합니다.
  • 관리 코드 — 사람이 읽기 쉬운 코드(품목-규격 등). 규칙이 바뀌면 다시 부여할 수 있게 별도 필드로 둡니다.
  • 외부 코드 — 쇼핑몰·오픈마켓·공급사가 쓰는 상품·옵션 번호. 채널별 매핑 테이블에 저장합니다.

미션비 운영 사례: 품목과 규격을 나누다

미션비가 운영하는 공구·산업용품 쇼핑몰 툴ON은 하나의 상품 안에 규격이 수십 가지인 경우가 많습니다. 그래서 데이터를 품목(고객이 보는 상품)규격(실제로 팔고 재고를 세는 단위)으로 나누고, 규격마다 판매 단위 수량과 가격을 둡니다. 주문 항목은 품목이 아니라 규격을 가리키므로, 결제 금액·외부 가격 비교 피드·재고 계산이 모두 같은 규격 기준으로 이어집니다.

이 구조에서 가장 신경 써야 하는 부분은 판매 단위입니다. 묶음으로만 파는 규격의 가격을 어떤 곳에서는 묶음 가격으로, 어떤 곳에서는 낱개 가격으로 계산하면 같은 상품이 채널마다 다른 가격으로 보입니다. 그래서 가격 계산식을 한 곳에서만 정의하고, 주문·외부 피드 같은 모든 출력이 그 식을 쓰도록 맞춰 운영합니다.

주의사항

  • 운영 중에 SKU 기준을 바꾸면 과거 주문과 재고 이력의 해석이 달라집니다. 바꿔야 한다면 전환 시점을 기록하고 재고 실사를 함께 합니다.
  • 옵션 조합을 모두 SKU로 만들면 수백 개가 생기기도 합니다. 실제로 취급하는 조합만 등록하게 하는 편이 현장이 편합니다.
  • SKU 이름은 표시용입니다. 연동이나 검색 키로 쓰지 않습니다.

정리

WMS의 SKU는 창고가 세는 단위로 정하고, 포장 단위·바코드·세트·재고 상태는 SKU에 섞지 말고 연결합니다. 내부 코드는 바꾸지 않는 값으로 두고, 판매 단위와 가격 계산은 한 곳에서만 정의합니다. 이 몇 가지를 처음에 정해 두면 이후 입고·피킹·연동에서 생기는 문제 대부분을 미리 막을 수 있습니다.

이 글과 관련해 자주 묻는 질문

실제 상담에서 가장 자주 나오는 질문과, 저희가 드리는 답변입니다.

같은 상품을 낱개와 박스로 모두 팔면 SKU는 몇 개인가요?

창고에서 낱개로만 세고 박스를 뜯어 파는 구조라면 SKU는 낱개 하나로 두고, 박스는 '입수량 10'처럼 포장 단위로 연결합니다. 박스를 뜯지 않고 박스째 보관·출고한다면 박스를 별도 SKU로 두는 편이 재고가 정확합니다.

기준은 판매 방식이 아니라 창고에서 실제로 무엇을 세는가입니다.

SKU 코드에 색상·사이즈 같은 의미를 넣어도 되나요?

사람이 읽는 보조 코드에는 넣어도 되지만, 시스템이 연결에 쓰는 내부 코드는 의미 없는 일련번호로 두는 편이 안전합니다. 규칙이 바뀌면 의미를 담은 코드는 다시 만들어야 하고, 그 코드를 참조하던 주문·재고 이력이 모두 흔들리기 때문입니다.

관련 서비스와 글

창고 업무를 시스템으로 옮기는 중이신가요?

하루 출고량과 취급 품목, 지금 쓰는 방식만 알려 주시면
어느 단계부터 만들어야 하는지 먼저 정리해 드립니다.

WMS 구축 상담하기