본문 바로가기

SAP CO/깊숙한 개념

Primary Cost Component Split

이 글은 지난 번 『워크센터의 액티비티는 왜 고작 6개뿐인가?』에서 이어진다.

 

2021.09.24 - [SAP CO/깊숙한 개념] - 워크센터의 액티비티는 왜 고작 6개뿐인가?

 

워크센터의 액티비티는 왜 고작 6개뿐인가?

"더 늘릴 수는 없나요?" 현업으로부터 종종 듣는 이야기다. "그냥 원래 SAP가 그렇게 생겨먹었습니다."라고 말면 편하긴 한데 답변이 넘 궁핍하지 않은가? 그러게... 왜 6개밖에 못 만들까. CO 입장

ckm3.tistory.com


Primary Cost Component Split의 기본 개념, Configuration, 테스트를 하나씩 살펴보자.

 

 

1. 기본 개념


Primary Cost Component Split을 이해하기 위해서는 우선 Cost Component Split가 무엇인지부터 알아야 한다. 이 부분에 대한 기초 개념이 필요한 분은 아래 글부터 읽고 오자.

 

 

Cost Component Split을 통해 제품 단위 원가를 코스트 컴포넌트별로 분석할 수 있다.

코스트 컴포넌트는 어떤 방식으로 집계될까?

 

T-CODE: OKTZ(원가구성요소 구조 관리)

 

위 그림에서처럼 원가요소나 오리진 그룹과 매핑하여 관리한다. 일단 오리진 그룹에 대해서는 나중에 더 얘기할 것이니 패스하고, 원가요소에만 집중해보자. 위 그림처럼 원가요소의 범위를 지정하고 그와 연결된 코스트 컴포넌트를 설정할 수 있다. 위에서는 재료비는 5번대 1차 원가요소로 매핑했고, 나머지 경비는 7번대 2차 원가요소로 매핑했다.

 

T-CODE: S_ALR_87012993에서 확정된 액티비티 금액과 T-CODE: CKM3에서 자재 입고 시 발생한 코스트 컴포넌트 금액이 일치한다.

 

위 그림은 생산오더에 집계된 원가요소 금액이 자재원장의 코스트 컴포넌트와 일치하는 걸 보여준다. 앞서 매핑을 했기 때문에 이런 식으로 동작하는 것이다.


액티비티 배부를 통해 관리되는 가공비의 경우, 해당 액티비티의 2차 원가요소와 코스트 컴포넌트를 매핑해야 한다. 즉,  Cost Component Split란 기본적으로는 2차 원가요소를 대상으로 하는 것이다. 그러니 Cost Compoent Split이란 말에는 사실 앞에 (Secondary)란 게 생략된 의미로 이해하면 되겠다.

 

"(Secondary) Cost Component Split"

 

이게 기본이란 거다. 그런데 오늘 소개할 Primary Cost Component Split는 2차 원가요소로만 코스트 컴포넌트를 구성할 경우 발생하는 문제에서 출발한다.

 

위 그림처럼 가공비는 2차 원가요소와 코스트 컴포넌트 간 매핑으로 작동한다.

 

즉 위 그림처럼 생산오더의 Confirmation이 수행되면 해당 작업장의 코스트센터 대변, 생산오더의 차변으로 액티비티 수량과 금액이 기표된다. 액티비티는 2차 원가요소와 연결되어 있으므로 2차 원가요소로 기표되고, 2차 원가요소는 코스트 컴포넌트와 연결되어 자재원장에 기표된다.

 

그런데 액티비티 타입은 배부적수로서는 적합하지만, 이게 과연 분석적 목적으로도 모두 적합한가? 동일한 액티비티 타입으로 배부한다 할지라도 비용의 성격이 다른 경우도 있지 않은가?

 

 


예를 들어 위 그림처럼 전력비, 가스비, 용수비 모두 기계가동시간을 기준으로 배부한다고 해보자. 이런 경우 코스트 컴포넌트로 넘어갈 때 각각 비용의 성격 구분은 사라지고, 단순히 집합 비용인 동력비만 남는다.

 

결국 제품 단위 코스트 컴포넌트에서는 동력비 비용 하나 밖에 볼 수 없고, 해당 항목의 구성 중 얼마가 전력비이고 얼마가 가스비인지는 알 수 없게 되는 것이다.

 

Primary Cost Component Split의 개념

 

따라서 동일한 액티비티 타입으로 배부하는 비용이라도 그 원천에 따라 다르게 코스트 컴포넌트를 구성하는 게 필요하다. 이럴 때 사용하는 게 바로 Primary Cost Component Split이다.



 

2. Configuration 방법

 

(1) 원가구성요소 구조 세팅


T-CODE: OKTZ로 들어간다.

 

T-CODE: OKTZ(원가구성요소 구조 관리)

 


여기서 "1차 원가구성요소 분할"에 체크한다. 그리고 원가요소와 코스트 컴포넌트를 매핑하는 화면에서는 액티비티 타입의 2차 원가요소가 아닌, 1차 원가요소를 코스트 컴포넌트와 매핑한다.

 

 

전력비, 가스비, 용수/폐수비를 1차 원가요소와 연결했다.

 

일반적으로 여기서는 2차 원가요소와 코스트 컴포넌트를 연결하지만, Primary Cost Componet Split을 위해서는 1차 원가요소와 연결한다.

 

 

(2) (Optional) 보조 원가구성요소 구조와 주요 원가구성요소 구조 연결

 

Primary Cost Component Split을 보조 원가구성요소를 사용해서 구현했을 경우, 주요 원가구성요소와 매핑이 필요하다.

 

보조 원가구성요소 구조 C1의 요소들을 주요 원가구성요소 구조 C0에 매핑했다.

 

 

이 세팅은 주요 원가구성요소에 직접 Primary Cost Component Split을 적용하면 필요 없을 것으로 생각한다. 다만 SCN 등에서는 대부분 보조 원가구성요소 구조를 이용해 구현한 사례만 있는데, 주요 원가구성요소 구조만으로도 제대로 기능하는지는 테스트가 필요하다. 언젠가 직접 해보려고 하는데 혹시 사례가 있으면 댓글로 알려주시면 매우 감사하겠습니다.

 

 

(3) CCA의 버전의 액티비티 가격 계산과 원가구성요소 구조 연결 

 

다음으로 T-CODE: OKEQ에 들어간다.

 

1차 원가구성요소 분할로 설정한 원가구성구조를 버전과 연결한다.

 

 

그리고 1차 원가구성요소 분할로 설정한 원가구성구조를 관리회계 영역의 버전과 연결해야 한다. 이래야 액티비티 가격을 1차 원가요소 레벨로 산출할 수 있게 된다.


세팅은 이게 끝이다. 매우 간단하다.

 


 

3. 실제 수행 테스트

 

(1) 기본 가정

 

이 테스트를 위해서 보조 원가구성요소(Auxiliary Cost Component Structure)를 사용했는데, Primary Cost Component Split을 위해 필수인 세팅은 아니다. 그래도 아래 테스트 내용의 이해를 위해 모델 컴퍼니의 세팅을 잠시 소개한다.

 

주요 원가구성구조와 보조 원가구성구조의 매핑관계. 주요는 C0, 보조는 C1 코드로 지정했다.

 

 

이번 테스트에서 보여줄 건 액티비티 타입 1개와 연결되어 있는 동력비를 전력비, 가스비, 용수/폐수비로 Primary Cost Component Split을 수행하는 것이다.

 

사례로 만들어본 예시 데이터

 

적절한 사례 데이터를 하나 만들었다. 위 그림에서 생산 직접 코스트센터의 차변에는 전력비, 가스비, 용수비가 각각 기표되어 있지만, 대변에는 "동력비_MCH"라는 2차 원가요소 하나로만 집계되어 있는 상황이다.

 

 

(2) 액티비티 가격 계산

 

이 상황에서 해당 코스트센터의 액티비티 가격 계산을 해보자. (Acitivity Splitting 작업은 설명 생략)

 

T-CODE: KSII(실제 액티비티 가격 계산)

 

이걸 돌리고 나면

 

상단 메뉴의 이동 > 구성요소를 선택하자

 

기본 결과 화면은 액티비티의 단가만 나오지만, 상단 메뉴에서 이동 > 구성요소를 선택하면, 해당 액티비티의 원가구성요소가 어떻게 연결되는지 나온다.

 

위 그림에서 전력비 500, 가스비 300, 용수/폐수비 400은 총 1,200원이며, 액티비티 수량 0.3H에 대한 금액이므로, 액티비티 가격은 4,000원/H가 된다.

 

T-CODE: KSBT에서도 관련 내용을 볼 수 있다.

 

T-CODE: KSBT(액티비티 가격 조회)에서 원가구성요소 분할을 확인해본 모습

 

이 외에도 전용 레포트도 있다. T-CODE: S_ALR_87013644에서 조회해보면 된다.

 

 

T-CODE: S_ALR_87013644 액티비티별로 코스트 컴포넌트 분할이 어떻게 되는지 보여준다

 

 

(3) 실제가격 재평가

 

다음으로 T-CODE: MFN1을 통해 실제가격 재평가를 해본다. (일반적인 회사에서 결산을 수행할 때는 T-CODE: CON2를 통해 대량으로 처리할 것이지만, 우리 예시에서는 간단하게 이 오더에 대해서만 재평가해본다)

 

T-CODE: MFN1(실제가격으로 재평가)

 

 

수행 결과

 

수행 결과, 실제가격으로 코스트센터 대변과 생산오더 차변으로 차이금액인 5,816이 추가되었다. 이 결과로 코스트센터는 차변/대변이 잔액 0으로 정리되었고, 생산오더는 아직 잔액이 5,892로 남아 있는 상황이 되었다.

 

이제 오더정산까지 해보고 정산금액이 어떻게 코스트 컴포넌트로 넘어가는지 살펴보자. (차이계산 부분은 생략)

 

 

(4) 오더 정산

 

T-CODE: KO88을 수행한다. (이 역시 일반 회사에서 결산을 할 때는 대량 처리 프로그램인 T-CODE: CO88을 쓸 것이다)

 

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

 

 

돌리고 나면

 

 

오더금액과 자재원장의 연결

 

 

위 그림처럼 정산금액 5,892원이 코스트 컴포넌트로 분할되어 제대로된 실제원가를 계산해준다. 그런데 위 그림은 가공비에 대한 2차 원가요소 분할인 경우인 것이고, Primary Cost Componet Split일 때는?

 

 

단수차이가 생긴다.........

 

위 그림처럼 분할은 제대로 된다. 전체 동력비 2,400이 전력비, 가스비, 용수/폐수비로 분할되어 표시된다.

 

그렇지만 단수차이가 생겼는데, 이 문제는 느낌상 현재 테스트 환경의 표준원가 세팅이 문제인 것 같다. (아니면 어쩌지...) 아무튼 그 부분은 다음 달에 다시 테스트를 해보고, A/S로 이 글을 수정하도록 하겠습니다.

 

어쨌든 다소 단수차이는 있으나 보조원가구성요소 분할에서 Primary Cost Component Split이 수행된 결과를 볼 수 있다.

 

 


4. 결론

 

Primary Cost Component Split이 왜 필요한가?

 

생산오더의 Confirmation이나 반복 제조(REM) 환경에서 Back-flush를 수행할 때 들어올 수 있는 액티비티 타입의 갯수는 최대 6개이다. 코스트 컴포넌트는 바로 이 액티비티와 연결되므로, 가공비의 경우 6개 이상 만들 수 없는 문제가 있다. 바로 이럴 때 사용하는 게 Primary Cost Component Split이며 하나의 액티비티에 여러 개의 계정 그룹을 코스트 컴포넌트로 매핑하는 방식으로 처리한다.

 

그런데 꼭 이 방법 밖에 없을까? 위 사례처럼 단수 차이가 발생해서 금액 일치성이 보장되지 않는다면, 대안은 무엇일까?

 

우선 단수차이를 최소화할 수 있는 방안을 더 찾아보고 추가 포스팅하겠다. 혹시 더 나은 사례나 방법을 아시는 분이 있다면 댓글 적어주시면 감사하겠습니다.

 

 


#. 추가(2021.11.03)

 

아직 해결을 못하고 있다. 테스트 환경의 원가구성요소와 표준원가 세팅을 바꿨는데도 여전히 단수차이가 조금은 생긴다.

 

21년 11월에 다시 수행해본 모습. 차이는 줄었으나 여전히 금액이 100% 일치하진 않는다.....

 

 


#. 추가(2021.11.17)

 

새로운 환경을 만들어서 다시 테스트해봤다. 이번에는 실제원가 활성 시 액티비티를 자재원장 레벨에서 업데이트하는 방식으로 했는데... 이 경우에는 별다른 문제 없이 제대로 배부되는 것 같다.

 

T-CODE: CKM3(자재원장 조회) 동력비 액티비티(ACT004)에 전력비, 가스비, 용수/폐수비가 분할된 모습

 

T-CODE: CKM3A(액티비티 소비 분석)

 

이 방식에서는 실제 액티비티 가격에 따른 재평가를 생산오더나 PCC 등 CO 오브젝트가 아닌 자재원장에서 직접 수행한다. 이 때의 실제값 합계는 코스트센터의 금액과 일치하므로 단수 차이 문제가 없다.

 

그런데 이것때문에 실제 액티비티의 재평가 방식을 바꾸긴 좀...

 

고민을 더 하든가 아니면 SAP에 요청을 날려야 할 것 같다.

 

 

 


#. 추가(2022.03.30)

 

관련 Note를 드디어 찾았다.

 

1090144 - Preventing rounding errors in prices

 

https://launchpad.support.sap.com/#/notes/1090144/E

 

launchpad.support.sap.com

 

위 Note에 따르면 T-CODE: KSII를 통한 가격 계산 시 설정에 들어가서 '가격단위'는 10으로, '부적합 단가'는 체크 해제하고 돌려야 한다고 한다.

 

이 부분은 나중에 테스트해서 아예 별도 글을 작성하도록 하겠다.

 

 

 


#. 추가(2022.10.01)

 

현재 프로젝트 중인 사이트에서는 단수 차이 문제가 발생하지 않는다. 버전 문제도 있는 걸로 보인다.

 

또, 만약 액티비티 단가를 T-CODE: KSPI나 KSII 등으로 계산하지 않고 KP26으로 직접 Key-in한 경우라면, 아래와 같은 메시지가 발생한다.

 

메시지 CK694

 

이와 관련하여 『1658589 - Error CK694 in T-code CK11N and CK40N』를 보면 T-CODE: KSPI나 KSII 등을 통해 가격 계산하지 않으면 정상적으로 코스트 컴포넌트 구조가 분할되지 않을 수 있다고 되어 있다.