판매 중단 SKU를 재고 시스템에서 바로 삭제할 필요 없는 이유
판매가 끝난 상품을 발견하자마자 재고 시스템에서 지우고 싶어질 때가 있습니다. 화면이 깔끔해지고 상품 검색도 빨라질 것 같지만, 판매 중단 SKU의 즉시 삭제는 반품·환불·정산·재입고 기록까지 끊어 버리는 위험한 선택입니다.
특히 여러 쇼핑몰과 물류센터를 연결한 사업자는 상품 페이지의 판매 종료와 SKU 데이터의 수명 종료를 같은 사건으로 취급하면 안 됩니다. 실제 현장에서는 삭제한 지 며칠 뒤 반품이 도착하거나, 광고비 정산 과정에서 과거 주문 원가를 확인하지 못해 더 큰 비용을 치르곤 합니다.
판매 종료와 SKU 삭제를 같은 버튼으로 처리하면 안 됩니다
상품은 사라져도 거래 기록은 남아야 합니다
한 의류 쇼핑몰은 시즌이 지난 재킷 38종을 단종 처리하면서 SKU도 일괄 삭제했습니다. 일주일 뒤 사이즈 교환 상품이 물류센터에 도착했지만 바코드를 연결할 원본 SKU가 없었습니다. 직원은 이를 이름이 비슷한 다음 시즌 상품의 재고로 입고했고, 그 순간부터 장부재고와 실재고가 동시에 어긋나기 시작했습니다.
이 실패의 원인은 삭제 기능 자체가 아니라 상품 상태와 데이터 보존 상태를 구분하지 않은 것입니다. 판매 중단은 고객이 더 이상 주문하지 못하게 하는 조치이고, SKU 폐기는 주문·반품·원가·세금·물류 이력을 더 이상 참조하지 않아도 된다고 판단하는 조치입니다. 두 시점 사이에는 짧게는 수개월, 보증이나 사후지원이 있는 상품이라면 수년의 간격이 생길 수 있습니다.
재고의 기본 개념을 다시 확인하려면 지식백과의 재고 용어 설명도 참고할 만합니다. 재고는 단순히 창고에 쌓인 물건만 뜻하지 않습니다. 판매와 생산 활동을 위해 보유한 자산이므로 수량뿐 아니라 취득 원가, 이동, 판매, 반환의 흐름까지 추적할 수 있어야 합니다.
- 판매 중단: 신규 주문을 막되 기존 주문과 반품 조회는 유지합니다.
- 발주 중단: 공급처에 추가 주문이 나가지 않도록 자동 발주 규칙을 해제합니다.
- 출고 중단: 안전 문제나 리콜이 있다면 판매 여부와 별도로 피킹을 차단합니다.
- 보관 전환: 운영 화면에서는 숨기되 주문·재고·정산 데이터의 참조 관계를 보존합니다.
- 영구 삭제: 법정 보존기간과 내부 감사 기준을 확인한 뒤 제한적으로 실행합니다.
현장 팁: 삭제 버튼보다 먼저 ‘판매 중지’, ‘발주 중지’, ‘보관’ 상태를 설계하십시오. 좋은 재고 시스템은 상품을 없애기보다 업무 흐름에서 안전하게 퇴장시킵니다.
이것만은 하지 마세요: 이름을 재사용하는 편법
삭제한 SKU와 같은 코드를 신상품에 다시 붙이는 것도 흔한 실수입니다. 예를 들어 OLD-BLK-M을 지운 뒤 새 검정 티셔츠에 같은 코드를 부여하면 과거 매출이 신상품 매출처럼 합산될 수 있습니다. 택배사의 반품 바코드, 외부 마켓 주문서, 고객 상담 기록에는 예전 코드가 그대로 남기 때문에 시스템 내부에서만 코드를 비웠다고 재사용 가능한 것이 아닙니다.
SKU는 상품명이 아니라 거래를 잇는 식별자입니다. 사람이 보기에는 서로 다른 상품이어도 시스템은 동일 코드가 들어오면 같은 대상으로 해석할 가능성이 큽니다. 중단 상품의 코드는 잠금 처리하고, 새 상품에는 반드시 새 SKU를 발급하는 편이 데이터 복구 비용보다 훨씬 저렴합니다.
- 상품명을 바꾸어 기존 SKU를 신상품에 덮어쓰지 않습니다.
- 삭제 후 같은 바코드를 다른 규격에 배정하지 않습니다.
- 과거 주문이 남은 SKU의 옵션 구조를 임의로 합치지 않습니다.
- 외부 채널 연결을 확인하지 않은 채 대표 상품만 삭제하지 않습니다.
삭제 후에 드러나는 네 가지 비용을 먼저 계산해야 합니다
반품과 정산은 판매 종료일에 멈추지 않습니다
판매 중단 직후에는 화면에 보이는 재고가 0이라서 문제가 없어 보입니다. 그러나 고객의 청약 철회, 배송 지연, 교환 접수, 카드 취소, 플랫폼 정산은 서로 다른 일정으로 진행됩니다. 해외 배송이나 예약 판매였다면 판매가 끝난 뒤 한 달 이상 지나서 반품이 입고될 수도 있습니다.
SKU가 삭제되어 있으면 반품 상품을 어느 원가로 되돌려야 하는지 판단하기 어렵습니다. 직원이 임시 SKU를 만들면 반품 가능 재고와 폐기 대상 재고가 섞이고, 원가를 0원으로 잡으면 매출총이익이 왜곡됩니다. 외부 회계 프로그램이나 ERP가 삭제된 식별자를 계속 참조하면 동기화 오류가 반복되어 수작업 보정 시간도 늘어납니다.
| 영역 | 성급한 삭제로 생기는 문제 | 권장 대응 |
|---|---|---|
| 고객 반품 | 원주문과 입고 상품을 연결하지 못함 | 반품 가능 기간 종료까지 SKU 조회 유지 |
| 마켓 정산 | 수수료와 상품 원가의 근거가 끊김 | 채널별 최종 정산 완료일 기록 |
| 물류센터 | 바코드 미등록 상품으로 격리됨 | 단종 전용 반품 로케이션 지정 |
| 분석 리포트 | 과거 판매량과 마진이 누락됨 | 삭제 대신 비활성 상태로 필터링 |
| 고객 상담 | 구매 옵션과 구성품 확인이 어려움 | 상품명·옵션·이미지·설명 보관 |
인벤토리의 의미와 활용 범위를 살펴보면 재고 정보가 자산 관리와 운영 판단에 폭넓게 연결된다는 점을 이해하기 쉽습니다. 따라서 ‘현재 판매 수량이 0인가’만으로 삭제 여부를 결정하면 안 됩니다. 아직 처리되지 않은 업무가 남았는지를 함께 봐야 합니다.
- 자사몰과 오픈마켓의 반품 가능 기한이 모두 끝났는지 확인합니다.
- 미배송, 부분 취소, 교환 배송 주문이 남아 있는지 조회합니다.
- 플랫폼의 매출 및 수수료 정산이 최종 확정됐는지 확인합니다.
- 물류센터에 미확인 재고, 보류 재고, 불량 재고가 없는지 조사합니다.
- 리콜·품질 보증·수리 대응에 필요한 상품 속성이 보존됐는지 확인합니다.
가격보다 비싼 것은 복구에 쓰는 사람의 시간입니다
중소 쇼핑몰에서 데이터 보관 기능은 대개 별도 비용이 거의 들지 않거나 기본 기능에 포함됩니다. 반면 삭제된 SKU를 복원하려면 주문 CSV, 택배 송장, 마켓 정산표, 창고 입출고 기록을 대조해야 합니다. 담당자 두 명이 반나절씩 확인한다면 몇 개의 비활성 상품을 보관하는 비용보다 인건비가 훨씬 커집니다.
저장 공간을 아끼겠다는 이유로 레코드를 삭제하는 것도 실익이 적습니다. 상품 이미지 원본처럼 큰 파일은 별도 보관 정책을 적용할 수 있지만, SKU 코드와 옵션명, 공급처, 원가, 상태 이력 같은 텍스트 데이터의 용량은 상대적으로 작습니다. 운영 화면의 복잡함은 삭제가 아니라 기본 검색 조건과 보관함으로 해결하는 편이 안전합니다.
- 삭제 전에 주문·반품·재고 이동 건수를 SKU별로 집계합니다.
- 한 건이라도 미완료 거래가 있으면 보관 전환을 연기합니다.
- 복원에 필요한 예상 인건비와 데이터 보관 비용을 비교합니다.
- 삭제 권한은 관리자에게만 주고 실행 기록을 감사 로그로 남깁니다.
단종 SKU에는 삭제 대신 퇴장 절차가 필요합니다
활성·소진·보관의 상태를 분리하십시오
가장 실용적인 방법은 SKU 수명주기를 최소 네 단계로 나누는 것입니다. ‘활성’은 정상 판매와 발주가 가능한 상태, ‘소진’은 추가 발주는 막되 남은 재고를 판매하는 상태, ‘판매 중단’은 신규 주문을 막고 반품과 조회만 허용하는 상태, ‘보관’은 일상 화면에서 숨기면서 기록을 유지하는 상태입니다.
이 구조가 있으면 담당자가 단종 상품을 정리하면서 실수로 과거 데이터를 끊을 가능성이 줄어듭니다. 상품의 기획·출시·변경·종료를 하나의 흐름으로 다루는 관점은 제품수명주기관리 개념과도 맞닿아 있습니다. 판매 버튼을 끄는 순간만 관리하는 것이 아니라 상품이 운영 시스템을 떠나는 과정까지 관리하는 것입니다.
상태 변경 조건은 담당자의 기억에 맡기지 말고 숫자로 정해야 합니다. 예컨대 재고 0개, 미출고 0건, 반품 대기 0건, 마지막 판매 후 120일 경과, 최종 정산 완료라는 조건을 모두 충족하면 보관 상태로 자동 전환할 수 있습니다. 다만 품질 보증이 긴 전자제품이나 리콜 가능성이 있는 상품은 더 긴 보존기간을 적용해야 합니다.
- 활성: 판매, 발주, 입고, 프로모션을 모두 허용합니다.
- 소진: 판매는 유지하지만 자동 발주와 공급처 주문을 차단합니다.
- 판매 중단: 신규 주문을 막고 반품·교환·상담 조회를 허용합니다.
- 보관: 기본 목록과 검색 결과에서 숨기되 모든 이력을 유지합니다.
- 삭제 검토: 보존 의무와 참조 데이터가 모두 사라진 뒤 별도 승인합니다.
채널 연결부터 끊고 내부 원장은 마지막에 건드립니다
여러 판매 채널을 운영한다면 처리 순서가 중요합니다. 내부 상품을 먼저 삭제하면 외부 마켓이 보내는 주문, 취소, 재고 차감 메시지를 받을 대상이 없어집니다. 일부 연동 도구는 오류 주문을 자동 재시도하므로 담당자가 원인을 찾을 때까지 실패 알림이 쌓일 수 있습니다.
먼저 각 채널에서 판매를 중단하고 예약 주문과 교환 주문을 확인한 뒤, 채널 상품 ID와 내부 SKU의 연결 정보를 별도 표로 보존하십시오. 그다음 자동 발주, 세트 상품 구성, 사은품 규칙, 할인 쿠폰, 창고 로케이션을 순서대로 해제합니다. 내부 SKU를 보관 상태로 전환하는 작업은 가장 마지막입니다.
- 자사몰과 입점 마켓에서 신규 판매를 중지합니다.
- 세트·번들·사은품 구성에 해당 SKU가 포함됐는지 검색합니다.
- 자동 발주, 품절 해제, 가격 변경 규칙을 비활성화합니다.
- 미출고와 교환 출고가 0건인지 주문 관리 화면에서 확인합니다.
- 채널 상품 ID, 바코드, 공급처 코드의 매핑 파일을 저장합니다.
- 남은 정상·불량·보류 재고를 각각 처리한 뒤 보관 상태로 옮깁니다.
운영 원칙: 외부 판매 접점에서 안쪽 원장으로 이동하며 차례로 닫으십시오. 가장 많은 기록을 가진 내부 SKU는 가장 늦게 비활성화해야 합니다.
또 하나의 실수는 단종 SKU를 전부 같은 규칙으로 다루는 것입니다. 식품은 유통기한과 폐기 증빙이 중요하고, 화장품은 제조번호와 사용기한을 남겨야 하며, 전자제품은 시리얼 번호와 보증 수리 기록이 필요합니다. 상품군별 보존 필드를 미리 정하면 불필요한 데이터는 줄이고 필요한 증거는 놓치지 않을 수 있습니다.
- 식품은 로트, 유통기한, 폐기일, 폐기 수량을 보존합니다.
- 화장품은 제조번호, 책임판매 정보, 회수 이력을 남깁니다.
- 전자제품은 시리얼 번호, 보증기간, 수리 부품 호환 정보를 유지합니다.
- 패션 상품은 시즌, 색상, 사이즈, 반품 등급과 촬영 자료를 연결합니다.
삭제 대신 보관을 택한 운동화 쇼핑몰의 45일
재고 0개였던 SKU에서 반품 세 켤레가 돌아왔습니다
운동화 쇼핑몰 A사는 여름 한정 색상 모델의 마지막 재고를 판매한 날, 상품 담당자가 SKU 삭제를 요청했습니다. 시스템에는 재고 0개가 표시됐고 공급처도 생산 종료를 통보한 상태였습니다. 예전 방식이라면 상품과 옵션을 바로 지웠겠지만, 운영팀은 이번에는 SKU를 ‘판매 중단’ 상태로 바꾸고 45일 동안 관찰하기로 했습니다.
첫날에는 자사몰과 두 개의 오픈마켓에서 판매를 막았습니다. 이어 자동 발주 규칙과 재입고 알림을 끄고, 해당 운동화가 포함된 코디 세트 상품에서도 구성 연결을 해제했습니다. 상품 페이지는 비공개로 돌렸지만 고객 상담팀은 주문번호를 통해 사이즈, 색상, 판매 당시 가격과 상세 설명을 계속 볼 수 있었습니다.
- 1일 차: 판매 채널을 닫고 최종 주문 27건을 확정했습니다.
- 4일 차: 물류센터 출고를 모두 완료하고 송장 누락 여부를 점검했습니다.
- 12일 차: 사이즈 불만으로 접수된 교환 두 건을 기존 SKU에 연결했습니다.
- 19일 차: 반품 세 켤레가 입고되어 정상 1개, 포장 훼손 1개, 착화 흔적 1개로 등급화했습니다.
- 28일 차: 마지막 마켓 수수료와 배송비 정산을 확정했습니다.
- 45일 차: 미처리 거래가 0건임을 확인하고 SKU를 보관 상태로 전환했습니다.
19일 차에 돌아온 세 켤레가 이 선택의 효과를 보여 줬습니다. 바코드와 원주문이 살아 있었기 때문에 정상 상품은 아웃렛 채널용 재고로, 포장 훼손 상품은 리퍼브 재고로, 착화 흔적 상품은 폐기 대상으로 정확히 분리할 수 있었습니다. 기존 SKU를 삭제했다면 세 상품 모두 미확인 재고로 잡혀 원가와 환불 책임을 수작업으로 추적해야 했을 것입니다.
기록을 남기니 다음 상품의 발주량도 달라졌습니다
A사는 보관 단계에서 상품 데이터를 단순히 묻어 두지 않았습니다. 판매량, 사이즈별 반품률, 할인율, 품절 시점, 잔여 재고 처리 가격을 다음 시즌 발주 회의에 활용했습니다. 특히 260mm의 판매 속도는 빨랐지만 반품률도 높았다는 사실을 확인해, 다음 모델에서는 해당 사이즈의 초도 물량을 무작정 늘리지 않고 상세페이지의 실측 안내부터 개선했습니다.
담당자는 보관 SKU가 일상 검색을 방해하지 않도록 기본 상품 목록에서 ‘활성’과 ‘소진’ 상태만 노출되게 설정했습니다. 과거 상품이 필요할 때는 주문번호, 바코드 또는 ‘보관 포함’ 필터로 찾아볼 수 있게 했습니다. 화면의 편의성과 데이터의 보존을 함께 해결한 셈입니다.
- 보관 전환일과 승인자를 SKU 변경 이력에 남겼습니다.
- 최종 재고 수량과 재고 평가금액을 스냅샷으로 저장했습니다.
- 반품 사유를 사이즈, 품질, 단순 변심으로 분리해 집계했습니다.
- 다음 시즌 상품 기획서에 사이즈별 판매와 반품 데이터를 연결했습니다.
- SKU 코드는 사용 완료로 잠그고 새 상품에 재사용하지 않았습니다.
45일째 운영팀은 SKU를 삭제하지 않고 보관함으로 이동했습니다. 이후 고객이 과거 주문의 색상을 문의했을 때 상담사는 1분 안에 정확한 정보를 찾았고, 재무 담당자는 분기 손익 검토에서 할인 판매 원가도 그대로 확인했습니다. 이 사례에서 재고 시스템을 깔끔하게 만든 것은 기록을 없앤 행동이 아니라, 끝난 상품을 다시 팔지 않으면서도 필요할 때 정확히 찾을 수 있게 만든 상태 설계였습니다.

- 이전글쇼핑몰 안전재고는 SKU마다 몇 개로 설정해야 할까? 26.08.24
- 다음글순환재고조사: 영업을 멈추지 않고 오차를 줄이는 숨은 요령 26.08.22
등록된 댓글이 없습니다.
