본문 바로가기

SAP CO/깊숙한 개념

Delivery Cost를 Cost Component에 넣기

 

 

운임, 관세, 보험료 등 물류비용을 Cost Component에 포함할 수 있을까?

 

 

 

가능할까? 어떻게들 생각하시는지?

 

코스트 컴포넌트라면 제조원가에 투입된 원가요소들로만 구성되는 게 아닌가? 그럼 원자재 등에 대한 물류 비용은 이미 자재의 취득원가에 포함되어 있기 때문에 분류할 수 없는 거 아닌가?

 

 

 

 

아마 이런 형태로 이해했다면 물류비용을 별도 코스트 컴포넌트로 빼는 게 어렵다고 생각하실 것 같다. 재료비라는 원가요소 하나에서 일부는 물류비, 일부는 재료비로 발라내는 게 가능해 보이지 않기 때문이다.

 

원자재 취득 시 계정 레벨에서 물류비와 자재가격을 분리한다고 하더라도, 물류비는 원자재의 "취득원가"이므로 원자재 재고 계정에서는 둘이 섞여 들어간다. 따라서 출고시점에 계정만 봤을 땐 얼마만큼이 물류비이고, 얼마만큼이 자재 본체가격인지를 분리해내긴 어렵다.

 

 

T-CODE: OKTZ(원가구성요소 구조 세팅 화면)

 

그렇지만 코스트 컴포넌트의 원천은 원가요소(계정)만 있는 게 아니다. 계정이 아니라면 다른 방법으로 분리할 수 있는데 이럴 때 쓰는 게 바로 위 그림에서도 보이는 "오리진 그룹"이다.

 

"오리진 그룹"과 MM의 "조건 유형"을 연결하여 물류비를 별도 Cost Component로 분류하는 방법을 지금부터 알아보자.

 

 


1. IMG 세팅

CO와 MM 세팅이 모두 필요하다. 각각을 세팅한 후, 둘을 이어주는 별도 세팅이 또 있다. 하나씩 살펴보자.

 

 

(1) 오리진 그룹 생성, 코스트 컴포넌트와 연결 - CO 세팅

 

우선 물류비로 사용할 오리진 그룹을 생성한다.

 

T-CODE: OKZ1(오리진 그룹 설정)

 

오리진 그룹은 이렇게 간단하게 명칭과 코드만 지정해주면 된다. 오리진 그룹은 이외에도 몇 가지 다른 용도로도 쓰이는데 일단 여기서는 물류비만 알고 넘어가자.

 

그리고 신규 코스트 컴포넌트로 "물류비"를 생성한다.

 

T-CODE: OKTZ(원가구성요소 구조 세팅 화면) 여기서 물류비 코스트 컴포넌트를 우선 만든다.

 

T-CODE: OKTZ(원가구성요소 구조 세팅 화면) 여기서 오리진그룹 FR과 물류비 원가구성요소를 연결한다.

 

원가구성요소의 "오리진 그룹"에 방금 만든 오리진 그룹을 연결한다. 오리진그룹과 더불어 원가요소 범위도 연결했는데  여기서는 '재료비'에 해당하는 원가요소를 넣었다.

 

 

(2) 조건유형 생성, 계산스키마에 연결 - MM 세팅

 

MM에서 사용하는 조건유형을 세팅해야 한다.

 

조건유형이란 무엇인가? 다양한 방식으로 구매 가격 결정을 지원하기 위한 마스터이다. 예를 들어 물대, 할인, 물류비, 관세, 기타부가금 같은 항목들을 나누어 관리할 수 있다. 이런 조건유형들을 활용해 구매오더의 가격을 산출하게 된다.

 

T-CODE: M/06으로 들어간다.

 

T-CODE: M/06(조건유형 세팅)

 

우리는 여기서 운임에 해당하는 'FRB1', 'FRB2'를 사용한다. SAP에서 기본으로 세팅해둔 조건유형이다. 여기서 접근순서 등 추가 세팅도 필요한데 우리는 MM 컨설턴트가 아니니까 이 글에서는 이 정도만 알고 넘어가자.

 

이어서 이 조건유형을 계산스키마에 연결하는 게 필요하다. T-CODE: M/08로 들어간다.

 

T-CODE: M/08(계산식 스키마 설정)

 

계산스키마 RM0002에는 FRB1, FRB2가 모두 있다. "통계"에 체크하고 각각에 이어줄 계정키를 입력하고 저장한다. 위 그림을 보면 계정키 FRE, FR1, FR2와 연결이 되어 있는데 이와 관련한 세팅을 위해 T-CODE: OBYC로 간다.

 

 

T-CODE: OBYC(자동계정지정) 거래키 FRE에 대한 회계계정지정. 통계성 계정이므로 원가요소로 생성해선 안 된다.

 

T-CODE: OBYC(자동계정지정) 거래키 FR1에 대한 회계계정지정. 통계성 계정이므로 원가요소로 생성해선 안 된다.

 

T-CODE: OBYC(자동계정지정) 거래키 FR2에 대한 회계계정지정. 통계성 계정이므로 원가요소로 생성해선 안 된다.

 

각각의 계정키는 T-CODE: OBYC에서 해당하는 회계 계정을 지정해둔다. 여기까지 했으면 조건유형과 계산식 스키마에 대한 세팅은 끝났다. 이제 이걸 우리 조직과 연결해야 한다.

 

 

T-CODE: OMFO(구매에서 가격결정스키마 결정)

 

이후 계산스키마를 구매조직스키마, 공급자스키마와 연결한다. 구매조직스키마는 구매조직과, 공급자스키마는 거래처(BP)와 연결해주는 키값이라는 것만 알고 넘어가자.

 

T-CODE: OMFP(구매조직에 스키마그룹 지정)

 

구매조직스키마를 구매조직에 연결한다.

 

T-CODE: OMFR(구매조직에 계산스키마 지정)

 

우리 예시에서는 아예 계산식 스키마를 구매조직에 바로 연결도 해보자.

 

 

(3) 조건유형과 오리진그룹 연결

 

이제 MM과 CO가 만날 때가 되었다. MM의 조건유형과 CO의 오리진그룹을 연결한다. 이 화면은 T-CODE: OKYO를 입력하거나, CO의 평가변형 세팅 시 하단의 '납품비용' 버튼을 눌러서 이동한다.

 

T-CODE: OKKN(원가계산변형 세팅) 평가변형 세팅에서 '납품비용' 버튼을 누른다. 또는 T-CODE: OKYO로 들어가면 된다.

 

T-CODE: OKYO(오리진그룹에 조건유형 지정)

 

여기서 조건유형과 오리진그룹을 연결한다. 물류비 조건유형인 FRB1, FRB2를 오리진그룹 FR과 연결했고, 본체가격 조건유형인 PB00을 오리진그룹 RAW와 연결했다.

 

앞에서 오리진그룹 FR은 물류비, RAW는 원재료비 코스트 컴포넌트와 연결되도록 해놨으므로 아래와 같은 매핑 구조가 있는 셈이다.

 

 

조건유형 → 오리진그룹 → 코스트 컴포넌트

 

 

이 세팅은 평가변형, 회사코드, 평가영역(≒플랜트)별로 조건을 상세화할 수 있다. 우리 예시에서는 전체에 대해서 적용 받게 할 것이므로 그냥 공란으로 둔다.

 

여기까지만 하면 IMG 세팅은 끝이다.

 

 

(4) (Optional) 구매계정관리 활성화 - MM세팅

 

필요한 경우 구매계정관리를 활성화하여 구매금액과 물류비용을 가계정으로 기표할 수 있다.

 

IMG: 자재 관리 > 평가 및 계정 지정 > 계정 결정 > 마법사 없이 계정 결정 > 구매계정관리 > 회사코드 구매계정 활성화

 

해당 회사코드 세팅에서 '구매계정처리'를 체크한다. 참고로 이 세팅은 FI의 도움을 받아 T-CODE: OBY6에서도 할 수 있다.

 

그리고 따로 계산설정 활성화도 해줘야 하는데

 

IMG: 자재 관리 > 평가 및 계정 지정 > 계정 결정 > 마법사 없이 계정 결정 > 구매계정관리 > 구매계정에 대한 값계산

 

이렇게 세팅하면 별도 통계성 계정으로 구매관련 내용이 회계전표에 기표된다. T-CODE: OBYC에서 거래키 EIN, EKG, FRE, FR2에 대한 계정지정이 필요하다.

 

 


2. 마스터 데이터 관리

 

(1) 구매정보레코드 등록

 

자재/공급업체별로 관리하는 구매정보레코드에서 물대와 운송비용을 구분해서 입력한다. T-CODE: ME11로 간다.

 

T-CODE: ME12(구매정보레코드 변경) 난 이미 생성했으니 변경 화면으로 보여드린다.

 

T-CODE: ME12(구매정보레코드 변경) 상단의 '조건' 버튼을 클릭

 

상단의 '조건'을 클릭하면 조건유형에 따른 값을 입력할 수 있다.

 

총가격과 운임을 클릭하여 가격을 입력

 

본체가격과 물류비를 각각 입력

 

우리 예시에서는 단가는 4,000원, 물류비용은 1,000원으로 입력했다.

 

 

(2) 평가변형

 

표준원가 산출에 적용하기 위해 원가계산변형 내의 평가변형에 앞서 입력한 '구매정보레코드'를 사용할 수 있도록 지정한다. T-CODE: OKKN으로 간다.

 

T-CODE: OKKN(원가계산변형 세팅) 여기서 '평가변형' 클릭

 

'자재평가' 탭에서 재료비 가격을 가져오는 우선순위를 결정

 

 

'자재평가' 탭에서 전략순서를 '구매정보레코드'로 지정한다. 이렇게 하면 표준원가 산출 시 재료비 단가를 가져올 때 구매정보레코드를 기준으로 가져오게 된다.

 

 


3. 표준원가 산출

그럼 위와 같이 세팅했을 때 표준원가 산출은 어떻게 되는지 살펴보자. T-CODE: CK11N으로 산출해보면

 

T-CODE: CK11N(수량구조가 있는 자재원가추정 생성)

 

T-CODE: CK11N(수량구조가 있는 자재원가추정 생성)

 

계산결과를 보면 위와 같이 표시된다. '평가' 탭에 보면 자재가격 정보를 구매정보레코드에서 가져왔음을 알 수 있고, 아래 항목화뷰에서는 항목범주가 'I'(납품비용(Delivery Cost)란 뜻이다)이면서 오리진그룹이 RAW, FR인 행이 두 개 생겨있다. 각각이 원재료비, 물류비이며 이를 코스트 컴포넌트에서 확인해보면

 

 

보조와 주요 코스트 컴포넌트 뷰

 

이처럼 코스트 컴포넌트뷰에서 물류비가 별도로 표시되어 보여진다.

 

우리 사례에서는 원가구성요소 구조를 주요와 보조, 두 가지를 다 사용하고 있으며 주요일 때는 물류비를 구분하지 않지만, 보조일 때는 물류비를 구분하도록 세팅해놨다.

 

그럼 이대로 상위제품에 올라가도 물류비가 분리된 채로 보여질까?

 

T-CODE: CK11N(수량구조가 있는 자재원가추정 생성) 상위 제품의 경우

 

그렇다. 이렇게 상위제품일 때도 원재료비와 물류비로 구분되어 금액이 들어간다.

 

 


4. 실제원가 산출

그럼 이런 상태일 때 실제로 구매오더와 송장 처리는 어떻게 될까? 먼저 구매오더부터 생성해보자.

 

T-CODE: ME21N(구매오더 생성)

 

구매오더 생성 시 구매정보레코드의 값을 기본으로 가져온다. 따라서 단가가 1KG당 4,000원으로 되어 있고 그 아래에 조건 탭을 보면

 

T-CODE: ME21N(구매오더 생성) 하단의 조건 탭

운임으로 1,000원이 들어와있다. 상세 내역을 보면

 

T-CODE: ME21N(구매오더 생성) 조건유형의 상세 조회

 

'통계'와 '손익발생'이 찍혀 있고 계정결정키도 보인다. 다 우리가 세팅한 대로다.

 

이 상태에서 T-CODE: MIGO를 통해 입고까지 처리해보자.

 

 

T-CODE: MIGO(자재이동)

 

입고까지 처리하고 보면

 

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

 

그럼 이렇게 된다. 원재료비와 물류비가 제대로 분할되어 들어왔다. 그렇다면 회계전표는 어떨까?

 

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

 

위 전표를 해석하면 이렇다.

 

 

일반적인 경우라면 원재료 5,000,000 / GRIR 5,000,000으로 끝났을 전표인데 더 상세하게 기표된다. 우선 GR/IR이 매입부대비용과 물대(본체가격)으로 나누어져 있다. 하단의 구매계정, 구매계정Clearing, 물류비는 모두 통계성 계정이며 IMG 세팅에서 옵션 부분이었던 '구매계정관리'를 활성화하면 생긴다. 만약 그 부분을 활성화하지 않았다면 이 부분은 기표되지 않고 실계정만 기표된다.

 

이어서 송장 처리까지해보자. 송장은 물류비가 증가하여 1,200,000으로 바뀌었다는 가정하에 처리해보자.

 

 

T-CODE: MIRO(송장 입력) 물류비의 금액을 1,000,000에서 1,200,000로 바꾸었다.

 

이렇게 하고 저장하면

 

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

 

물류비로 200,000이 증액되고 그만큼이 가격차이로 생긴다. 회계전표를 확인해보면

 

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

 

이렇게 생긴다. 이 전표 역시 해석해보면

 

 

이렇다. 역시 통계성 계정으로 물류비가 생긴다. 이 통계성 계정들을 모으면 전표 레벨에서도 물류비와 관련한 정보를 취합할 수 있는데

 

 

결국 이런 식으로 정리된다. 실계정만 보면 GI/IR(WRX)과 매입부대비용(FR2)은 정리되어 0이되고, 원자재(자산)과 외상매입금(부채)만 남는다. 통계성 계정도 모두 더하면 잔액이 0이 되지만, 차변에서 물류비와 구매계정이 별도로 분리되므로 계정 레벨에서도 물대와 물류비를 분리하는 게 가능하다.

 

 

 


5. 결론

이 기능을 알고 있는 CO 컨설턴트를 많이 보지 못했다. 외주가공비에 대한 코스트 컴포넌트 분리는 많이들 알고 계시지만 물류비용을 코스트 컴포넌트로 분리하는 건 모르시는 분이 많았다. CO 책을 살펴봐도 T-CODE: OKYO로 세팅하는 부분에 대한 설명은 간단하게 있었지만, MM과 연계해서 세팅하는 상세한 내용을 설명한 건 보지 못했다. 그래서 많이 알려지지 못했던 것 같다.

 

그렇다고 신나서 이 기능을 무작정 활성화하기 전에 다시 한 번 더 생각해보자. 물류비를 코스트 컴포넌트로 분리하는 게 반드시 필요한가?

 

리포팅 측면에서 생각해보면 반드시 코스트 컴포넌트가 아니어도 물류비를 구분해볼 수 있는 방법은 있다. 어찌됐든 조건유형 등으로 구분이 가능하니 MM에서 리포팅을 하는 방법이다.

 

그럼 이걸 굳이 자재원장 레벨까지 분리해야 할 필요성은 무엇일까? 자재원장의 코스트 컴포넌트로 분류를 하면 롤업을 통해 상위 제품으로도 물류비 금액이 같이 올라간다는 점이 장점일 수 있겠다. 그렇다면 최종 매출원가 레벨에서도 물류비를 구분할 수 있게 된다.

 

하지만 내부생산을 하는 제품의 경우 해당 제품에 투입될 원자재의 물류비까지 포함해서 매출원가를 분석하는 게 의미가 있을까? 많은 경우 그렇지 않을 것이다.

 

오히려 이는 내부생산하는 제품보다는, 상품 판매일 때 더 유의미할 수 있겠다. 상품의 경우 구매단가와 물류비가 모두 중요하기 때문이다.

 

그런데 문제는 상품에서 적절한 재고평가방법인 이동평균가(2, V)를 사용할 경우 이 방식을 쓸 수 없단 점이다. 이동평균가를 사용하게 되면 해당 자재의 코스트 컴포넌트를 분할할 수 없기 때문이다.

 

그렇다. 이건 SAP에서 좀 개선해줘야 할 부분이라고 본다. 이동평균가에도 원가구성요소 분할이 되어야 한다. 이건 나만 이렇게 생각하는 게 아니고 『Material Ledger in SAP S/4HANA』의 저자도 그렇게 생각하는 것 같다. 487p에 이와 관련한 언급이 있다.

 

Cost component split for moving average
Some moving average materials contain components separate from the material cost, such as freight, duty, subcontracting fees, and so on. It would be great to be able to break these into cost components, just as is done with materials valued at standard cost

(Material Ledger in SAP S/4HANA 487p)

 

 

SAP여 부디 힘 좀 내주시길