News

IM 재고 vs WM 재고 — 왜 숫자가 다를까 #shorts #SAP #WM

▶ YouTube에서 보기

이 글이 답하는 질문

  • 전기는 분명히 끝났는데 왜 창고 재고가 안 맞나?
  • IM 재고와 WM 재고는 각각 무엇을 세는 숫자인가?
  • 둘 사이의 차이는 어디에 쌓이고, 그걸 어떻게 확인하나?
  • Transfer Order를 만들기만 하고 확인하지 않으면 무슨 일이 생기나?
  • 실사 전에 반드시 정리해야 할 것은 무엇인가?

이 글을 보기 전에

입고나 출고 전기를 해 본 경험이면 충분합니다. 창고관리 설정을 깊이 몰라도 됩니다. 다만 "저장위치(Storage Location)"와 "저장빈(Storage Bin)"이 다른 개념이라는 것만 알고 계시면 이 글의 핵심이 훨씬 빨리 잡힙니다.

두 재고는 세는 단위가 다르다

가장 먼저 정리할 것은 이겁니다. IM 재고와 WM 재고는 같은 물건을 세지만 세는 위치의 해상도가 다릅니다.

IM (재고관리)
  플랜트 / 저장위치 단위로 센다
  "3100 플랜트 A100 저장위치에 200개"
  회계와 직접 연결된다 — 금액이 여기서 움직인다

WM (창고관리)
  저장빈(bin) 단위로 센다
  "A100 창고의 01-02-03 빈에 120개
              04-01-07 빈에 80개"
  물리적 위치를 안다 — 금액은 모른다

즉 IM은 "회사가 이 저장위치에 얼마를 갖고 있다"를 말하고, WM은 "그 물건이 창고 안 어느 칸에 있다"를 말합니다. 총량은 같아야 정상입니다.

그런데 전기와 물리적 이동이 동시에 일어나지 않기 때문에 그 사이에 차이가 생깁니다. 이 차이가 어디에 쌓이는지가 이 글의 핵심입니다.

차이는 인터페이스 저장구역에 쌓인다

입고를 예로 들면 흐름은 이렇습니다.

1. 입고 전기 (MIGO)
   → IM 재고 +200  (즉시 반영, 회계 전표 생성)
   → WM 쪽에는 아직 빈이 정해지지 않았다

2. 시스템이 Transfer Requirement 생성
   → "200개를 어딘가에 넣어야 함" 이라는 요청

3. Transfer Order 생성 (적치 지시)
   → "902 인터페이스 구역 → 01-02-03 빈으로 옮겨라"

4. Transfer Order 확인(Confirm)
   → 이제서야 WM 재고가 실제 빈으로 이동

3번까지만 하고 4번을 안 하면?
   IM 재고 200 (정상)
   WM 재고 → 902 구역에 200이 그대로 떠 있다

여기서 902 같은 인터페이스 저장구역이 등장합니다. 이건 실제 선반이 아니라 "IM은 반영됐는데 WM 이동이 아직 안 끝난 물량"을 담아 두는 가상의 칸입니다. 출고 쪽에는 보통 904 같은 구역이 같은 역할을 합니다.

그래서 "재고가 안 맞는다"는 말의 실체는 대부분 이것입니다. 총량은 맞는데 물건이 인터페이스 구역에 걸려 있어서 정작 피킹하러 간 빈에는 없는 상태입니다.

테스트 환경

  • S/4HANA 2023 온프레미스, 클래식 WM 기준
  • 확인에 쓰는 표준 트랜잭션 — LS24, LS26, LB10, LT23, LX03
  • 조회 예제는 ADT(Eclipse)에서 작성

이 글의 예제는 산업용 필터 유통 창고를 가정해 직접 구성했습니다. 자재 ZFLT-C120, 플랜트 3100, 창고번호 A10, 저장위치 A100을 씁니다.

직접 해보기 — 차이를 눈으로 확인하는 순서

1. 두 숫자를 나란히 놓는다

먼저 IM과 WM을 각각 조회해 총량이 다른지 봅니다.

* IM 재고 — 저장위치 단위
SELECT matnr, werks, lgort, labst
  FROM mard
  WHERE matnr = @lv_matnr
    AND werks = @lv_werks
  INTO TABLE @DATA(lt_im).

* WM 재고 — 빈 단위, 창고번호로 조회
SELECT lgnum, matnr, lgtyp, lgpla, verme
  FROM lqua
  WHERE lgnum = @lv_lgnum
    AND matnr = @lv_matnr
  INTO TABLE @DATA(lt_wm).

* 합계를 비교한다
"  mard-labst 총합  vs  lqua-verme 총합

총합이 같다면 재고 자체는 문제가 없고 위치만 이상한 것입니다. 총합이 다르다면 전기 단계에서 어긋난 것이라 원인이 다릅니다.

2. 인터페이스 구역에 걸린 물량을 찾는다

대부분의 원인은 여기서 잡힙니다.

* 저장유형이 인터페이스 구역인 재고
SELECT lgnum, lgtyp, lgpla, matnr, verme
  FROM lqua
  WHERE lgnum = @lv_lgnum
    AND lgtyp IN ( '902', '904', '916' )
    AND verme > 0
  INTO TABLE @DATA(lt_stuck).

* 902 입고 인터페이스
* 904 출고 인터페이스
* 916 조정/차이 구역

여기에 수량이 남아 있으면 그만큼이 "전기는 됐는데 창고 이동이 안 끝난" 물량입니다. LS24에서 자재별로, LX03에서 빈별로 같은 내용을 화면으로 볼 수 있습니다.

인터페이스 구역 번호는 창고번호마다 설정으로 정해지므로 902·904가 아닐 수 있습니다. 확인하려면 저장유형 목록에서 실물 선반이 아닌 것을 골라내면 됩니다.

* 창고번호에 정의된 저장유형 목록
SELECT lgnum, lgtyp, ltypt
  FROM t301t
  WHERE lgnum = @lv_lgnum
    AND spras = @sy-langu
  INTO TABLE @DATA(lt_type).

" 명칭에 인터페이스 / GR area / GI area 가
" 들어간 유형이 통과 지점이다

3. 미확인 Transfer Order를 확인한다

걸린 물량을 찾았으면 그에 대응하는 지시가 어디까지 진행됐는지 봅니다.

* 미확인 TO 헤더와 항목
SELECT h~lgnum, h~tanum, h~bdatu,
       i~tapos, i~matnr, i~vsolm, i~nistm, i~pquit
  FROM ltak AS h
  INNER JOIN ltap AS i
    ON h~lgnum = i~lgnum AND h~tanum = i~tanum
  WHERE h~lgnum = @lv_lgnum
    AND i~pquit = @space          " 확인 안 됨
  INTO TABLE @DATA(lt_open).

" vsolm 목표수량 / nistm 실제수량
" pquit = 'X' 이면 확인 완료

pquit가 비어 있는 항목이 미확인 지시입니다. LT23으로 해당 TO를 열어 확인 처리하면 WM 재고가 목표 빈으로 이동하고 인터페이스 구역이 비워집니다. LB10으로는 아직 TO조차 만들어지지 않은 Transfer Requirement를 볼 수 있습니다.

4. 그래도 안 맞으면 조정 구역을 본다

확인까지 끝났는데 차이가 남는다면 실사나 차이 처리 쪽입니다.

실사 흐름
  LI01N 실사문서 생성 → LI11N 카운트 입력
  → LI20  차이를 WM 조정구역(999)으로
  → LI21  IM으로 차이 전기 (회계 반영)

LI20까지만 하고 LI21을 빼먹으면
  WM은 정리됐는데 IM은 그대로 → 총량 불일치

이 순서에서 마지막 단계를 빠뜨리는 경우가 실제로 자주 있습니다. WM 화면상으로는 깔끔해 보이는데 회계 쪽 숫자가 안 맞는 상황이 되고, 월마감 때 발견됩니다.

출고 쪽은 순서가 반대다

입고만 이해하면 반쪽입니다. 출고는 흐름이 거꾸로라 걸리는 지점도 다릅니다.

1. 납품문서 생성 (VL01N)
   → 아직 재고는 그대로

2. Transfer Order 생성 (피킹 지시)
   → "01-02-03 빈에서 30개 꺼내 904로"

3. Transfer Order 확인
   → WM: 빈에서 빠지고 904에 30개
   → IM: 아직 그대로 (여전히 200)

4. 출고전기 PGI (VL02N)
   → IM 재고 -30, 회계 전표 생성
   → 904 구역 비워짐

3번까지만 하고 4번을 안 하면?
   IM 재고 200 (아직 안 빠짐)
   WM 재고 → 904에 30이 떠 있다

입고는 IM이 먼저 움직이고 WM이 따라오지만, 출고는 WM이 먼저 움직이고 IM이 마지막에 따라옵니다. 그래서 입고 지연은 902에, 출고 지연은 904에 쌓입니다. 어느 구역에 물량이 걸렸는지만 봐도 어느 단계에서 멈췄는지 바로 알 수 있습니다.

실무에서 자주 나오는 상황이 있습니다. 창고에서는 물건을 다 꺼내 트럭에 실었는데 시스템상 재고가 안 줄어든 경우입니다. 십중팔구 PGI가 안 된 것이고, 904를 조회하면 그 수량이 그대로 보입니다.

어디서 멈췄는지 한 번에 판단하기

지금까지 내용을 판단표로 정리하면 이렇습니다.

총량 IM = WM  ·  902에 수량 있음
  → 입고 TO 미확인. LT23으로 확인

총량 IM = WM  ·  904에 수량 있음
  → 출고 PGI 누락. VL02N에서 전기

총량 IM = WM  ·  인터페이스 비어 있음
  → 정상. 빈 위치만 확인하면 됨

총량 IM ≠ WM
  → 전기 단계 불일치.
     실사 차이(LI21 누락) 또는
     WM 미관리 저장위치로 전기했는지 확인

이 표의 순서대로 보면 대부분 3분 안에 원인이 좁혀집니다. 반대로 아무 근거 없이 실사부터 돌리면 원인은 그대로 둔 채 숫자만 맞추는 셈이라, 다음 달에 같은 차이가 다시 생깁니다.

자주 만나는 함정

  • TO 생성과 확인을 같은 것으로 안다 — 생성은 "옮겨라"는 지시일 뿐입니다. 확인해야 재고가 실제로 움직입니다. 자동 확인이 켜져 있는 이동유형만 예외입니다.
  • IM만 보고 재고가 있다고 판단 — MMBE에 200개가 떠도 그게 피킹 가능한 빈에 있다는 뜻은 아닙니다. 902에 묶여 있으면 출고 지시가 안 나갑니다.
  • 인터페이스 구역을 실사 대상에 넣는다 — 902·904는 통과 지점이라 여기 있는 수량은 정리 대상이지 카운트 대상이 아닙니다. 실사에 포함하면 차이가 이중으로 잡힙니다.
  • LI20까지만 하고 마무리 — WM 조정은 회계에 반영되지 않습니다. LI21을 해야 IM과 전표가 맞습니다.
  • 저장위치와 창고번호 매핑을 확인하지 않는다 — WM 관리 대상이 아닌 저장위치로 전기하면 WM에는 아예 안 잡힙니다. 이 경우는 "안 맞는" 게 아니라 "관리 밖"입니다.

핵심 한 줄

IM은 저장위치 단위로, WM은 빈 단위로 셉니다. 전기와 창고 이동이 분리돼 있어서 그 사이 물량이 902·904 같은 인터페이스 구역에 남고, 이게 "재고가 안 맞는다"의 대부분입니다. 미확인 Transfer Order부터 찾으세요.

더 파볼 주제

  • 적치 전략과 피킹 전략 — 빈을 고르는 규칙은 어디서 정해지나
  • 이동유형별 자동 TO 생성·자동 확인 설정
  • 클래식 WM과 EWM의 재고 모델 차이
  • 배치관리 자재에서 빈 단위 재고가 갈라지는 방식

댓글 0

아직 댓글이 없습니다.