본문 바로가기

SAP CO/기본 개념

Direct vs. Indirect Activity Allocation (2)

 

 

 

Indirect Activity Allocation은 센더나 리시버의 액티비티 정보가 불명확할 때 사용한다.

 

 

Direct Activity Allocation은 액티비티를 수행하는 곳(=센더)과 수행하는 목적물(=리시버)이 명확할 때 사용했다. Indirect는 이와 달리 둘이 불명확할 때 사용한다. 둘 다 불명확할 경우에는 범주 2번을, 그나마 센더라도 알고 있을 때는 범주 3번을 사용한다.

 

 

액티비티 유형 범주 2, 범주 3

 

 


 

1. Indirect Activity Allocation - 범주 3

 

범주 3번일 때는 센더의 액티비티 총량은 알고 있으나 리시버의 총량을 알지 못할 때 사용한다. 예를 들어 특정 공장에 사용한 전기료 총 사용량은 알고 있으나 개별 코스트센터의 전기료 사용량을 나누진 못할 때 쓴다. 이런 경우 센더 코스트센터를 대상으로 전기료 총 사용량을 기표하고, 다른 코스트센터로는 별도 배부기준을 사용해서 전기료 총 사용량을 나눠 갖는다.

 

이래서 3번 이름이 '(센더) 수작업 엔트리, (리시버) 간접 배부'인 것이다.

 

직접 예시를 만들어서 수행해보자. 우리 예시는 SAP HELP의 『Indirect Activity Allocation 문서』에 있는 내용 대로 테스트해보겠다.

 

범주 3 예시

 

우리 예시에서는 '품질검사시간'으로 살펴보자. 센더 코스트센터에서 전체 품질검사에 소요된 시간은 1,000시간이라고 가정한다. 주 40시간씩 25명이 근무한 결산 결과라고 보면 되겠다(40시간 × 25명 = 1,000시간).

 

그런데 공정상으로는 원자재 입고 부문 품질검사와 완성품 품질검사가 나눠져 있고, 각 부문이 코스트센터로 구분되어있다고 해보자. 그런데 원자재와 완성품 품질검사'건수'는 알고 있지만 액티비티인 품질검사'시간'은 알지 못한다면?

 

이럴 때 어쩔 수 없이 총 품질검사시간인 1,000시간을 각각의 품질검사건수로 "간접적으로" 배부해주는 거다.

 

직접 해보자.

 

T-CODE: KP27(계획 액티비티 가격 조회)

 

우선 액티비티 가격부터 확인한다. 액티비티 가격은 월중에 액티비티 수량에 따라 금액을 배부하기 위한 배부율이지, 실제 계약한 단가가 아니다. 다시 한 번 강조하고 넘어간다.

 

 

T-CODE: KB21N(직접 액티비티 배부)

 

시험삼아 Direct Activity Allocation에 이 액티비티를 입력해봤다. 안 된다. 위 메시지에서 말하는 거래 'RKL'이란 Direct Activity Allocation을 뜻하고 이는 범주 1로만 입력 가능하다.

 

그럼 우리는 품질검사부 코스트센터가 일한 총량은 어디에서 입력해야 할까? T-CODE: KB51N이다.

 

T-CODE: KB51N(서비스 입력)

 

위 화면은 리시버 없이 센더만 입력할 수 있다. 리시버별 소요시간 어떠한지 명확하지 않기 때문에 센더만 입력한다.

 

T-CODE: S_ALR_87013625(코스트센터 목표/실제/차이 조회)

 

코스트센터 리포트에서 보면 액티비티 수량만 들어왔지 금액 배부는 이뤄지지 않았다. T-CODE: KB51N은 금액 배부 없이 액티비티 수량만 입력하는 화면이다. 그런데 위 그림에서 보면 목표원가에는 값이 들어왔는데 이건 리포팅 목적으로 보여주는 통계적인 값으로 실제 비용은 아니다. (나중에 차이분석 시에 사용한다)

 

다음으로 리시버에 넘어가보자. 리시버에는 품질검사시간이라는 '액티비티' 대신 품질검사건수라는 'SKF'를 대신 입력한다.

 

T-CODE: S_ALR_87013618(통계주요지표 조회)

 

준비가 다 되었다. Indirect Activity Allocation은 그럼 어디서 수행할까? 실제 거래나 이벤트가 발생할 때마다 입력하던 Direct와 달리 Indirect는 다 된 결과를 갖고서 결산 시점에 나눠주는 일을 하므로 결산 프로세스 중 하나이다. 코스트센터 결산 시 사용하는 여타 배부 프로그램처럼 배부사이클을 통해서 처리한다.

 

T-CODE: KSC3(실제 간접 액티비티 배부 사이클 조회)

 

위 그림에서 배부사이클을 보면 센더에 흔히 보던 원가요소 대신 액티비티 타입을 입력하게 되어 있다. 이대로 배부하면 해당 액티비티 타입으로 배부하게 되며 원가요소는 액티비티 타입 마스터의 2차 원가요소를 자동으로 가져오게 된다.

 

이대로 실행하면 어떻게 될까?

 

 

T-CODE: KSC5(간접 액티비티 배부 실행)

 

배부 실행 후 결과를 조회한 화면

 

이런 결과가 나온다. 액티비티 수량을 우선 SKF인 품질검사건수에 따라 배부하고 배부한 수량에 액티비티 계획 가격을 곱해서 금액을 산출한다.

 

 

 

정리하면 위 그림과 같다.

 

T-CODE: S_ALR_87013625(코스트센터 목표/실제/차이 조회) 센더 대변으로 전기되고 각 리시버 차변으로 전기된다.

 

이렇게 했을 때도 Direct Activity Allocation 때와 마찬가지로 실제 비용과 차이는 항상 생긴다. 우리는 품질검사 시간으로 비용을 배부했지만 실제 비용은 이와 다른 계정으로 기표된다.

 

T-CODE: FB03(전표 조회)

 

실제 비용은 48,000,000이 생겼다고 해보자. 이러면 액티비티 배부액인 2,000,000원만큼의 차이가 생긴다.

 

 

그리고 이 배부 초과액/부족액이 실제 가격으로 재평가되어 리시버로 추가 배부되는 것은 Direct Activity Allocation에서 살펴봤던 것과 같다. 이번에는 생략하고, 아래 범주 2를 설명할 때 보겠다.

 

 


 

2. Indirect Activity Allocation - 범주 2

 

범주 2번일 때는 센더나 리시버의 액티비티 수량을 둘다 모를 경우 사용한다. 결국 액티비티 총 수량 자체를 간접적으로 결정할 수 밖에 없는데 이래서 2번 이름이 '(센더) 간접 결정, (리시버) 간접 배부'인 것이다.

 

 

 

이번에는 아까와 달리 리시버 뿐만 아니라 센더 코스트센터의 액티비티 수행 시간도 모를 때이다. 우리가 알고 있는 정보는 품질검사건수 뿐이므로 이 품질검사건수를 품질검사시간으로 변환할 방법을 방법을 찾아야 한다.

 

여러 연구 끝에 품질검사건당 수행시간이 0.4시간 정도 걸린다고 해보자. 그렇다면 이 0.4라는 가중치를 갖고서 수행시간을 역산하면 된다.

 

 

 

결론부터 말하면 이런 식으로 계산된다. 시스템을 통해 직접 확인해보자.

 

T-CODE: KSC3(실제 간접 액티비티 배부 사이클 조회)

 

배부사이클에서는 센더값을 '역으로 계산된 수량'으로 선택하고, 리시버 가중치에 0.4를 입력한다. 이 화면에서 소수점 이하를 입력하기 위해서는 상단의 계수에 소수점 자릿수를 넣고 입력해야 한다.

 

T-CODE: KSC5(실제 간접 액티비티 배부 실행)

 

 

결과는 이렇다. 센더값은 역으로 계산되어 총 4,000시간이 되었다. 이렇게 된 이유는 리시버의 배부적수인 품질검사건수에 가중치 0.4를 곱하여 산출했기 때문이다.

 

(리시버 1) 슬러싱 라인 코스트센터: 4,000개 × 0.4(가중치) = 1,600 시간

(리시버 2) 고체화 라인 코스트센터: 6,000개 × 0.4(가중치) = 2,400 시간

 

이런 식으로 계산된다. 그리고 액티비티 가격은 센더 코스트센터의 액티비티 가격인 시간당 50,000원을 그대로 쓴다. 4,000시간 × 50,000원 = 2억원이 된다.

 

T-CODE: S_ALR_87013611(코스트센터 실제/계획/차이 조회)

 

위 그림처럼 센더 코스트센터의 대변에 2억원이 기록된다. 그렇다면 이게 실제 금액인가? 그렇지는 않다. 실제 발생한 비용은 코스트센터 차변으로 기록된다. 따라서 이 경우에도 실제 금액으로 재평가가 필요해진다.

 

우리 예시에서 실제 지급액은 48,000,000원이라 가정하고 이어서 실제 액티비티 가격 계산과 재평가도 해보자.

 

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

 

지난 글에서 설명했던 것처럼 리시버가 코스트센터인 Activity Allocation의 재평가는 가격 계산과 동시에 이뤄진다.

 

가격계산 결과

 

가격계산 결과 시간당 12,000원으로 계산되었다. 이는 전체 발생한 금액 ÷ 액티비티 수량으로 계산된 것이다. 48,000,000원 ÷ 4,000시간 = 시간당 12,000원이다.

 

그리고 실제 가격으로 재평가된 결과를 보면

 

T-CODE: KSB1(코스트센터 개별항목 조회)

 

각 리시버에 차이금액이 뿌려진다.

 

80,000,000원 - 19,200,000원(1,600시간 × 시간당 12,000원) = 60,800,000원

120,000,000원 - 28,800,000원(2,400시간 × 시간당 12,000원) = 91,200,000원 

 

각 리시버에 뿌려질 차이금액은 이런 식으로 계산된다.

 

 


 

3. Assessment와 Indirect Activity Allocation, 무엇이 더 나을까?

Assessment에 대해서는 따로 설명하지 않았지만 여기서 잠깐 둘을 비교해보고자 한다. 이 둘은 비즈니스 용도가 다른 게 맞긴 하다. 그래서 동일 선상에서 비교하는 게 이상하게 보이기도 한다.

 

나중에 배부사이클에 대해 다룰 때 더 자세히 보겠지만, Assessment는 특정 배부기준에 따라 센더 차변에 쌓인 금액을 배부용 계정인 2차 원가요소로 배부하는 작업이다.

 

비록 처리 방식은 다르지만 마지막 단계의 "결과만 놓고 보면" Assessment를 했을 때와 Indirect Activity Allocation했을 때가 같다.

 

이번 예시를 보면, 품질검사시간에 따라 배부하기 위해 계획 액티비티 가격을 설정하고 리시버의 배부적수에 따라 센더 액티비티 수량을 간접적으로 결정하고 실제가격을 계산한 다음, 재평가까지 수행했다. 그런데 결과만 놓고 봤을 때는 결국 리시버의 배부적수인 품질검사건수로 배부한 결과와 같은 것이다.

 

그럼 왜 Indirect Activity Allocation을 쓰는가? 생각해봤는데 아래 정도 케이스가 있을 것 같다.

 

1. 차이분석 목적 

2. 변동비와 고정비 구분 목적

 

1번은 계획과 실제를 비교하여 차이분석을 수행하고 성과평가 및 통제에 활용하기 위함이다. 단순히 계획과 실제의 총액 비교만이 아니라 금액의 동인을 Q와 P로 분해함으로써, 수량차이와 가격차이로 분리해내고 어떤 부분에 비효율이나 개선점이 있는지 분석할 수 있게 된다.

 

2번은 SAP의 액티비티 타입을 사용하면 가격을 변동비와 고정비로 구분할 수 있는데, 이를 이용해 동일한 계정의 금액이라도 변동비와 고정비를 구분해 공헌이익 분석 등에 활용하기 위해서이다.

 

그럼 Indirect Acitivity Allocation을 유의미하게 수행하기 위하여 추가되는 업무 프로세스는 무엇인가?

 

0. 액티비티 타입, 2차 원가요소, 분할구조 등 마스터 관리

1. 계획 액티비티 가격 사전 설정

2. 간접 액티비티 배부 후 실제 가격 계산, 실제 가격 재평가를 추가로 수행

3. 실제 가격 재평가 후 남는 단수 차이에 대한 보정 필요

 

이렇게가 필요하다. 0번이야 한 번 정해놓으면 웬만해서는 변하지 않는 마스터일 테지만, 1번부터는 상시적으로 작업이 필요하다.

 

계획 가격의 경우 미리 설정하지 않으면 금액이 0인 전표가 생성되어 쓰레기 데이터를 양산하게 된다(Direct Acitivity Allocation과 달리 Indirect에서는 계획 가격이 0이어도 Block되지 않고 전표가 생성된다).

 

실제 가격 재평가를 하는 경우 우리 예시에서는 단수 차이 없이 딱 떨어졌지만, 리시버 수가 증가하고 액티비티 가격 단위가 온전히 커버하기 어려운 경우 단수 차이가 발생한다. 이렇게 남는 단수 차이를 별도로 배부하기 위한 CBO 프로그램을 추가 개발하고 업무적으로 추가 실행해야 하는 부담이 생긴다. (단수 차이는 쿨하게 당기 비용으로 남기는 방법도 있긴... 하다. 실제로 그렇게 하는 회사도 있고)

 

따라서 Indirect Activity Allocation을 쓰고자 한다면 그 목적에 부합하는지, 그리고 투입되는 업무 자원만큼의 효용이 있는지를 사전에 충분히 따져보고 정하는 게 바람직하다고 본다. 1년 이상 썼는데도 별다른 비즈니스 효익을 뽑아내지 못했다면 과감하게 폐지하고 Assessent로 바꾸는 것도 좋겠다.

 

SAP Press에서 발간된 『Controlling with SAP S/4HANA Business User Guide』라는 책에 따르면 2021년 11월 현재, SAP S/4HANA Cloud에서는 Direct Activity Allocation(범주 1)만 지원하고 Indirect Activity Allocation은 없다고 한다. SAP는 무슨 생각일까? 그저 Cloud 버전에 아직 기능 개발이 덜 된 걸까? 아니면 아예 없앨 생각인 걸까?

 

 

 


 

4. 결론

Direct Activity Allocation은 센더와 리시버, 소비한 액티비티가 모두 명확할 때 사용한다. 특정 거래가 이벤트가 발생할 때마다 기표하는 방식이다(Event-based Posting). 생산확정, 액티비티 백플러시를 통해서도 수행한다.

 

Indirect Activity Allocation은 센더와 리시버가 불명확할 때 사용한다. 특정 거래나 이벤트 단위가 아닌, 월 결산 시에 모아서 한 번에 처리하는 방식이다(Period-end Closing). 결과만 놓고 보면 Assessment를 통한 배부 방식과 유사하다.