본문으로 건너뛰기

재고 차감 시점

재고 차감 시점은 유통 시스템에서 가장 중요한 설계 결정 중 하나입니다. 같은 주문이라도 주문 접수, 결제 완료, 출고 요청, 피킹, 출고확정 중 어느 시점에 현재고를 줄이느냐에 따라 취소, 부분 출고, 정산, 장애 복구 방식이 달라집니다.

추천 기본안

주문/결제 시점에는 현재고를 바로 줄이기보다 예약재고를 잡고 가용재고를 줄입니다. 실제 현재고 차감은 WMS 출고확정 시점에 처리하는 방식이 추적과 취소 처리에 가장 안정적입니다.

시점별 차감 방식 비교​

차감 시점장점단점
주문 시점과주문 방지 쉬움결제 실패/취소 복구가 많음
결제 완료 시점유효 주문만 반영결제 후 출고 전 취소 처리 필요
출고 요청 시점WMS 작업과 연결요청 실패/재전송 시 중복 차감 위험
출고 지시 시점창고 작업 기준 명확피킹 전 취소 복구 필요
피킹 시점현장 작업과 가까움검수 실패/반품 처리 복잡
출고확정 시점수불과 정산 기준 명확예약재고/작업중재고 관리 필요

주문 상태별 재고 변화​

동시 주문 상황에서의 문제​

현재고 10개인 상품에 동시에 8개 주문이 두 건 들어오면 둘 다 성공하면 안 됩니다. 가용재고 계산과 예약 생성은 하나의 트랜잭션으로 묶고, 같은 상품/창고 재고 행에 대해 잠금 또는 버전 검증을 사용합니다.

취소 시 재고 복구 흐름​

부분 출고와 반품​

부분 출고에서는 확정 수량만 현재고를 줄입니다. 미출고 수량은 예약을 유지할지, 취소할지, 백오더로 남길지 정책을 정해야 합니다. 반품은 창고 도착과 검수 이후 정상재고로 복구할지 불량/폐기로 처리할지 결정합니다.

실무 추천 방식​

대부분의 유통 시스템에는 다음 방식이 안정적입니다.

  1. 주문/결제 시점에는 예약재고를 생성합니다.
  2. 가용재고는 예약재고만큼 줄입니다.
  3. WMS 피킹/검수 중에는 작업중재고로 추적합니다.
  4. 출고확정 시점에 현재고를 차감하고 수불부를 생성합니다.
  5. 취소와 반품은 원거래 삭제가 아니라 역수불 또는 반품입고로 남깁니다.

관련 문서​