결론부터 말하겠습니다: 대부분의 창고는 필요 없던 핸들링 터치 하나에 돈을 내고 있습니다. 화물이 도착하면 인바운드에서 분해하고, 저장 위치에 입고한 뒤, 며칠 후 다시 꺼내 피킹합니다. 같은 팔레트를 지게차가 두 번 만집니다. 그건 곧 돈이 문 밖으로 걸어 나가는 소리입니다.
WES 입고 최적화가 존재하는 이유는 바로 이 문제를 해결하기 위해서입니다. 화물이 도착하는 순간, 시스템은 이미 그 화물이 어디로 갈지를 파악해 둔 상태입니다. 출고로 바로 흘려보낼 수 있는 화물은 아웃바운드 스테이징이나 피크 페이스(pick face)로 직행하고, 정말로 저장이 필요한 화물만 저장 위치에 입고합니다. 터치 하나 줄이기는 지게차 연료 절약이 아닙니다. 그 터치 하나에 붙어 있던 모든 비용을 없애는 것입니다.
왜 WMS가 아니라 WES가 이 일을 맡아야 하는가
WMS도 입고 규칙은 짤 수 있습니다. A급 제품은 도크 근처에, 무거운 화물은 하단에. 하지만 WMS 규칙은 정적입니다. 지금 이 순간 무슨 일이 일어나고 있는지는 볼 수 없습니다.
인상 깊게 남은 사례가 하나 있습니다. 다른 고객사에서도 같은 함정을 세 번이나 목격했습니다. 2023년 11월, 상하이 외곽의 한 3PL이 18,000제곱미터 규모의 시설에서 소형 가전 제품을 운영하고 있었습니다. Singles' Day를 일주일 앞두고, 그들의 인바운드 구역은 400+ 팔레트에 파묻혔습니다. 지게차 기사들은 오전 8시부터 오후 10시까지 일해도 입고가 따라가지 못했습니다. 사장님이 저에게 물었습니다. 'ABC 입고 규칙을 다 설정했는데, 왜 바빠질수록 더 엉망이 되는 거죠?'
사흘 치 데이터가 이야기를 말해주었습니다. 규칙은 맞았지만, 타이밍이 틀렸습니다. 그 400개 팔레트 중 120개는 이미 다음 날 아침 출고 예정인 아웃바운드 주문에 확정된 물량이었습니다. 정적 규칙은 충실하게 그들을 저장 위치에 넣었고, 다음 날 피커들이 그대로 다시 꺼냈습니다. 120개 팔레트, 하나도 빠짐없이 한 번씩 쓸데없이 더 만진 셈입니다.
WMS는 화물이 어디에 있어야 하는지 알려줍니다. WES는 화물이 지금 당장 그곳에 가야 하는지를 알려줍니다. 동적 입고 오케스트레이션은 네 가지 실시간 입력을 저울질합니다.
- 미결 수요(Open demand): 앞으로 24–72시간 안에 이 화물이 필요한 아웃바운드 주문(또는 계획된 웨이브)이 있는가?
- 저장 현실(Storage reality): 지금 이 순간 목표 위치가 가득 찼는가, 절반인가, 아니면 존재하지도 않는가?
- 자원 상태(Resource state): 지게차가 폭주 상태인가? 플로우스루 레인은 비어 있는가?
- 화물 특성(Freight characteristics): 유통기한, 로트 요건, 혼합 팔레트.
정적 규칙은 네 번째만 봅니다. WES는 네 가지 모두를 봅니다.
플로우스루 구축 4단계
1단계: 위치 배정 전에 인바운드에서 목적지를 태깅하라
기존 흐름: 입고 → QC → WMS가 위치 배정 → 적재. 새로운 흐름: 입고 → WES가 목적지 계산 → 태깅(플로우스루 / replenishment-direct / store) → 태그대로 라우팅.
태깅 로직은 WES 의사결정 엔진 안에 있습니다. 시작용 템플릿은 다음과 같습니다.
- 앞으로 48시간의 아웃바운드 수요가 인바운드 물량의 ≥80%를 커버한다 → 플로우스루
- 수요는 있지만 커버율이 <80%이고, 피크 페이스 재고가 보충 트리거 이하이다 → replenishment-direct(피크 페이스로 직행)
- 단기 수요가 없다 → store(일반 입고 규칙)
이 48시간 윈도우는 임의로 정한 게 아닙니다. 너무 짧으면 플로우스루 물량 자체가 나오지 않고, 너무 길면 예측이 불안정해져 화물이 스테이징에 쌓입니다. 저는 보통 고객사를 48시간으로 시작해서 2주간의 데이터를 보고 튜닝합니다. 상하이 3PL은 36시간에 안착했습니다. 하루에 주문 웨이브를 두 번 도는데, 36시간이면 정확히 세 개의 웨이브를 커버하거든요.
2단계: 플로우스루를 계층화하라 — 한 가지가 아니다
플로우스루는 세 가지 형태가 있으며, 비용과 리스크 프로파일이 크게 다릅니다.
| 형태 | 처리 방식 | 적합한 경우 | 주의점 |
|---|---|---|---|
| 풀팔레트 플로우스루 | 팔레트 통째로 인바운드에서 아웃바운드 스테이징으로 이동 | 대물량, 단일 SKU, 풀팔레트 출고 | 공간이 부족하면 스테이징 레인이 막힘 |
| 브레이크벌크 플로우스루 | 인바운드에서 팔레트를 분해해 주문별로 분류 | 다품종 SKU, 소량 배치, 이커머스 주문 | 브레이크벌크 인건비가 비쌈 |
| 보충 직행(replenishment-direct) | 저장을 건너뛰고 피크 페이스로 직행 | 피크 페이스 재고 부족, 인바운드가 적시에 도착 | 피크 페이스 수용량이 제한적 |
의사결정 프레임워크는 단순한 2×2 매트릭스입니다. 가로축은 '인바운드 물량이 단기 수요와 얼마나 잘 맞는가', 세로축은 'SKU 집중도'입니다. 우상단(매칭 높음, SKU 집중) → 풀팔레트 플로우스루. 좌상단 → 브레이크벌크 플로우스루. 하단 절반 → 피크 페이스 확인: 들어가면 보충 직행, 아니면 저장.

3단계: 누가 무엇을 맡는지 문서로 남겨라 — WES, WMS, 그리고 장비
이건 가동(go-live) 당일 밤 체크리스트에 넣고, 타협 없이 지킵니다. 목적지 결정은 WES, 위치 실행은 WMS, 물리적 이동은 MHE(컨베이어/AGVs)가 맡습니다. 세 계층을 인터페이스 명세에 명문화해 두면, 문제가 터졌을 때 로그를 보고 어느 계층이 깨졌는지 바로 알 수 있습니다.
핸드오프:
- WES가 ASN을 받으면 → 3초 안에 목적지 태그 + 목표(스테이징 레인 / 피크 페이스 / 미배정)를 반환
- 태그 = store → WMS가 기존 입고 규칙대로 위치 배정
- 태그 = flow-through → WES가 WMS를 완전히 우회해 지게차 단말이나 AGV 스케줄러에 이동 작업을 직접 하달
- 예외(목표가 가득 참, 주문 취소) → WES가 10초 안에 재계산, 새 목적지 발행, 기존 작업 자동 무효화
4번이 핵심입니다. 2024년 5월, 중국 남부의 한 뷰티 이커머스 창고: 플로우스루 화물이 스테이징에 앉아 있는데 고객이 주문의 30%를 취소했습니다. 재계산이 없으면 그 화물은 스테이징에서 썩습니다. 이들의 WES는 이송 중인 플로우스루를 10분마다 재스캔합니다. 수요가 사라지면 작업이 입고로 전환되고, 지게차가 다음 패스에 그 화물을 실어 나릅니다. 플로우스루 결정은 취소 가능(revocable)해야 합니다. 하드코딩된 규칙과 WES 오케스트레이션의 진짜 차이가 여기 있습니다.
4단계: 가동 후 세 가지 숫자를 보고 튜닝하라
- 플로우스루 비율 = 플로우스루 팔레트 ÷ 전체 인바운드 팔레트. 건강한 수준은 보통 15%–35%입니다. 15% 미만이면 규칙이 너무 보수적인 것이고, 40%를 넘으면 저장해야 할 화물이 억지로 흘려보내지고 있는지 확인하십시오.
- 플로우스루 체류 시간 = 플로우스루 화물이 아웃바운드 스테이징에 머무는 평균 시간. 24시간을 넘으면 백로그입니다. 수요 예측이 너무 낙관적이라는 뜻이니 임계값을 조이십시오.
- 재핸들링 비율 = 플로우스루 화물 중 결국 저장 위치에 들어가 버린 비중. 10%를 넘으면 의사결정 품질이 낮다는 뜻입니다. 어느 데이터 소스가 거짓말하는지(주문, 재고, 웨이브 계획) 확인하십시오.
실제 현장의 실패 패턴 세 가지
실패 1: 플로우스루 구역의 물리적 분리가 없음. 2022년, 중국 북부의 한 자동차 부품 창고. 플로우스루 팔레트와 입고 대기 팔레트가 같은 인바운드 바닥을 썼고, 구분이라곤 바닥에 그어진 선뿐이었습니다. 바빠지면 기사들이 그 선을 무시했습니다. 플로우스루 화물이 저장 위치로 들어갔고, 저장행 화물이 아웃바운드로 끌려 나왔습니다. 일주일 내내 혼돈이었습니다. 교훈: 플로우스루 스테이징 구역은 물리적으로 분리되어야 합니다. 전용 도크 도어, 전용 위치 번호 체계, WES 내 전용 위치 그룹.
실패 2: 로트/유통기한 관리 화물을 무리하게 흘려보냄. 식품, 제약, 엄격한 FIFO가 필요한 품목. 플로우스루의 가장 큰 리스크는 로트 추적성을 깨뜨리는 것입니다. 로트 캡처가 끝나기 전에 화물이 출고되면, 시스템의 로트 기록이 현실과 어긋납니다. 제 규칙: 유통기한 민감 SKU는 기본적으로 플로우스루에서 제외합니다. 단, 로트 캡처가 인바운드 상류로 앞당겨졌고 WES가 로트 데이터를 실시간으로 읽을 수 있다면 예외입니다.
실패 3: 플로우스루를 KPI 목표로 만듦. 한 운영 이사가 플로우스루가 돈을 절약한다는 얘기를 듣고 '플로우스루 비율 ≥ 50%' KPI를 세웠습니다. 목표를 맞추느라 창고는 2주간 저장해야 할 화물까지 흘려보냈습니다. 아웃바운드 스테이징이 산이 되었고, 주말 재입고 작업을 위해 일용 인력을 고용했고, 한 달에 십만 달러 단위의 비용을 추가로 썼습니다. 플로우스루 비율은 결과(outcome) 지표이지 목표가 아닙니다. 목표는 총 핸들링 비용의 최소화입니다. 플로우스루는 지렛대 하나일 뿐, 목표가 아닙니다.
역발상: 터치 하나 더가 더 쌀 때도 있다
역발상을 하나 던져보겠습니다. 플로우스루가 많을수록 좋은 게 아닙니다. 가장 극단적인 반례: 팔레트당 40+ SKU로 처절하게 분절된 서적 이커머스 창고. 그들의 WES는 50%의 플로우스루 비율을 계산했지만, 브레이크벌크 플로우스루 인건비는 유닛당 약 $1.10이었던 반면 일반 입고+피킹 합계는 유닛당 약 $0.75 수준이었습니다. 플로우스루는 지게차 이동을 아끼지만, 브레이크벌크 플로우스루는 수작업 분류 인건비를 씁니다. 장부의 양쪽 모두를 계산해야 합니다.
수학은 단순합니다.
팔레트당 플로우스루 비용 = 브레이크벌크 인건비(있을 경우) + 분류 인건비(있을 경우) + 1회 이동 팔레트당 기존 비용 = 2회 이동 + 입고 인건비 + 피킹 인건비
왼쪽이 오른쪽의 85% 이하일 때만(15%의 안전 마진을 유지) 플로우스루가 진짜로 쌉니다. 서적 창고는 성수기 베스트셀러에만 풀팔레트 플로우스루를 유지하고, 브레이크벌크 플로우스루는 완전히 중단했습니다. 총비용이 12% 줄었습니다.
상하이 3PL 이야기로 돌아가 보겠습니다. 가동 3개월 후, 플로우스루 비율은 28%에 안착했고, 성수기 인바운드 백로그는 400+ 팔레트에서 150 미만으로 줄었으며, 지게차 교대조는 2개조에서 1.5개조로 줄었습니다.
WES 입고 최적화는 한 문장으로 정리됩니다. 화물이 도착하면, 어디에 넣을지 정하기 전에 어디로 가는지 먼저 물어보십시오. 이 순서를 맞추면 터치 하나를 절약합니다. 그 터치 뒤에 있던 인건비, 장비, 시간까지 함께요.
Lin Xiao, WMS 구현 컨설턴트 지음
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.






