이렇게 진행됩니다. 구매자가 "환불"을 클릭하고, 플랫폼이 승인하고, 돈은 나가고 — 재고 수량은 바로 원래대로 돌아옵니다.
그런데 실제 상품은 어디에 있죠? 아직 구매자 손에 있습니다. 혹은 어딘가의 트럭 위. 혹은 아예 돌아오지 않습니다.
그 격차 — 환불이 발행되고, 반품된 상품이 실제로 다시 판매 가능해지기까지의 사이 — 가 셀러가 돈을 잃는 지점입니다. 제 흉터를 보여드리죠.
현재 상태: 당신의 재고 숫자는 거짓말하고 있다
대부분의 OMS 설정은 기본적으로 이렇게 작동합니다: 환불 승인 → 재고가 판매 가능 상태로 자동 보충.
그럴듯하게 들리죠? 돈은 나갔고, 상품은 언젠가 돌아올 테니, 품절을 막으려면 지금 재고를 더하자.
문제는 "언젠가"라는 말입니다. 반품 배송에는 5–12일이 걸립니다. 창고 입고와 QC가 또 1–3일을 더합니다. 그 2주 동안 당신의 "판매 가능" 숫자는 아직 집에 오지 않은 상품들로 부풀어 있습니다.
저는 그것들을 유령 재고라고 부릅니다. 장부에는 있지만, 선반에는 없는.
함정 #1: 프로모션 후 반품 물결 속 과판매
2024년 11월, 블랙프라이데이 다음 주. 저희 선전 창고(자체 풀필먼트, OMS는 자체 WMS와 연동).
그 주에 환불 300건 이상. OMS는 평소대로 움직였습니다: 환불 승인, 재고 보충. 매번요.
하루에 약 120개 팔리는 히어로 SKU가 있었습니다. 시스템은 판매 가능 200개로 표시했고, 그래서 광고를 풀가동으로 유지했습니다. 그런데 창고가 실제로 출고할 수 있었던 건 40개 — 나머지 160개는 대부분 "환불됨, 운송 중"이었습니다.
60건 이상의 주문을 과판매했습니다. 플랫폼이 자동으로 취소했고, 취소율은 4%를 넘어섰으며, 계정 경고 직전까지 갔습니다.
배운 교훈: 프로모션 기간의 반품률은 평소의 2–3배이고, 유령 재고도 같은 속도로 늘어납니다. 평상시의 반올림 오차가 성수기에는 본격적인 사고가 됩니다.
함정 #2: 반품 없는 환불이 허공에서 재고를 만들어낸다
이건 더 교묘합니다.
품질 클레임, 분실 소포, 오배송 — 많은 플랫폼 정책은 그냥 환불을 발행하고 구매자에게 상품을 가지라고 합니다. 그래도 OMS는 재고를 보충합니다.
약 $70에 팔리는 보조배터리를 예로 들어보죠. 한 달에 열두 건 정도의 "환불, 반품 없음" 케이스가 있으면, 장부에 열두 개의 재고가 마법처럼 늘어납니다. 월말 실사는 절대 맞지 않습니다.
최악의 시기에는 가상의 "반품 대기 중" 상태에 80개가 넘는 유령 재고가 쌓여 있었습니다. 월 실사 차이는 300개가 넘었습니다. 창고 직원들은 격노했습니다.
계산해 보자: 환불에서 판매 가능까지 5단계
과정을 분해하면 타이밍 격차가 명확합니다:
| 단계 | 작업 | 일반적인 지연 |
|---|---|---|
| 1 | 구매자가 환불 요청 | 0 |
| 2 | 환불 승인(또는 자동 승인) | 0–2일 |
| 3 | 반품 운송 중 | 5–12일 |
| 4 | 창고 입고 + QC | 1–3일 |
| 5 | 판매 가능으로 재입고 | — |
2단계에서 5단계까지, 1~2주입니다. OMS 기본값은 2단계에서 보충합니다 — 재고가 존재하기 2주 전에 재고를 "쓰고" 있는 셈입니다.
세 가지 보충 전략 비교:
| 전략 | 보충 시점 | 장점 | 리스크 |
|---|---|---|---|
| 공격적 | 환불 승인 시 | 품절 없음 | 과판매, 플랫폼 페널티 |
| 보수적 | 입고 + QC 통과 후에만 | 장부가 항상 정확 | 인기 SKU 품절 가능 |
| 보류(권장) | 환불 → 동결 상태 "반품 대기 중" → QC 통과 후에만 판매 가능 | 장부가 현실과 일치 | 관리할 재고 상태 하나 추가 |
직관에 반하는 부분: 느리게 보충할수록 돈을 더 번다
대부분 셀러의 첫 직감: 빨리 보충해서 판매를 놓치지 말자.
계산이 틀렸습니다. 과판매된 주문 하나가 드는 비용: 플랫폼 취소 제재, 나쁜 리뷰, 환불 수수료, 지원 공수 — 한 개 마진보다 훨씬 큽니다. 반면 몇 건 놓친 판매의 "비용"은 그저 미뤄진 매출일 뿐입니다.
과판매는 확실한 손실입니다. 품절은 놓쳤을지도 모를 기회일 뿐입니다. 의심스러우면 장부는 보수적으로 유지하세요.
그래서 저는 OMS 기본값 "환불 = 보충"이 소프트웨어 버그는 아니지만 함정이라고 말합니다. 기본값이 당신 대신 가장 공격적인 선택을 해버린 겁니다.
지금의 방식
2025년 초, 로직을 다시 짰습니다. 다섯 가지 규칙, 화려한 건 없습니다:
첫째, 환불과 보충을 분리합니다. 환불은 재무 이벤트, 입고는 창고 이벤트. 두 개의 별도 상태 기계입니다. 환불을 승인해도 판매 가능 재고에는 손대지 않습니다.
둘째, 재고 상태를 추가합니다: "반품 대기 중." 환불 승인 후 상품은 이 동결 버킷으로 들어갑니다 — 판매 불가. WMS가 입고하고 QC를 통과해야만 다시 판매 가능으로 돌아옵니다.
셋째, 부분 환불은 재고를 절대 움직이지 않습니다. 배송비만 환불하거나 할인 크레딧? 상품이 움직이지 않았으니 단 하나도 변하지 않습니다. 하드코딩입니다.
넷째, 15일 후 자동 상각. 구매자가 반품하겠다고 했지만 발송하지 않았다? 재고를 영원히 붙잡아 둘 수는 없습니다. 15일은 저희 경험치 — 여러분의 반품 리드타임에 맞게 조정하세요.
다섯째, "반품 대기 중" 에이징 리포트를 매주 검토합니다. 10일이 넘은 건은 고객 서비스가 구매자에게 선제적으로 팔로업합니다.
숫자
변경 3개월 후:
과판매율: 1.1% → 0.2%. 월 실사 차이: 300개 이상 → 40개 미만.
부수 효과 하나: 고객 서비스가 "주문에 진짜 재고가 있냐"고 창고와 매일 다투지 않게 됐고, 응답이 빨라졌으며, 부정 리뷰율도 0.5포인트 떨어졌습니다.
지난 블랙프라이데이: 900건 이상의 환불 처리, 과판매 제로.
함정 리마인더
몇 가지 더, 몸으로 배우지 않으시도록:
플랫폼 환불 웹훅은 지연되고 가끔 두 번 발동합니다. 보충 로직을 멱등하게 만드세요 — 같은 환불이 두 번 푸시돼도 재고가 두 번 더해지면 안 됩니다.
반품 주문과 환불 주문은 1:1로 대응하지 않는 경우가 많습니다: 한 주문에 여러 환불, 합쳐진 반품, 교환. 실제로 입고된 SKU 기준으로 보충하고, 환불 금액에서 역산하지 마세요.
FBA식 플랫폼 풀필먼트는 완전히 다른 재고 로직으로 돌아갑니다. 자체 풀필먼트 규칙을 억지로 끼워 맞추지 마세요.
분실 소포와 반품 없는 환불 케이스: 재고는 한 번에 상각하세요. 돌아올 것처럼 "반품 대기 중"에 눌러앉히지 마세요.
이건 제가 직접 테스트했습니다. 됩니다.
Ah K, 이커머스 셀러 (5년) 지음
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.







