본문 바로가기

SAP CO/깊숙한 개념

S/4HANA 1909의 신기능 코스트센터 사전예산통제

 

 

S/4HANA 1909의 신기능인 코스트센터 사전예산통제, 과연 쓸만할까?

 

 

 

 

 

 

S/4HANA 1909부터 코스트센터별 사전예산통제 기능이 추가됐다고 한다. "그럼 예전엔 없었단 말이야?"라고 생각하실 분도 있을 것 같은데 놀랍게도 그랬다. 

 

사전예산통제 기능이란 게 뭐냐면 특정 부서나 프로젝트 단위로 예산을 편성하고, 실제 비용 지출 시 편성받은 예산의 한도를 초과하는지 여부를 체크하는 걸 말한다. 시스템적으로 보면 비용 지출 시마다 시스템에서 자동으로 한도를 초과하는 부분을 체크하고 전표 생성을 막는 기능이다.

 

그런데 이 기능이 CO-CCA(코스트센터 회계)에는 없었다. CO에서는 오더와 프로젝트(CO-OPA)에 대해서만 예산 가용성 통제 기능이 있었고 코스트센터에는 없었다.

 

그래서 코스트센터별로 예산통제를 구현하려면 다른 방법을 사용해야 했다. 그게 SAP의 가이드로는 "코스트센터와 1:1 관계인 오더를 만들어서 활용하라..."였지만 적어도 한국에서는 그렇게 구현하는 건 못 봤다. 대신 별도 방식으로 구현했는데 아래와 같은 식이었다.

 

 

예산통제 구현 방식
① 예산은 CO-CCA의 계획 기능을 활용하고 통제는 Validation 기능을 활용
② FM 모듈의 펀드센터, 약정항목을 활용

 

 

위와 같은 두 가지 방식이 대표적인 것 같다. 아예 예산원장 자체를 CBO로 만드는 경우도 경우도 있는데 개인적으로 그 방식은 너무도 비효율적이고 누락 오류 위험도 크기 때문에 리스트에 포함시키고 싶지도 않다.

 

아무튼 그러다가 S/4HANA 1909에 와서는 코스트센터 단위로 예산통제가 되도록 기능 추가가 되었다고 한다. 이 부분이 정말 쓸만한 기능인지 테스트해본 내용을 정리해본다.

 

 


1. IMG 세팅

 

(1) 글로벌 회계 계층구조 생성 

 

세팅을 위해서 우선 글로벌 회계 계층구조(Global Accounting Hierarchy)라는 것부터 만들어줘야 한다. 그런데 이게 Fiori에만 있는 기능이라는 게 벌써부터 골 때린다. SAP에서 S/4HANA를 출시하면서 이런 식으로 신규 기능은 Fiori에서만 되도록 만들어 놓은 게 많은데 이것도 그중 하나다.

 

아무튼 Fiori로 접속해서 "글로벌 회계 계층구조 관리"라는 앱을 실행해보자.

 

글로벌 회계 계층구조 관리 앱 실행

 

신규 회계 계층구조 생성

 

"글로벌 회계 계층구조 관리" 앱은 기존의 코스트센터그룹(KSH1), 손익센터그룹(KCH1), G/L계정그룹(KDH1), 원가요소그룹(KAH1) 등의 여러 프로그램을 하나로 합친 앱이다. 통합된 건 좋은데 과거의 T-CODE에서 만든 그룹과는 호환이 안 되는 것 같다.

 

표준 계층구조 관리에서 '유형'을 "G/L 계정 계층구조"로 선택하고 '생성' 버튼을 누르면 계층구조 헤더가 생성된다.

 

계층구조가 드래프트로 생성

 

계층구조가 드래프트로 생성되었다. 세부 노드를 입력하기 위해 해당 라인을 클릭한다.

 

예시에서는 간단하게 경비, 동력비, 기타로만 입력했다.

 

'빠른 입력'을 선택하고 하위 노드를 입력한다.

 

계정그룹 내 계정입력

 

그리고 각 노드 하위에 G/L 계정을 지정해서 입력한다.

 

모두 입력해서 완성한 모습

 

우리 예시에서는 1000(경비), 2000(동력비), 3000(기타)의 세 가지로 간단하게 만들어봤다. 이렇게 되면 그룹별로 하위 계정에 있는 것들은 동일한 예산통제단위로 작동한다.

 

예를 들어 1000(경비)의 경우 여비교통비와 복리후생비는 하나의 예산단위로 관리된단 뜻이다. 그런 경우 만약 여비교통비 금액을 먼저 소모한 경우 복리후생비는 사용할 수 없는 식이 된다.

 

즉 이런 식으로 계정그룹은 G/L계정과 1:1이거나 1:N으로 설정할 수 있다.

 

 

 

(2) 가용성 관리 프로파일 생성

 

다음은 예산처리방식을 총합적으로 지정하는 '가용성 관리 프로파일'이란 걸 만들 차례다. '가용성 관리 프로파일'은 생성 후 코스트센터 마스터에 지정하는 식으로 작동한다.

 

이제 SAP GUI로 돌아와서 T-CODE: SPRO를 실행하여 IMG 세팅 화면으로 가자.

 

IMG: 관리회계 > 코스트 센터 회계 > 예산 관리 > 코스트 센터의 예산 가용성 관리 프로파일 유지보수

 

프로파일 헤더 입력

 

예산 가용성 관리 프로파일에서 신규 프로파일을 입력한다. '가용성 관리 유형'은 "코스트센터", '시간 범위'는 "연간 예산"을 선택한다. 굉장히 중요한 점인데 현재 버전에서 '시간 범위'는 "연간 예산"밖에 선택이 안 된다. 월단위나 분기단위의 예산통제 기능이 없단 뜻이다. 개인적으로는 이게 안 돼서 현재로서는 못 써먹을 기능이라고 생각하고 있다.

 

 

계정그룹 입력

 

 

아래 '계정 그룹' 폴더에 들어가서 아까 생성한 글로벌 회계 계층구조를 입력하고, 예산통제에 사용할 그룹을 입력한다. 여기서 설정한 '계정 그룹'이 예산통제의 단위가 된다.

 

허용한도 입력

 

이어서 계정그룹별 '허용 한도'를 설정한다. 예산을 사용하는 액티비티별로 총예산의 몇 퍼센트까지 사용했을 때 메시지를 발생시킬지 세팅하는 화면이다.

 

액티비티는 예산을 소모하는 유형을 정리한 것인데, 다음과 같은 분류가 있다.

 

액티비티 그룹 비즈니스 트랜잭션 설명
01 구매요청 RMBA(구매요청) 구매요청 시 약정항목으로 예산 체크. 
02 구매오더 RMBE(구매오더), RMBV(구매오더 약정항목), RMHA(구매오더 약정 감소) 구매오더 시 약정항목으로 예산 체크. 입고나 송장 처리 시 금액 차이가 발생하면 차이분에 대해서 추가 예산 체크
03 HR 급여계산 HRP1(HR 급여계산) SAP HR에서 계산한 급여 데이터 예산 체크
04 컨커 출장비 RFT1(출장비) 컨커에서 발생한 출장비 예산 체크
05 CO 정기 액티비티 RKIL(실제 액티비티 배부), RKLN(실제가격재평가), RKIB(실제 기간 재전기), RKIU(Assessment), RIKV(Distribution), ACAA(Universal Assessment), ACAD(Universal Distribution) CO 결산을 위해 배부사이클 수행 시 예산체크. 하지만 대부분의 경우 예산체크를 걸지 않음
06 CO 액티비티 배부 RKL(실제 액티비티 배부) 실제 액티비티 배부 시 예산 체크. 역시 대부분의 경우 예산체크를 걸지 않음
07 ACE 발생(Accruals) 전기 KZPR(실제 간접비), RKU1(비용 재전기), RKU2(수익 재전기), RKU3(CO개별항목 재전기), KAMV(수동 비용 배부), RMRU(오더 확정), RMVR(트랜잭션 확정) CO 내부 전기 시 예산체크
50 마스터 데이터 변경 없음 코스트센터, WBS요소 등 마스터 변경 시 예산 일관성 체크(변경된 예산 데이터 대비 실적이 초과하는지 여부)
51 예산 변경 없음 예산 데이터 변경 시 일관성 체크(변경된 예산 데이터 대비 실적이 초과하는지 여부)

 

액티비티를 CO 비즈니스 트랜잭션의 묶음이라 봐도 좋다. CO 비즈니스 트랜잭션에 따라서 어떤 것은 예산통제를 하고 어떤 것은 비통제를 하고 싶을 때 사용한다. 예를 들어서 결산과 관련한 트랜잭션인 'RKLN(실제 가격 재평가)' 같은 것들은 예산통제에서 제외하거나 하면 될 것 같다.

 

그렇지만 우리 예시에서는 그냥 전체(++)를 선택하자.

 

그리고 예산 소모 %에 따라 어떨 때는 경고 메시지인지, 어떨 때는 오류 메시지인지 지정한다. 경고 메시지일 때는 메시지만 나오고 계속해서 실행할 수 있고, 오류 메시지는 더 이상 처리할 수 없이 Block 되는 방식이다.

 

우리 예시에서는 80% 초과 시에는 경고 메시지, 100% 초과 시에는 오류 메시지로 세팅했다.

 

 

 

(3) 계획범주 생성

 

IMG: 관리회계 > 코스트센터 회계 > 코스트센터에 대한 예산 가용성 관리 > 계획범주 유지보수

 

다음으로 계획범주를 생성한다. 계획범주는 마치 계획버전처럼 계획 데이터의 Key값으로 작동하는 구분자다. S/4HANA의 계획 데이터는 이 계획범주에 따라 성격을 구분하여 입력한다.

 

계획 범주 세팅

 

'범주 용도' 항목에는 "코스트 센터 예산"을 선택한다. 이 외에도 공공부문예산(FM), 프로젝트예산(PS)도 선택할 수 있다.

 

'어플리케이션 유형'은 "정기 계획 및 연결"을 선택한다. 나머지 입력/삭제 옵션은 일단 다 되도록 체크한다.

 

이어서 범주에 대해서 예산체크 기능의 활성화 여부를 체크한다.

 

 

IMG: 관리회계 > 코스트센터 회계 > 코스트센터에 대한 예산 가용성 관리 > 범주에 대한 예산 점검 정의

 

'가용성 관리'와 '예산 일관성 점검' 부분에 체크한다. '가용성 관리'에 체크하면 예산 통제 기능이 활성화되고, '일관성 점검'에 체크하면 계획 데이터 변경 시 실제 금액보다 더 적지는 않은지 체크해준다.

 

 

 

(4) 예측원장 정의

 

IMG: 관리회계 > 코스트센터 회계 > 코스트센터에 대한 예산 가용성 관리 > 예측원장 점검

 

이어서 관리회계용 확장원장에도 '가용성 관리 관련'을 체크한다. 이렇게 하면 실제 회계전표가 생성되는 주요 원장뿐만 아니라 구매오더나 구매요청 등 아직 회계전표가 생성되지 않은 항목에 대해서도 예산통제가 가능해진다. 해당 항목이 입력되는 곳이 관리회계용 확장원장이기 때문이다.

 

참고로 S/4HANA에서 회계원장에 대한 세팅은 다음 화면에서 수행한다.

 

T-CODE: FINSC_LEDGER(통합 분개 원장 유지보수)

 

여기서 확장원장유형으로 S(시뮬레이션), P(예측)를 선택할 수 있는데 우리는 P로 선택한 원장을 예산원장으로 지정한다.

 

 


 

2. 마스터 데이터 세팅 및 예산 입력

 

(1) 코스트센터에 가용성 프로파일 연결

 

코스트센터 마스터에 들어가서 앞서 생성한 가용성 프로파일과 연결한다. 그런데 이 작업을 하려면 기존 방식처럼 SAP GUI에서 T-CODE: KS02로 들어가서는 할 수 없다. 신규 피오리 앱을 통해서만 해당 내용을 세팅할 수 있다.

 

코스트 센터 관리 앱 실행

 

코스트센터 관리 피오리 앱의 '예산 가용성 관리' 부분

 

피오리 앱에서 중간에 보면 '예산 가용성 관리'라는 항목이 있다. 여기서 예산 포함 코스트센터, 예산 가용성 프로파일, 예산 가용성 관리의 활성화 여부를 입력한다.

 

'예산 포함 코스트센터'에는 예산 통제를 위한 코스트센터 단위를 입력한다. 만약 여러 코스트센터를 하나의 예산통제단위로 묶어서(1:N) 관리하고 싶다면 대표하고 싶은 하나의 코스트센터로 똑같이 입력해주면 된다. 그렇지 않고 하나의 코스트센터는 하나의 예산통제단위로(1:1) 관리하고 싶다면 자기 코스트센터와 똑같은 코드로 입력하면 된다.

 

만약 대표하는 다른 코스트센터로 예산 포함 코스트센터를 설정한 경우에는 해당 예산 코스트센터의 가용성 관리 세팅을 그대로 따른다. 따라서 그 경우에는 하위 코스트센터는 예산 가용성 관리 프로파일을 입력할 필요가 없다.

 

'예산 가용성 관리 프로파일'에는 우리가 앞서 IMG로 설정했던 예산 가용성 프로파일 코드를 입력한다. 이런 식으로 코스트센터별로 각각 다른 예산통제규칙을 정할 수도 있다.

 

'예산 가용성 관리 활성화'에 체크하면 해당 코스트센터가 예산통제를 적용받을지 말지 여부를 지정할 수 있다.

 

TABLE: CSKS(코스트센터 마스터)의 예산관리 관련 신규 필드

 

참고로 이 항목들은 코스트센터 마스터 테이블 CSKS에서도 확인할 수 있다. 이것들은 기존 ECC 버전과 다르게 S/4HANA에서 새로 생긴 필드이다. 최신 필드답게 독일어가 아니라 영어로 필드명이 지정되어 있다.

 

 

 

(2) 예산 데이터 업로드

 

이어서 예산 데이터를 업로드한다. 이것도 피오리에서 새로 추가된 기능을 사용해야 하는데 아래 앱으로 들어간다.

 

재무 계획 데이터 임포트 앱 실행

 

코스트센터 예산 편성 템플릿 다운

 

'재무 계획 데이터 임포트' 앱에서 '템플릿 다운로드'를 선택하고, '코스트센터 예산 편성' 템플릿을 다운로드한다.

 

엑셀 템플릿에 데이터 입력

 

엑셀 템플릿을 보면 3행에 'X' 표시가 되어 있는데 필수 컬럼이란 뜻이다. 계획범주와 회계연도, 기간, 회사코드, 코스트센터, 계정, 금액 등을 입력한다. 우리 예시에서는 11월과 12월로 나눠서 입력해봤다. 하지만 어차피 현재는 월별 통제가 안 되기 때문에 11월과 12월 예산의 합산 값으로 통제가 이뤄질 것이다.

 

이제 저장한 파일을 업로드해야 하는데 하단의 '소스 파일 업로드'를 선택하고 해당 파일을 선택해서 실행한다.

 

파일을 업로드하고 임포트 실행

 

임포트 실행 결과

 

'계획 데이터가 전기되었습니다'라고 나오면 저장이 완료된 것이다. 아래에 보면 경고 메시지도 함께 나오는데 이건 뭘 의미하는지 잘 모르겠다. 누가 알려주시면 감사하겠습니다.

 

해당 데이터는 신규 계획 테이블인 ACDOCP에 저장된다. 과거 CCA 계획이 테이블 COEP, COSP에 들어오던 것과 다르다.

 

테이블 ACDOCP(계획 데이터 개별항목)에 저장된 모습

 

계획 데이터 입력을 과거 방식으로 입력 후 전환하는 방법도 있긴 하다.

 

CO 테이블에서 ACDOCP로 전송, 또는 그 반대로도 가능하다.

 

위 프로그램은 별도의 T-CODE는 없고 프로그램으로 실행해야 한다.

 

프로그램 R_FINS_PLAN_TRANS_CO_ERP_2_S4H(CO 테이블에서 ACDOCP로 전송)

 

이 프로그램을 실행하면 T-CODE: KP06 등으로 입력한 계획 테이블 COSP, COSS의 내용을 신규 테이블인 ACDOCP로 마이그레이션시켜준다.

 

 


 

3. 예산통제

 

이제 실제 전표를 입력하면서 예산통제가 어떤 식으로 처리되는지 눈으로 확인해보자. 이것도 피오리앱을 통해 확인할 수밖에 없는데 '코스트센터 예산 리포트'라는 앱을 실행해서 보자.

 

코스트 센터 예산 리포트 실행

 

코스트센터 예산 리포트

 

현재 리포트를 보면 예산 금액이 백만 원씩 들어가 있고 실제 비용전표는 처리되지 않은 상태이다.

 

 

 

(1) 예산 범위 내의 전표 처리

 

먼저 예산 범위 내에 들어오는 경우다.

 

T-CODE: FB50(G/L 계정 전표 입력)

 

전체 예산이 4백만 원이므로 3백만 원만 입력해봤다. 별문제 없이 전표 처리된다. 이후 '코스트센터 예산 리포트'를 확인해보면

 

전체 예산 400만원, 실적 300만원, 잔액 100만원

 

이런 식으로 표시된다. '복리후생비'라는 계정만 놓고 봤을 때는 예산을 초과했지만, 예산통제단위는 복리후생비와 여비교통비를 합친 '경비' 단위이므로 총예산인 4백만 원 내에 있다.

 

 

 

(2) 예산 경고 메시지 범위 내의 전표 처리

 

이어서 경고 메시지 범위 내의 전표를 처리해보자. 우리는 총예산의 80% 수준에 도달했을 때 예산 경고 메시지가 발생하도록 세팅해놨다. 현재 '경비' 예산 400만 원의 80%는 320만 원이므로, 이를 초과하는 금액으로 입력해보자.

 

T-CODE: FB50(G/L 계정 전표 입력)

 

현재 누적금액이 300만 원이므로 40만 원을 추가로 입력하면 총예산의 80%를 초과하는 340만 원이 된다. 이대로 저장해 보면

 

80% 초과 경고메시지

 

이러면 위와 같은 메시지가 나타난다. 그래도 경고 메시지이므로 계속 수행할 수 있다. 이대로 전표처리를 마치고 나면 예산 리포트에서는 아래와 같이 보인다.

 

전체 예산 400만원, 실적 340만원, 잔액 60만원

 

 

 

(3) 예산 오류 메시지 범위의 전표 처리

 

이번에는 예산을 초과해서 전표 처리를 해보자. 예산 잔액이 60만 원이므로 이를 초과하는 전표를 입력해본다.

 

T-CODE: FB50(G/L 계정 전표 입력)

 

위와 같이 80만 원을 입력하고 처리하면

 

100% 초과 오류메시지

 

그러면 아까 경고일 때와 동일한 형태의 메시지가 나타난다. 다만 이 때는 오류 메시지이므로 더 이상 처리할 수 없고 Block 처리된다.

 

 

 

(4) 예산 포함 코스트센터로 처리했을 경우

 

이번에는 코스트센터 인사팀(C100002)의 하위 파트를 코스트센터로 지정해서 예산통제를 수행해보자. 예산관리 피오리앱에서 아래처럼 '예산 포함 코스트센터'를 "인사팀"으로 지정한다.

 

피오리앱 코스트센터 관리

 

인사팀 - 총무파트 코스트센터 C100013의 예산 포함 코스트센터를 인사팀 C10002로 지정했다. 이런 상태에서 총무파트로 전표 처리를 해보자.

 

T-CODE: FB50(G/L 계정 전표 입력)

 

총무파트 코스트센터 C100013으로 처리하면서 금액은 예산을 초과하게끔 입력하고 저장해보자.

 

 

코스트센터 C100013으로 처리했지만, 예산통제는 C100002에서 이뤄진다.

 

역시 오류 메시지가 나오며 블락된다.

 

 


 

4. 결론

 

충분히 쓸만한 기능일까? 간편한 세팅으로 쉽게 예산통제 기능을 구현할 수 있는 점은 분명 장점인 것 같다. 하지만 몇 가지 장벽이 보인다.

 

① 예산의 월별이나 분기별 통제가 안 된다. 오로지 연도별 통제만 가능

② 예산 이월, 전용, 증액, 감액 등에 대한 별도 프로그램 지원이 없는 것 같다. (확실하진 않음)

③ 피오리 사용이 강제된다.

 

우선 현재로서는 1번이 가장 심각하다. 한국 회사 현실에서는 대부분 월단위 예산수립과 통제를 하는 경우가 많은데 이게 안 되는 게 너무도 뼈아프다. 이것때문에라도 못 쓸 것 같다. 나중에 업데이트되면 모를까.

 

2번은 내가 잘 모르는 걸 수도 있다. SAP의 신규 계획 기능에 포함되어 있는 걸 수도 있는데 눈으로 보지 못해서 잘 모르겠다. SAP BPC나 SAC를 통해서 하는 것 같긴 한데 개인적으로 볼 수 있는 기회가 없었다.

 

3번도 좀 문제인데 이런 식으로 S/4HANA의 신기능들이 Fiori only로만 업데이트되는 사례가 늘고 있다. 문제는 현재 프로젝트 여건상 피오리까지 구현하기가 쉽지 않다는 점에 있다. 앞으로 미래에 피오리 구현에 어려움이 없게 되면 모를까, 현재로서는 쉽게 구현할 수 있다고 말하기 꺼려지는 부분이다.

 

그리고 기본적인 기능만 테스트해봤고 구매요청 등 약정항목에 대한 부분이 잘되는지, 그리고 결산까지 운영에 문제없는지는 아직 검증이 안 됐다. 누군가 선발대가 있어 도와주시길 기다린다.