본문으로 건너뛰기

재고 차감 시점

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

추천 기본안

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

시점별 차감 방식 비교

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

주문 상태별 재고 변화

동시 주문 상황에서의 문제

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

취소 시 재고 복구 흐름

부분 출고와 반품

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

실무 추천 방식

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

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

관련 문서