하나의 매장, 두 개의 재고: 온·오프라인 재고 분리 끝내기
온·오프라인 판매를 병행하는 대부분의 매장은 동기화 앱으로 연결된 두 개의 재고를 운영하고 있으며, 이 간극으로 인해 초과 판매, 재고 불일치, 주말 야간 재고 실사 문제가 발생합니다. 이 분리가 실제로 어떻게 해결되는지 알아봅니다.

온·오프라인 판매를 병행하는 매장은 대개 하나의 재고를 운영하고 있지 않습니다. 서로 편지를 주고받는 두 개의 재고를 운영하고 있는 것입니다. 매장 선반 수량은 POS에 있고, 온라인 수량은 이커머스 플랫폼에 있으며, 동기화 커넥터가 그 사이에서 업데이트를 전달합니다. 모든 초과 판매, "죄송합니다, 실제로는 재고가 없습니다"라는 안내 이메일, 그리고 일요일 밤마다 하는 재고 실사는 모두 이 간극에서 비롯됩니다. 해결책은 더 나은 커넥터가 아닙니다. 모든 채널이 동시에 읽고 쓰는 단 하나의 재고 기록입니다.

왜 온·오프라인 재고 수량이 어긋날까요?
두 시스템이 동일한 선반에 대해 각각 자체 원장을 유지하기 때문에 수량이 어긋납니다. 포스기에서 결제가 이루어지면 POS가 자체 복사본의 수량을 줄입니다. 온라인에서 주문이 들어오면 이커머스 플랫폼이 자체 복사본의 수량을 줄입니다. 그다면 커넥터가 각 변경 사항을 반대편으로 전달하는데, 이 과정은 몇 초가 걸리기도 하고 15분마다 배치 작업으로 실행되기도 합니다.
판매가 일어난 순간부터 정보가 복사되기 전까지, 두 시스템은 모두 해당 상품이 여전히 재고가 있다고 믿습니다. 이 시간 차이는 짧지만 누수의 유일한 원인은 아닙니다. 환불과 교환이 한쪽에만 반영되고 다른 쪽에는 누락되는 경우가 많습니다. 상품명을 변경하거나 옵션을 수정하면 SKU 매핑(SKU는 판매 가능한 개별 상품의 ID입니다. 자세한 용어는 POS 용어 가이드를 참고하세요)이 조용히 깨질 수 있으며, 이후 두 시스템은 서로 다른 상품에 대해 이야기하게 됩니다. 동기화 커넥터의 장애는 대개 소리 없이 발생합니다. 오류 메시지는 뜨지 않고 수량만 일치하지 않게 됩니다.
오차는 누적됩니다. 이 작은 불일치들은 누군가 직접 선반의 재고를 세어보기 전까지 유지되며, 그때가 되면 어느 시스템이 맞았는지 아무도 알 수 없습니다.
재고 분리로 인해 실제로 발생하는 비용은 얼마인가요?
전 세계적으로 품절 및 과잉 재고로 인해 소매업계가 입는 손실은 연간 약 1조 7,300억 달러로 추정되며, 이는 매출의 약 6.5%에 달합니다¹. 단일 매장의 경우, 이 분리는 다음과 같은 네 가지 형태의 지속적인 비용으로 나타납니다.
안전 재고 설정: 동기화 지연으로 인한 초과 판매를 막기 위해 실제 재고가 5개 있어도 온라인에는 3개만 표시하는 방식입니다. 이는 비용을 지불하고 확보했지만 아무도 살 수 없게 묶어둔 재고입니다.
정산 및 대조 시간 (두 수량이 일치하는지 확인): 직원이 선반 재고를 다시 세고 오류가 난 시스템을 수정하는 데 소모하는 시간입니다.
초과 판매 처리 비용: "재고 있음"으로 표시된 상품이 실제로는 없을 때 발생하는 환불 처리, 사과 이메일 발송, 그리고 간혹 발생하는 별점 1점 리뷰 대응입니다.
동기화 솔루션 비용 자체: 커넥터나 이커머스 동기화 요금제는 소매업자가 부담하는 숨겨진 SaaS 비용 중 하나입니다.
이 비용들은 손익계산서에 "재고 분리 비용"으로 명시되지 않기 때문에 이 비효율적인 분리가 계속 유지되는 것입니다.

동기화 앱으로 해결할 수 없나요?
일부 매장에는 커넥터로도 충분하며, 이 점은 분명히 인정할 가치가 있습니다. 재고 회전율이 낮고, 마지막 남은 수량을 판매하는 일이 드물며, 단일 매장을 운영한다면 괜찮은 동기화 앱으로도 대부분 잘 버틸 수 있습니다. 이 경우라면 임시방편을 사용하셔도 좋습니다.
하지만 여러분이 목표로 하는 성장 단계에 도달하는 순간 이 방식은 버티지 못합니다. 트래픽이 많아지면 동기화 주기 사이에 두 채널이 동일한 상품을 동시에 건드릴 확률이 높아집니다. 희소성 있거나 세상에 하나뿐인 상품(빈티지, 위탁 판매, 소량 제작 상품)은 모든 수량이 마지막 수량이 됩니다. 매장이 여러 개로 늘어나면 조용히 깨질 수 있는 매핑 경로도 배로 늘어납니다. 동기화 앱은 낮은 거래량에서 증상을 완화해 줄 뿐이며, 그 아래에 있는 두 개의 원장이라는 근본적인 원인은 그대로 남아 있습니다.
단일 재고(One inventory)란 실제로 무엇을 의미하나요?
두 개의 원장과 전달자를 두는 대신, 모두가 신뢰하는 단 하나의 원천 기록(단일 데이터베이스)을 운영하는 것을 의미합니다. 오프라인 카운터, 온라인 쇼핑몰, 키오스크가 결제가 완료되는 순간 동일한 수량을 읽고 동일한 기록에 판매를 반영합니다. 두 채널이 동시에 마지막 남은 수량을 가져가려고 할 때 원장 자체가 이를 판별하여 처리하므로, 나중에 동기화 작업이 실행된 후에야 충돌을 발견하는 일이 없습니다. 카탈로그도 동일한 방식으로 공유됩니다. 모든 채널에서 하나의 상품, 하나의 가격, 하나의 세금 규칙이 적용됩니다.
이러한 아키텍처는 나중에 추가하기가 매우 어렵습니다. 통합 솔루션으로 연결된 두 개의 성숙한 시스템은 항상 두 개의 원장을 가질 수밖에 없습니다. 각 시스템이 자신이 수량 기록의 주인이라고 가정하고 설계되었기 때문입니다. 이는 플랫폼이 처음부터 작동하는 방식이어야 하며, Final이 재고를 다루는 방식이기도 합니다. 온라인 스토어와 포스기는 단일 기록을 바라보는 두 개의 뷰일 뿐이므로 간극이 발생하지 않습니다. 실시간 가시성은 POS 재고 관리의 모든 기능이 구축되는 기초이기도 합니다. 재주문 시점 설정과 재고 알림은 읽어오는 수량이 정확할 때만 의미가 있으며, 소매업자가 효율성 개선 효과를 얻는 것도 수량을 신뢰할 수 있게 된 이후의 일입니다.
그렇다면, 온·오프라인 재고 분리를 끝낼 수 있을까요?
네, 하지만 동기화를 더 열심히 돌리는 방식으로는 불가능합니다. 분리는 두 개의 시스템을 운영하기 때문에 발생하는 현상이며, 원장 간의 복사 속도가 빨라질 때가 아니라 두 채널이 하나의 원장 위에서 실행될 때 비로소 끝납니다. 플랫폼을 평가할 때 유용한 테스트가 있습니다. 온라인 주문과 카운터 판매가 기록되는 위치가 어디인지, 그리고 그곳이 동일한 장소인지 물어보세요. (소매용 POS 선택에는 재고 외에도 많은 고려 사항이 있지만, 이 질문은 후보를 빠르게 걸러내 줍니다.)
기억해야 할 점은 다음과 같습니다. 포스기와 온라인 스토어가 동일한 선반 수량에 대해 서로 다른 의견을 가질 수 있다면, 동기화 앱이 무엇을 약속하든 여러분은 두 개의 재고를 운영하고 있는 것입니다.
자주 묻는 질문
매장 재고와 온라인 재고 수량이 일치하지 않는 이유는 무엇인가요?
각 시스템이 자체 원장을 유지하고, 동기화 도구가 지연 시간을 두고 변경 사항을 복사하기 때문입니다. 이 지연 시간 동안 발생하는 판매, 환불, 교환, 카탈로그 수정 사항(또는 연동 실패 건)이 누적되면서 오차가 발생하게 됩니다.
더 나은 동기화 앱을 사용하면 초과 판매를 막을 수 있나요?
동기화가 불가능해지는 것은 아니지만, 발생 빈도는 훨씬 줄어들 것입니다. 모든 동기화에는 판매가 발생한 시점부터 데이터 복사본이 다른 시스템에 도달하기까지의 시간 차(window)가 존재하며, 가장 바쁜 순간이야말로 두 채널이 이 시간 차 내에 마지막 남은 재고를 동시에 판매할 가능성이 가장 높은 때입니다.
재고 관리를 위한 단일 기록 원천이란 무엇인가요?
판매가 발생하는 순간 모든 판매 채널이 데이터를 읽고 쓰는 단 하나의 데이터베이스(기록 시스템)를 의미합니다. 카운터, 온라인 스토어, 모든 키오스크가 동일한 수량을 차감하므로 데이터 불일치가 발생할 수 있는 두 번째 복사본이 존재하지 않습니다.
온라인 판매와 대면 판매를 위해 재고 수량을 별도로 관리해야 하나요?
아닙니다. 플랫폼이 하나의 장부를 기준으로 두 채널을 모두 운영한다면, 하나의 재고 수량으로 두 채널을 모두 처리할 수 있습니다. 별도의 재고 수량이나 예약된 '온라인 재고' 버퍼는 장부를 공유할 수 없는 시스템에서 사용하는 임시방편입니다.
