가용재고
가용재고는 지금 새 주문이나 출고 지시에 사용할 수 있는 수량입니다. 현재고가 충분해 보여도 이미 예약되었거나 보류된 수량은 사용할 수 없습니다.
가용재고 계산
가용재고 = 현재고 - 예약재고 - 보류재고 - 작업중재고
| 항목 | 수량 |
|---|---|
| 현재고 | 100 |
| 예약재고 | 10 |
| 보류재고 | 5 |
| 작업중재고 | 3 |
| 가용재고 | 82 |
주문 상태와 재고 상태의 관계
언제 가용재고가 줄어드는가
가용재고는 주문 예약 시점에 줄어드는 것이 일반적입니다. 현재고는 아직 줄지 않았지만, 해당 수량은 다른 주문이 사용할 수 없어야 하기 때문입니다.
부분 출고와 가용재고
주문 10개 중 8개만 출고확정되면 남은 2개를 어떻게 처리할지 정책이 필요합니다.
| 정책 | 처리 |
|---|---|
| 백오더 유지 | 예약재고 2개 유지 |
| 부분 출고 완료 | 예약재고 2개 해제 |
| 품절 취소 | 주문 라인 2개 취소 |
개발자가 주의할 점
- 가용재고 조회와 예약 생성은 같은 트랜잭션 안에서 처리합니다.
- 동시에 주문이 들어오는 상황을 고려해 잠금이나 optimistic lock을 사용합니다.
- 보류재고와 불량재고를 가용재고에서 제외합니다.
- 외부몰에 노출하는 재고는 안전재고를 뺀 수량으로 운영할 수 있습니다.