솔직히 말하겠다. 당신의 WMS가 누가 팔레트를 건드렸는지, 몇 시 몇 초에, 변경 전과 후의 수량이 얼마였는지 말해주지 못한다면, 그것은 감사 로그가 아니다. 일기장이다.

나는 비싼 수업료를 치르고 이것을 배웠다. 몇 년 전, 신발 고객 한 곳이 캘리포니아주 커머스의 3PL 창고에서 41개 카톤――카톤당 12켤레씩――을 잃어버렸다. 창고는 모든 카톤을 스캔해서 출고했다고 단언했고, 고객은 팔레트가 한쪽이 텅 비어 도착했다고 단언했다. 3주간의 고성, 변호사 이야기가 두 번 나왔다. 그러다 누군가 감사 로그를 꺼내 들었고, 논쟁은 그날 오후에 끝났다. 검수 단계가 건너뛰어졌고, 한 층 전체가 트럭에 실리지 않았던 것이다. 창고가 배상했다.

이 업계 20년, WMS 선정을 열두 번 넘게 해본 나의 결론은 이렇다. 감사 로그는 모든 WMS에서 가장 지루하면서도 가장 가치 있는 기능이다. 데모 때는 아무도 묻지 않는다. 화물이 사라진 날이면 모두가 있었으면 하고 바란다.

계약 전에 물어야 할 세 가지 질문

내가 가장 자주 마주치는 오해는 이것이다. 사람들은 감사 로그를 단순한 활동 피드――"누군가 재고를 건드렸다"는 기록――이라고 생각한다. 분쟁 한가운데에 서면 "누군가 건드렸다"가 거의 아무 가치가 없다는 것을 알게 된다.

논쟁에 진짜 종지부를 찍을 수 있는 로그 한 줄에는 여섯 가지 요소가 필요하다. 누가(사용자 계정), 언제(초 단위 타임스탬프), 어디서(어느 로케이션, 어느 전표), 무엇을(입고, 적치, 피킹, 조정, 출고), 변경 전 수량, 그리고 변경 후 수량. 이 마지막 쌍이 전부다. "전"이 없으면 누군가 재고를 건드렸다는 것은 증명할 수 있어도, 잘못 건드렸다는 것은 증명할 수 없다. 반쪽짜리 로그는 로그가 아니다.

"관리자가 SKU를 100에서 80으로 변경"이라고만 기록하는 시스템을 본 적이 있다――사유도 승인자도 없이. 고객이 사라진 20개는 어디로 갔냐고 물었다. 창고는 답하지 못했고 $40,000이 넘는 클레임을 떠안았다. 벤더의 변명은 "로깅 기능이 있습니다"였다. 그래, 쓰레기를 기록하고 있었지.

그러니 선정할 때는 영업사원의 "완벽한 감사 추적"에 현혹되지 마라. 세 가지 질문을 던져라. 첫째, 재고 조정에 사유 입력을 강제할 수 있는가. 사유 없이는 기표할 수 없다는 것이다. 둘째, 사유와 승인자는 로그 행에 고정되는가. 사후에 편집도 삭제도 불가능하다는 것이다. 셋째, SKU, 주문 번호, 로케이션, 기간으로 교차 검색이 되는가. 하나라도 답이 모호하면 그 시스템의 감사 로그는 장식이다.

하나 더. 로그를 볼 수 있는 사람을 통제하라. 모든 슈퍼바이저가 관리자 권한을 갖고 누구나 행을 삭제할 수 있다면, 당신의 감사 로그는 증거가 아니라 메모장이다. 예전에 작은 3PL과 일한 적이 있는데, 다섯 명의 매니저가 최고 권한을 공유하고 있었다. 화물 분쟁 후 그중 한 명이 조정 기록 두 건을 슬쩍 고쳤다. 진실은 데이터베이스 백업에서야 드러났다. 그러니 벤더 심문에 네 번째 질문을 추가하라. 로그 조회와 내보내기를 역할별로 제한할 수 있는가. 그리고 관리자가 로그 자체를 건드렸을 때 시스템이 흔적을 남기는가. 로그를 관리하는 사람을 관리할 수 없으면 로그는 무가치하다.

랙킹 통로에서 재고를 세고 재고를 대조하는 창고 작업자들

보관 기간은 IT 문제가 아니라 수학 문제다

제대로 기록하기 시작하면 다음 질문은 얼마나 오래 보관하느냐이다.

대부분의 클라우드 WMS는 기본 1~2년을 보관한다. 오래된 온프레미스 시스템은 90일을 보관하기도 한다. 90일이면 충분한가. 사업에 따라 다르다. 일용소비재를 움직인다면 분쟁은 보통 한 달 안에 터진다――90일이면 커버된다. 3PL이라면 대형 고객의 연간 정산은 14개월 전까지 거슬러 올라간다. 90일은 사형 선고나 다름없다.

트레이드오프는 단순하다. 보관 기간이 길수록 스토리지 비용이 늘고 쿼리는 느려진다. 하지만 너무 일찍 삭제하면 아낀 스토리지 비용은 화물 분실 클레임 한 건의 자투리에도 못 미친다. 고객에게 하는 내 조언은 언제나 같고 예외는 없다. 온라인에서 검색 가능하게 최소 2년, 콜드 아카이브로 최소 5년. 중규모 창고의 1년치 감사 로그를 5년간 클라우드에 보관하는 비용은 $20,000짜리 화물 분실 클레임 한 건보다 싸다. 어려운 계산이 아니다.

그리고 시스템 교체 때 거의 모두가 빠지는 함정이 있다. 옛날 로그를 내보내라. 2021년에 어떤 창고가 이력을 옮기지 않고 WMS를 갈아타는 것을 봤다. 3개월 후 고객이 옛 출하에 이의를 제기했고, 창고는 증거를 내놓지 못해 클레임 전액을 물었다. 이전 계약서에 써 넣어라. 과거 감사 로그의 완전한 이전과 사후 샘플 검증을. 한 줄도 빠짐없이.

그날이 오면 실행할 30분 드릴

실제로 화물이 사라지면 당황하지 마라. 이 순서대로 진행한다.

먼저 시간 범위를 정한다. 고객은 3월 12일 납품에서 5개 카톤이 부족했다고 한다. 해당 SKU에 대해 3월 10일부터 3월 12일까지의 모든 로그 행을 뽑는다. 범위는 좁히지 말고 이틀 넓힌다. 카톤은 아마 하루 일찍 오출고됐을 것이고, 좁은 범위로는 눈이 가려진다.

다음으로 주문 번호로 체인을 잇는다. 하나의 출하는 입고, 적치, 보충, 피킹, 검수, 출고를 거친다――각 단계가 기록되어 있다. 체인을 펼쳐 놓으면 끊긴 곳이 한눈에 보인다. 내가 다룬 사건들에서 끊김이 가장 많은 곳은 검수다. 피킹은 스캔됐고, 검수는 건너뛰고, 그대로 트럭으로. 로그에 또렷이 남는다. 발뺌할 수 없다.

마지막으로 변경 전후 숫자를 들여다본다. 조정은 무언가가 숨겨지는 곳이다. 깨끗한 조정에는 사유와 승인자가 있다. 수상한 조정은 "순환실사 차이"라고 적혀 있고 승인자가 작업자 본인이다. 그것을 고객 앞에 내놓으면 창고는 빠져나갈 수 없다.

끝나면 하나 더. 그 배치를 타임스탬프와 시스템 워터마크가 들어간 PDF로 내보내 고객에게 보낸다. 스크린샷은 보내지 마라. 스크린샷은 편집할 수 있다. 워터마크가 들어간 내보내기는 무게가 있다.

자, 내가 만나는 모든 창고 매니저에게 던지는 불편한 질문이다. 내일 아침 고객이 "40개 카톤이 오지 않았다"고 전화해 온다면, 상대가 틀렸다는 것을 증명하는 데――혹은 상대가 맞다는 것을 인정하는 데――얼마나 걸리겠는가. 답이 "한 시간 이내"가 아니라면 당신의 감사 로그에는 구멍이 있다. 사라진 팔레트가 그 구멍을 찾기 전에 당신이 먼저 찾아 나서라.

영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.