본문 바로가기

SAP CO/깊숙한 개념

오더 정산에 따른 Cost Component Split

 

"우선 오더 정산(Settlement)이란 무엇일까?"

 

 

내부오더나 코스트센터는 둘다 CO Object이지만 각각은 다르다. 코스트센터는 어느 정도 장기간에 걸친 조직코드이지만, 내부오더는 "일시적"이라는 점이 다르다. 그리고 특정 "작업"이란 목적을 갖고 만드는 점도 다르다.

 

따라서 내부오더의 목적이 되는 특정 작업이 "종료"되었을 때나, 월결산에 따른 기간 "마감"을 해야 할 경우 그동안 쌓인 금액을 정리하는 과정을 거치는데, 이를 정산(Settlement)이라고 한다.

 

배부(Allocation)는 이와 달리 직과(Direct Posting)와 대비되는 개념이다. 특정 CO Object에 금액을 직접 귀속할 수 없을 때 "차선책으로" 선택하는 방법이 배부이다. 기본적으로 특정 CO Object에 최대한 금액을 직과할 수 있으면 직과하는 게 좋지만, 현실적으로 여러 가지 제약이 있으니 배부를 하게 된다.

 

SAP 기술적으로만 보면 어떨까? 정산이나 배부나 큰 차이는 없다. 둘다 결과적으로 특정 CO Object에서 다른 CO Object로 금액을 옮겨주는 점에서는 비슷하다. 그렇지만 아래 그림을 보라.

 

 

 

오더에서 리시버 대상이 될 수 있는 오브젝트들. CO Object만 있는 게 아니다.

 

 

 

위 그림을 보면 알겠지만 엄밀히 말하자면 정산이 CO Object 간 이동만 되는 것도 아니다. CO 외부 마스터로도 정산이 가능하다(위 그림에서 자재, 고정자산, G/L 계정 부분. 이것들은 CO Object가 아니다). 따라서 배부와 정산은 기술적으로든 비즈니스적으로든 엄연히 다르다. 단지 비슷해 보이는 상황이 있을 뿐이다.

 

이 포스팅의 주제는 이게 아니니 더 깊게는 보지 말고 이제 넘어가자.

 

여기서 얘기하고 싶은 건 이거다.

 

 

"자재코드로 정산이 될 때, Cost Componenet로는 어떻게 분할되는가?"

 

 

자재원장의 실제 원가구성요소 분할 기능을 사용하는 회사라면 내부적으로 자재코드로 정산될 때, 정산되는 차이금액에 대해서 Cost Component Split 로직이 적용된다.

 

그런데 어떤 방식으로 분할되는지 도무지 기본 세팅으로는 안 보여서 궁금하다. 

 

 


 

■ 테스트 데이터 검증

 

일단 우리 예시를 그림으로 확인해보자.

 

 

T-CODE: KO03(내부오더 조회) 여기서 정산규칙을 누르면

 

정산규칙을 확인할 수 있다.

 

위 그림에서 정산규칙의 카테고리를 보면 'MAT'로 되어 있는데, 이건 자재코드(재고자산)으로 정산한다는 의미이다.

 

T-CODE: S_ALR_87012993(오더 금액 조회)

 

위 예시에서 오더의 차변에 쌓인 금액은 121,926이고 대변에 쌓인 금액은 116,034로 잔액이 5,892인 상황이다. 이 때 정산을 수행하게 되면 해당 잔액만큼이 정산되어 정산 리시버로 전달된다.

 

정산결과

 

즉 이런 식으로 생산완성정산이란 계정으로 정산되고, 이 때 세 가지 전표가 생성된다.

 

전표 조회를 해본 모습. 하나의 트랜잭션에 세 가지 전표가 생성되었다.

 

이 전표를 각각 살펴보면

 

 

이렇게 세 가지이다. 회계 전표는 총계정원장 전표로 차변/대변이 있는 일반적인 회계전표이다. 관리회계 전표는 원가요소와 CO Object만 표시된다. 자재원장 전표는 자재, 플랜트, 수량, 가격차이 등이 반영된다.

 

우리 자재원장은 실제 원가구성요소 분할이 활성화된 환경이기 때문에, 이 경우 Cost Component Split이 함께 발생한다. 따라서 아래와 같은 그림으로 정리된다.

 

T-CODE: S_ALR_87012993(오더 조회)과 T-CODE: CKM3(자재원장 조회)의 연결고리

 

정산금액 5,892가 Cost Component Split이 되어 재료비 76, 노무비 2,234, 경비_인원연동 194, 경비_생산연동 134, 동력비 134, 감가상각비 834, 간접경비 2,286으로 나눠진 것이다.

 

그럼 이 금액은 어떻게 나눠진 걸까?

 

 

T-CODE: KKS2(차이 계산)과 T-CODE: CKM3(자재원장 조회)의 연결 고리

 

 

T-CODE: KKS2(차이 계산)에서 실마리를 찾을 수 있는데, 차이계산의 "원가요소별" 금액을 연결된 코스트 컴포넌트에 분할시켜주는 방식이다.

 

이와 관련해서는 SAP Note: 611950 - Calculating cost component split of an order settlement에 간략히 설명되어 있다. 

 

차이계산을 굳이 돌리지 않아도 위와 같은 결과가 나온다. 오더 정산을 실행할 때 내부적으로 차이계산과 같은 로직이 처리된다고 보면 된다. 오더 히스토리를 조회해보면 오더의 트랜잭션별로 어떤 식으로 Cost Component Split이 수행되는지 확인해볼 수 있다.

 

T-CODE: CKMLPOH로 들어가보자.

 

 

T-CODE: CKMLPOH(오더 이력 조회)

 

위 화면에서 Cost Component Split이 생성될 라인을 클릭하고 상단 커맨드 필드에 '43'을 입력해보자.

 

 

오더 정산 시 저장되는 테이블 내역

 

오더 정산 시 Cost Component Split 내용은 테이블 MLAUFKEPH에 저장된다.

 

 

오더에 쌓인 금액이 어떤 기술적 테이블로 저장되는지 보여준다. 사실 굳이 몰라도 되는 정보다.

 

 


 

■ 결론

 

결론은 별도 세팅은 없으며 내부적으로 원가구성요소 세팅과 차이계산 시의 로직에 따라 분할된다는 것이다. 너무 별 거 아닌가?

 

 

※ 그런데 세팅이 꼬인 경우 수동으로 분할방식을 바꿔줘야 할 경우가 가끔 생기기도 한다. 이럴 때는 사용하는 별도 프로그램도 있다(MLCCS_KO88_TREATMENT). 다만 이 처리는 임시방편이며, 이 경우 금액이 실제 원가구성요소와는 맞지 않을 수 있으므로 T-CODE: CKMCCC를 통해 수작업으로 조정하기도 한다.