본문 바로가기

SAP CO/깊숙한 개념

배부하지 않음(Not Distributed) 추가 케이스 - WIP at Target

 

 

WIP at Target일 때 "배부하지 않음"이 생기는 경우도 있다

 

 

 

 

배부하지 않음(Not Distributed)과 배부되지 않음(Not Allocated)에 대해서 지난 글에서 살펴본 바 있다.

 

2021.10.16 - [SAP CO/깊숙한 개념] - 배부하지 않음(Not Distributed)과 배부되지 않음(Not Allocated) - 1

2021.10.23 - [SAP CO/깊숙한 개념] - 배부하지 않음(Not Distributed)과 배부되지 않음(Not Allocated) - 2

 

 

'배부하지 않음'의 추가 케이스에 대해서 언급했었다

 

이중 배부하지 않음에 대한 글 말미에 "WIP at Target을 쓰는 경우 PCC의 Variance가 반영될 재고가 없을 때도 발생한다"라고 언급했는데 이에 대해 자세히 알아보고자 한다.

 

 


 

1. WIP at Actual vs. Target

 

우선 SAP에서 재공품을 평가하는 방식에 대해 알아보자. WIP at Actual과 WIP at Target 두 가지가 있다.

 

Actual 방식은 Cost Object(생산오더, 프로세스오더, PCC 등)에 집계된 금액을 바탕으로 재공품 금액을 계산하는 방식이다. Target 방식은 사전에 계산했던 예비원가나 표준원가로 재공품 금액을 계산하는 방식이다.

 

무슨 말인가? 언젠가 별도로 글을 작성하겠지만 여기서 간략하게만 살펴보자면,

 

우선 재공품이란 생산공정에 투입되었으나 아직 완성되지 않아 공정 중에 머물러 있는 재고를 의미한다. 이런 재공품 금액을 산출하는 방식을 SAP에서는 Actual과 Target 두 가지를 제공하고 있다. 이 두 방식은 생산 방식과 밀접하게 연결되어 있는데 대량생산 방식에서는 Target을, 소량/주문생산 방식에서는 Actual을 사용하길 권고하고 있다.

 

CO 입장에서 말해보자면 'by Period' 방식에서는 WIP at Target을, 'by Order' 방식에서는 WIP at Actual을 쓴다고 보면 된다. 그림으로 정리해보자면 아래처럼 되겠다.

 

생산 방식  SAP PP 시나리오 SAP CO 시나리오 재공품 평가 방식
대량생산 방식 REM, Process Manufacturing by Period(기간별 평가) Target
소량/주문생산 방식 Discrete Manufacturing by Order(오더별 평가) Actual

 

Target 방식에서는 사전에 설정한 표준원가나 예비원가를 기준으로 재공수량을 곱하여 재공품 금액을 산출한다. 차이(Variance)는 Cost Object 차변에 쌓인 금액에서 산출된 재공품 금액을 차감하여 계산한다. 수식으로 정리하면 이렇다.

 

 

① 재공품 금액 = 계획원가 × 재공 수량

CO Object 차변 금액 - 재공품 금액 = 차이 금액(Variance)

 

 

Actual 방식에서는 어떠한가? 이 경우에는 차이 금액을 먼저 계산하고, 나머지 잔액을 재공금액으로 계산한다

 

 

① 생산입고 금액 = 계획원가 × 입고 수량

② CO Object 차변 금액 - 생산입고 금액 = 재공품 금액

 

 

그럼 왜 Target 방식으로 재공품을 계산할 때 '배부하지 않음'이 발생할까? 이에 대해 예시와 함께 살펴보자.

 

 


 

2. WIP at Target일 때 재공품 계산

 

대량생산이며, By Period 원가계산 방식일 때 WIP at Target이 적용된다. 계산 예시를 살펴보자. 우선 아래와 같은 라우팅 구조를 가진 제품이 있다고 해보자.

 

 

T-CODE: CA23(비율 공정 조회)

 

위 제품은 라우팅 내 작업 10(프레스 1)과 작업 20(프레스 2)으로 구성되어 있다. 만약에 해당 제품의 작업 확정을 10번 작업에 대해서만 수행하고 이번 달이 종료되었다면? 바로 이런 경우에 결산 시 재공품으로 계산하게 된다.

 

 

T-CODE: MFBF(REM 백플러시 수행)

 

위 그림처럼 T-CODE: MFBF를 통해 10번 작업에 대해서만 백플러시를 수행했다.

 

 

T-CODE: S_ALR_87012993(오더 실제/계획/차이 조회)

 

백플러시를 수행한 후 오더 리포트 화면이다. 오더 차변에는 계획 액티비티 가격과 백플러시 수량을 곱한 만큼 금액이 기표되어 있다. 반면 오더 대변에는 아무런 금액이 없다. 아직 해당 제품이 공정 중에 있고 완성되지 않았기 때문이다.

 

이렇게 원재료도 투입되었고 작업도 수행하였으나 아직 이 제품에 대한 입고는 없으면 재공품 계산 대상이 된다. 재공품 계산 화면으로 가보자.

 

 

T-CODE: KKAS(자재/플랜트별 재공품 계산)

 

 

T-CODE: KKAS(자재/플랜트별 재공품 계산)의 결과 화면

 

 

재공품 계산을 수행했다. 이 재공품의 금액은 세팅에 따라 다르지만 우리 예시에서는 『예비원가 × 재공 수량』으로 계산됐다. 예비원가가 됐든 표준원가가 됐든 계획원가로 재공품 금액을 산출한 건 같다. 실제원가로 재공품 금액을 계산한 게 아니다.

 

다음은 이렇게 계산한 재공품 금액을 회계전표로 정산해줘야 한다.

 

 

T-CODE: KO88(실제정산: 오더)

 

정산 처리를 한다.

 

 

T-CODE: FB01(회계전표 조회)

 

정산 후 살펴보면 B/S 계정인 재공품 자산이 증가했다. 금액은 10,344,257원인데 이건 아까 T-CODE: KKAS를 통해 계산한 재공품 금액과 같다. 이 금액은 차월에 해당 작업이 완료되어 생산입고되었을 때 정산 처리를 하면 역분개되어 사라진다. 이렇게 재공계산에 대한 건 끝났다.

 

그런데 차이금액(Variance)도 116,257원 발생했다. 이건 뭘까? 왜 생긴 걸까? 다시 오더 리포트로 되돌아가 보면

 

 

T-CODE: S_ALR_87012993(오더 실제/계획/차이 조회)

 

왜 차이 금액이 발생했는지 이걸 보면 알 수 있다. 오더 차변에 쌓인 금액은 10,228,000원이었는데 이 중 재공품으로 자산화된 금액이 10,344,257원으로 더 컸다. 위에서 봤던 산식을 기억하는가?

 

 

① 재공품 금액 = 계획원가 × 재공 수량

② CO Object 차변 금액 - 재공품 금액 = 차이 금액(Variance)

 

 

위 산식에 따라

 

차변금액 - 재공품 금액 = 차이 금액

10,344,257 - 10,228,000 = 116,257원

 

따라서 116,257원만큼이 Variance로 정산된 것이다.

 

이 차이 금액은 M/L에도 동시에 반영되는 금액이다. 그럼 여기서 왜 '배부하지 않음'이 발생하는가? 

 

 


 

3. '배부하지 않음'이 발생하는 이유

 

정산까지 처리한 후 자재원장을 조회해보면 차이금액이 반영되어 있다.

 

 

T-CODE: FB01(회계전표 조회)와 CKM3(자재원장 조회)에서 살펴본 차이 금액

 

위 그림을 보면 회계전표 상 '생산차이-반제품(PRF)'로 발생한 금액이 자재원장에도 '가격 차이'라는 항목에 반영되어 있다.

 

그럼 이 차이금액은 어디로 가야 하는가? 지난 글을 기억하신다면 자재원장 하단의 '소비'와 '기말재고'로 배부된다는 걸 아실 거다. 즉 아래 그림처럼 회계처리가 되는 게 일반적이다.

 

 

월중 발생한 생산차이를 M/L차이정산으로 모아서 소비와 기말재고로 배부

 

 

그런데 위 상황처럼 배부받을 '소비'와 '기말재고' 항목의 수량이 없다면 어떻게 될까? 바로 이럴 때 '배부하지 않음'이 생긴다. 화면을 통해 살펴보자.

 

 

T-CODE: CKMLCP(실제원가계산)을 통해 정산까지 수행

 

위 그림처럼 T-CODE: CKMLCP를 통해 자재원장 정산까지 수행해보자. 이후 다시 자재원장을 조회해보자.

 

 

T-CODE: CKM3(자재원장 조회)

 

보시는 바와 같이 차이금액이 갈 곳이 없어 '배부하지 않음'으로 남았다. 결국은 지난 글에서 설명했던 것과 동일한 원칙으로 생기는 것이다. 바로 Price Limiter 로직이다. 

 

배부될 차이금액에 물려있는 수량을 Price Limiter Quantity라고 한다. 바로 이 Price Limiter Quantity이 누적재고(소비와 기말재고)보다 클 경우 '배부하지 않음'이 생긴다. 우리 예시에서 Price Limiter Quantity는 재공품 계산에 물려 있는 1개다. 바로 이 1개에 대한 차이금액이 누적재고인 0개보다 크기 때문에 배부하지 않음이 생긴다. 

 

그럼 이렇게 생긴 차이금액은 어떻게 해야 하나?? 당기비용으로 보는 게 맞나??

 

 


 

4. 처리방안??

 

이전 글에서 '배부하지 않음'이 발생했을 때 T-CODE: CKMLCP에서 '재고범위 점검 안 함'에 체크해서 해당 금액을 누적재고에 모두 반영할 수 있었다. 또는 그냥 그대로 두거나 다른 계정으로 대체하는 방식으로 전액 당기 비용 처리할 수 있었다.

 

그런데 지금 예시처럼 아예 누적재고가 0인 경우에는? 이 경우에는 '재고범위 점검 안 함'에 체크해서 남아 있는 누적재고에 모두 반영하는 방식을 쓸 수가 없다. 반영하고자 해도 반영할 재고 수량 자체가 없기 때문이다.

 

결국 이대로 둘 수밖에 없고 그러면 전액 비용화될 수밖에 없다. 이건 비단 재공품뿐만이 아니라 구매입고의 경우에도 마찬가지다. 다시 말하지만 누적재고가 0이면 받아줄 재고 수량이 없기 때문이다.

 

 

회계처리를 정리한 모습

 

 

따라서 이런 식으로 정리된다. 재공품 자산을 취득하기 위해 희생한 실제원가는 10,288,000원인데 비해 재공품 자산으로 잡힌 금액은 10,344,257이므로 그 차익만큼의 "수익"이 116,257원 생긴 것이다.

 

어떤가? 납득이 되는가? 재공품으로 자산화할 실제원가가 뻔히 보이는 상황에서 가공의 수익인 116,257원까지 잡아가면서 계획원가로 재공품 금액을 산출하는 게 재무팀 정서상 납득하기 어려울 것이다.

 

왜 이런 일이 발생하는가? WIP at Target 방식에서는 재공품 금액을 계획원가로 산출하는 원칙을 세웠기 때문이다. 이 방식에서는 완성품 제조원가를 계산할 때처럼 차이금액을 반영해 실제원가로 재산출해주는 로직은 없다.

 

정말 없나? WIP Revaluation은 어떨까? 지난 글에서 살펴봤던 WIP Revaluation은 물론 재공품에 차이금액을 반영해 실제원가로 재산출해주는 기능이 맞다. 그렇지만 그건 해당 재공품에 투입된 하위 자재의 차이금액을 Roll-up해주는 기능이지, 해당 재공품 생산 공정 자체에서 정산 차이금액까지 반영해주진 않는다.

 

따라서 WIP Revaluation 기능을 활용해 진정으로 실제원가로 재공품을 평가하기 위해서는 WIP at Target이 아닌 WIP at Actual 방식을 택해야 한다. 그럼 아래와 같은 식으로 전표 처리가 될 것이다.

 

 

WIP at Actual일 때의 회계 처리를 정리한 모습

 

 

이런 상태라면 재공품 금액은 총 발생비용으로 발생하므로 여기에 하위 자재의 차이금액까지 Roll-up해주면 온전한 실제원가가 된다.

 

그럼 WIP at Actual을 쓰는 게 무조건 좋은 거 아닌가? 그런데 문제는 재공품 평가방식이 생산방식에 종속되어 있다는 데 있다. 즉, PCC를 사용하는 by Period 방식의 원가계산을 적용할 경우 재공품 평가는 WIP at Target의 선택이 강제된다. 바꾸고 싶어도 바꿀 수 없다. 

 

 

by Period 방식에서는 WIP at Target만 가능하다.

 

 

by Period 방식에서 WIP at Actual을 적용하려고 하면 위와 같은 오류 메시지가 발생한다.

 

결국 현재로서는 대량 생산이면서 제품원가취합처(PCC)를 사용해 원가결산을 하는 by Period 방식의 경우 재공품은 제품처럼 실제원가로 평가할 방법은 없다고 봐야 한다. 따라서 '배부하지 않음'으로 계속 남는다.

 

굳이 머리를 굴려보자면 이렇게 발생한 차이금액을 T-CODE: MR22를 통해 재공품 자산에 반영했다가 차월에 반대 분개로 처리하는 방법도 있을 테지만...