쇼핑몰 상품 데이터 이관, SKU 매핑부터 검수까지 망치는 실수
상품 데이터 이관을 끝낸 직후 주문이 정상 수집되면 성공한 것처럼 보입니다. 그런데 며칠 뒤 특정 색상만 품절로 표시되고, 이미 출고된 상품의 재고가 다시 살아나며, 교환 주문에서는 엉뚱한 옵션이 선택되는 일이 생깁니다. 이런 장애는 서버보다 SKU 매핑과 상품 데이터 검수 과정에서 시작되는 경우가 많습니다.
특히 쇼핑몰을 이전하거나 ERP·WMS·재고관리 솔루션을 교체할 때 “엑셀 열만 맞춰 넣으면 된다”는 판단이 가장 위험합니다. 상품명, 옵션명, 판매 상태가 비슷해도 각 시스템이 상품을 식별하는 기준은 다르기 때문입니다. 아래 실패 사례를 따라가며 어떤 순서로 사고가 커지고 어디에서 막아야 하는지 살펴보겠습니다.
상품명부터 옮겼다가 동일 상품이 여러 개로 갈라집니다
실수 1: 상품명을 고유 식별자로 사용합니다
소규모 쇼핑몰 A사는 기존 솔루션의 상품명을 새 시스템의 기준값으로 사용했습니다. 담당자는 ‘리넨 셔츠 아이보리 M’처럼 상품명이 충분히 구체적이므로 문제가 없다고 생각했습니다. 하지만 판매 채널마다 ‘린넨 셔츠’, ‘여름 리넨 셔츠’, ‘리넨셔츠 특가’로 노출명이 달랐고, 새 시스템은 이를 서로 다른 상품으로 받아들였습니다.
그 결과 실제 창고에는 하나뿐인 상품이 세 개의 레코드로 분리됐습니다. 한 채널에서 두 장이 판매되어도 다른 채널의 재고는 줄지 않았고, 마지막 한 장이 동시에 중복 판매됐습니다. 상품명은 고객에게 보여 주는 표현이고 SKU는 운영 대상을 구분하는 식별자라는 차이를 무시한 실패입니다. 재고라는 용어와 관리 범위를 먼저 맞추고 싶다면 지식백과의 재고 정의도 함께 참고할 수 있습니다.
더 큰 문제는 중복 레코드가 생성된 뒤 발견하면 주문·매입·반품 이력까지 흩어진다는 점입니다. 단순히 상품 세 개를 하나로 합치는 것으로 끝나지 않습니다. 어느 레코드가 원본인지 정하고, 이미 발생한 거래를 올바른 SKU에 다시 연결해야 하므로 이관 전 정리보다 훨씬 많은 시간이 듭니다.
- 하지 말아야 할 일: 상품명이나 옵션 표시명을 SKU 대신 사용하는 것
- 먼저 확인할 값: 내부 SKU, 바코드, 공급사 품목코드, 채널 상품번호의 역할과 중복 여부
- 남겨야 할 자료: 기존 ID와 신규 ID를 한 행에 연결한 매핑 원장
- 주의할 예외: 세트 상품, 사은품, 리퍼 상품, 패키지만 다른 동일 내용물
실수 2: 보기 좋은 새 SKU로 한꺼번에 바꿉니다
SKU 코드가 제각각이라는 이유로 이관 당일 모든 코드를 새 규칙에 맞춰 재발급하는 업체도 있습니다. 예를 들어 기존 ‘A-0098-BL-M’을 ‘SHIRT-LINEN-BLUE-M’으로 바꾸면 사람이 읽기는 쉽습니다. 그러나 택배 출력 프로그램, 공급사 발주서, 바코드 라벨, 광고 피드가 여전히 이전 코드를 참조한다면 새 코드는 곧바로 연결 고리를 잃습니다.
코드 체계 개선과 시스템 이관을 동시에 수행하면 오류 원인을 분리하기 어렵습니다. 주문이 누락됐을 때 API 연결 문제인지, SKU 변경 문제인지, 옵션 매핑 문제인지 판단할 수 없기 때문입니다. 이관 시점에는 기존 코드를 보존하고 신규 SKU와 구 SKU의 대응표를 운영한 뒤, 거래가 안정된 다음 코드 개편을 별도 프로젝트로 진행하는 편이 안전합니다.
현장 팁: SKU를 읽기 좋게 만드는 것보다 변하지 않게 유지하는 것이 먼저입니다. 색상명이나 카테고리가 바뀔 가능성이 있다면 그 의미를 코드에 지나치게 많이 넣지 마세요.
옵션 조합을 눈으로 합쳤다가 주문과 재고가 엇갈립니다
실수 3: ‘블랙’과 ‘검정’을 같은 옵션으로 바로 병합합니다
채널별 옵션명을 통일하려다 재고가 섞이는 사고도 흔합니다. 운영자가 보기에 ‘블랙’, ‘검정’, ‘BK’는 같은 색상이므로 하나로 합쳐도 자연스럽습니다. 하지만 세 값 가운데 하나가 구형 모델이고, 하나가 리뉴얼 모델이며, 나머지 하나가 공급사 직배송 상품이라면 이름만 같게 만드는 순간 서로 다른 재고 자산이 한 바구니에 들어갑니다.
옵션 병합 전에는 표시 문구가 아니라 실물 동일성, 출고 위치, 원가, 바코드, 공급사, 반품 가능 조건을 대조해야 합니다. 소비자에게 같은 상품처럼 보여도 창고에서 대체 출고할 수 없다면 별도 SKU로 유지해야 합니다. 반대로 채널마다 이름만 다르고 동일한 실물을 같은 위치에서 출고한다면 판매용 옵션명은 다르게 두되 내부 SKU는 하나로 연결할 수 있습니다.
한 식품몰은 ‘선물용 2kg’과 ‘가정용 2kg’을 중량만 보고 같은 SKU로 합쳤다가 포장 상자와 동봉물이 뒤바뀌었습니다. 내용물 수량이 같다는 이유만으로 물류 단위까지 같다고 판단한 것입니다. 고객이 구매하는 제품 단위와 창고가 피킹하는 재고 단위가 일치하는지 반드시 실물 샘플로 확인해야 합니다.
- 기존 시스템에서 옵션 조합별 SKU와 바코드를 추출합니다.
- 동일해 보이는 옵션의 실물, 포장, 공급사와 출고 위치를 대조합니다.
- 병합 가능, 분리 유지, 판단 보류의 세 상태로 분류합니다.
- 판단 보류 상품은 임의로 합치지 말고 담당자 승인 기록을 남깁니다.
- 테스트 주문에서 주문 옵션과 실제 피킹 SKU가 일치하는지 확인합니다.
실수 4: 품절 옵션과 숨김 상품을 이관 대상에서 뺍니다
현재 판매 중인 상품만 옮기면 파일도 작아지고 작업도 빨라 보입니다. 그래서 품절, 판매 중지, 전시 종료 상태의 상품을 제외하는 경우가 많습니다. 그러나 과거 주문의 반품과 교환은 판매 종료 후에도 들어오며, 고객센터는 예전 SKU를 기준으로 상품을 찾아야 합니다. 원본 상품이 없으면 반품 재고가 신규 상품에 잘못 더해지거나 아예 미확인 재고로 남습니다.
판매 여부와 데이터 보존 여부를 같은 것으로 취급하지 마세요. 판매 중단 SKU는 주문 가능 상태만 막고 상품 이력은 유지해야 합니다. 신규 시스템이 비활성 상품을 과금 대상에 포함한다면 삭제부터 할 것이 아니라 보관 테이블, 아카이브 상태, 읽기 전용 조회 기능을 확인하는 편이 낫습니다.
- 최근 반품 가능 기간 안에 판매 이력이 있는 SKU는 반드시 이관합니다.
- 품절 상품도 입고 예정, 단종, 일시 중단을 서로 다른 상태로 구분합니다.
- 삭제 대신 비활성화하고 기존 주문에서 조회되는지 시험합니다.
- 교환 전용 재고와 불량 재고가 판매 가능 수량에 합산되지 않게 분리합니다.
- 세트가 해체될 때 구성품 SKU로 환원되는 규칙도 기록합니다.
재고 수량만 복사했다가 이관 첫날부터 숫자가 틀어집니다
실수 5: 엑셀을 뽑은 시각과 업로드한 시각을 기록하지 않습니다
B사는 금요일 오후 기존 시스템에서 재고 파일을 내려받고 월요일 오전 새 시스템에 업로드했습니다. 주말 동안에도 주문과 취소, 입고가 이어졌지만 최초 파일에는 반영되지 않았습니다. 새 시스템은 금요일의 재고로 영업을 시작했고, 주말 판매분만큼 과대 재고가 생겼습니다. 담당자는 월요일 주문부터 다시 계산했지만 이미 출고 처리된 주말 주문과 예약 수량이 섞여 오차를 바로잡지 못했습니다.
재고 데이터 이관에는 반드시 기준 시각이 필요합니다. 예를 들어 ‘8월 28일 23시 59분의 판매 가능 재고’처럼 어느 순간의 숫자인지 정의하고, 그 이후 발생한 거래를 증분 데이터로 따로 옮겨야 합니다. 주문을 잠시 멈출 수 있다면 동결 시간을 짧게 정하고, 멈출 수 없다면 거래 로그의 순번이나 생성 시각을 이용해 누락 구간을 찾아야 합니다.
여기서 재고가 무엇을 뜻하는지도 시스템마다 다릅니다. 어떤 솔루션은 창고에 있는 전체 수량을 재고로 표시하고, 다른 솔루션은 예약·검수·불량 수량을 제외한 판매 가능 수량을 기본값으로 보여 줍니다. 인벤토리의 개념을 확인하는 것과 별개로, 실제 계약한 솔루션의 필드 정의서를 받아 각 수량의 계산식을 비교해야 합니다.
| 수량 항목 | 흔한 오해 | 이관 시 확인할 기준 |
|---|---|---|
| 실재고 | 바로 판매 가능한 수량으로 봄 | 검수 대기·불량·예약 물량 포함 여부 |
| 판매 가능 재고 | 실재고와 항상 같다고 봄 | 안전재고와 미출고 주문 차감 방식 |
| 예약 재고 | 결제가 끝난 주문만 포함한다고 봄 | 가상계좌·장바구니 홀드의 포함 여부 |
| 입고 예정 | 현재 재고에 합산함 | 발주, 운송 중, 검수 완료 상태의 구분 |
| 반품 대기 | 반품 접수 즉시 판매 가능하다고 봄 | 검품 완료 후 복구되는지 여부 |
- 추출 파일명에 기준 일시와 시간대를 표시합니다.
- 기준 시각 이후의 주문, 취소, 입고, 조정 내역을 별도 저장합니다.
- 동결 시작과 종료를 물류·CS·상품 담당자에게 동시에 알립니다.
- 총수량뿐 아니라 SKU별 변동 거래 건수도 전후로 대조합니다.
실수 6: 음수 재고와 소수 수량을 0 또는 정수로 바꿉니다
데이터를 깨끗하게 보이게 하려고 음수 재고를 모두 0으로 치환하는 경우가 있습니다. 하지만 -3은 단순 오류가 아니라 미출고 주문이 실재고보다 세 개 많다는 신호일 수 있습니다. 이를 0으로 바꾸면 부족 수량의 원인이 사라지고, 이후 세 개가 입고됐을 때 시스템에는 판매 가능한 재고 3이 생겨 또다시 초과 판매가 발생합니다.
원단, 원액, 중량 상품처럼 소수 단위를 쓰는 사업자는 정수 변환도 주의해야 합니다. 2.7m를 반올림해 3으로 옮기면 한 번의 이관으로 0.3m가 늘어납니다. 시스템이 소수를 지원하지 않는다면 ‘미터’를 ‘센티미터’로 바꾸는 식으로 최소 관리 단위를 재설계해야 하며, 변환 배수와 반올림 규칙을 문서에 남겨야 합니다.
오류처럼 보이는 데이터에는 운영의 흔적이 들어 있습니다. 값을 고치기 전에 왜 그런 값이 생겼는지 분류하고, 원본 보존본과 수정본을 따로 관리하세요.
- 음수, 0, 비정상적으로 큰 수량을 예외 목록으로 추출합니다.
- 각 예외를 미출고, 실사 차이, 단위 오류, 연동 지연으로 분류합니다.
- 수정이 필요하면 원본값·수정값·수정 사유·승인자를 함께 기록합니다.
- 단위 변환 상품은 최소 판매 단위로 테스트 주문과 부분 취소를 실행합니다.
- 이관 후 창고 실물 표본과 시스템 수량을 다시 대조합니다.
전수 확인을 고집하기보다 위험 SKU부터 거래로 검증하세요
실수 7: 행 개수와 합계만 같으면 검수가 끝났다고 봅니다
기존 파일과 신규 파일의 행이 각각 2만 개이고 총재고가 8만 개로 같다고 해서 이관이 정확한 것은 아닙니다. SKU X의 재고가 열 개 부족하고 SKU Y의 재고가 열 개 많아도 합계는 같습니다. 또한 옵션 연결이 바뀌었지만 수량만 그대로인 경우에는 숫자 대조로 오류를 발견할 수 없습니다.
검수는 최소한 개수, 관계, 거래의 세 층으로 나눠야 합니다. 개수 검수에서는 SKU 수와 상태별 재고 합계를 비교하고, 관계 검수에서는 상품·옵션·바코드·창고 위치의 연결을 봅니다. 거래 검수에서는 실제로 주문, 부분 취소, 교환, 반품, 세트 해체를 실행해 수량이 올바르게 변하는지 확인합니다.
특히 제품의 생성부터 판매 중단 이후까지 정보를 이어서 관리하려면 단순 재고 파일보다 넓은 관점이 필요합니다. 상품 정보가 여러 시스템을 거치는 구조라면 제품수명주기관리의 개념을 참고해 담당 부서와 데이터 책임 범위를 정해 두는 것도 유용합니다.
- 고위험 SKU: 최근 판매량 상위, 품절 임박, 복수 창고 운영, 세트 구성, 반품률이 높은 상품
- 관계 검수: 구 SKU와 신 SKU, 옵션 ID, 바코드, 로케이션, 공급사 코드 대조
- 거래 검수: 신규 주문, 부분 취소, 전체 취소, 교환 출고, 반품 재입고 실행
- 채널 검수: 자사몰과 오픈마켓의 품절 전환 시점 및 재고 복구 확인
- 증빙 보관: 테스트 주문번호, 실행 시각, 기대 결과, 실제 결과와 화면 기록
SKU가 적은 쇼핑몰과 채널이 많은 쇼핑몰의 선택은 달라야 합니다
SKU가 500개 이하이고 판매 채널이 한두 곳인 독자라면 복잡한 자동 대조 도구부터 도입할 필요는 없습니다. 대신 매핑 원장을 한 사람이 만들고 다른 사람이 교차 검토한 뒤, 판매량 상위 SKU와 옵션이 복잡한 상품을 중심으로 실물 대조를 하세요. 이 경우에는 짧은 주문 동결 시간을 확보하고 이관 직전 최종 재고 파일을 한 번 더 추출하는 방식이 비용 대비 효과적입니다.
반면 SKU가 수만 개이고 여러 오픈마켓·WMS·ERP를 연결한 독자라면 눈으로 전수 확인하려 하지 마세요. 원본과 신규 데이터를 SKU 단위로 자동 비교해 누락, 중복, 상태 변화, 수량 차이를 예외 보고서로 만들고 위험 점수에 따라 검수 순서를 정하는 편이 낫습니다. 채널별 주문번호와 내부 SKU가 이어지는 추적 로그도 최소한 안정화 기간 동안 보존해야 합니다.
작은 쇼핑몰은 짧은 동결과 사람의 교차 검수를 선택하고, 다채널 대형몰은 증분 이관과 자동 예외 탐지를 선택하세요. 전자는 복잡성을 줄여 실수를 막는 데 집중하고, 후자는 거래를 멈추지 않으면서도 누락 구간을 찾아내는 데 투자해야 합니다. 같은 이관 작업이라도 운영 규모에 맞지 않는 검수 방식을 택하는 순간 비용과 장애 위험이 함께 커집니다.
- 소규모 운영자는 고위험 SKU 30~50개를 골라 실물·주문 검수를 우선합니다.
- 다채널 운영자는 채널별 마지막 수집 시각과 거래 로그 순번을 대조합니다.
- 이관 후 첫 일주일은 재고 조정을 임의 처리하지 말고 사유 코드를 필수 입력합니다.
- 차이가 발견되면 신규 숫자만 덮어쓰지 말고 최초 기준값과 이후 거래를 다시 계산합니다.
- 장애 대응 담당자와 이전 시스템 조회 가능 기간을 미리 확정합니다.

- 다음글반품이 몰리는 월요일 창고에서 SKU 재고 오차 줄이는 법 26.08.28
등록된 댓글이 없습니다.
