Material Ledger Actual Costing (CKMLCP): 실제원가 계산 가이드

2025. 12. 12. 13:05SAP CO/CATEGORY 3: 실전 운영 (Operations)

 

들어가며: 왜 Actual Costing인가?

"우리 제품의 실제 원가는 얼마입니까?"

단순해 보이는 이 질문에 정확하게 답하기란 생각보다 어렵습니다.

Standard Cost(표준원가)로 생산 중 발생하는 모든 변동을 파악할 수 없고, Moving Average Price(이동평균가)는 구매 가격 변동에 즉각 반응하지만 생산 원가의 층층이 쌓인 구조를 정확히 반영하지 못합니다.

 

Actual Costing은 최소 한 기간 동안 일정한 Standard Price를 적용하되, 실제 가격과의 차이를 Material Ledger에 자재별로 기록합니다. 이를 통해 기존 두 가지 가격 관리 방식의 장점을 결합하면서도 단점을 피할 수 있습니다.

(출처: Pikon - Material Ledger and Actual Costing in S/4HANA)

 

본 포스팅에서는 SAP S/4HANA 환경에서 Material Ledger와 Actual Costing의 작동 원리부터 CKMLCP Transaction을 통한 월말 정산 프로세스까지 내용을 다뤄보겠습니다.


Material Ledger의 정의

Material Ledger란 무엇인가?

Material Ledger는 회사 자재와 관련된 모든 이벤트(입고, 송장 입고, 생산 오더 정산 등)를 Line Item 단위로 기록하는 것을 의미합니다. (출처: SAP Blogs - Simple Understanding of Material Ledger)

 

핵심 특징:

  1. 다중 통화 관리: 회사 코드 통화, 그룹 통화, 추가 통화 동시 관리
  2. 다양한 평가 관점: Legal Valuation, Group Valuation, Profit Center Valuation 병행
  3. Actual Costing의 기반: 모든 자재 이동 내역을 추적하여 실제 원가 계산 가능

S/4HANA에서의 변화

중요한 차이점:

 

구분 ECC S/4HANA
Material Ledger 선택 사항 필수 (Mandatory)
데이터 구조 별도 테이블 (CKM*) Universal Journal 통합 (ACDOCA)
Actual Costing 선택 사항 여전히 선택 사항
CKMLCP 단계 8단계 5단계로 단순화

※ S/4HANA에서 Material Ledger가 필수가 되면서 데이터 모델이 변경되었고, 이로 인해 Actual Costing Run 같은 특정 프로그램의 기능이 향상되었습니다. (출처: SAP Press - Material Ledger and Actual Costing with S/4HANA)


Actual Costing의 작동 원리

Price Control의 세 가지 방식

1. Standard Price (S) - 표준원가

특징:
- 기간 중 일정한 가격 유지
- CK11N으로 계산된 Standard Cost Estimate 사용
- 실제 가격과의 차이는 Variance로 기록

장점: 원가 안정성, 예산 통제 용이
단점: 월중 실제 원가 변동 반영되지 않음

 

2. Moving Average Price (V) - 이동평균가

특징:
- 매 입고 시 가격 자동 재계산
- 구매 가격 변동에 즉시 반응

장점: 실시간 가격 반영
단점: 월 중 가격 변동성 높을 수 있음, BOM 구조 원가 왜곡 가능

 

3. Price Determination 3 - Actual Costing

특징:
- 기간 중에는 Standard Price(S) 사용
- 월말 CKMLCP 실행으로 Periodic Unit Price (PUP) 계산
- 차기 기간에 PUP를 새로운 Standard Price로 설정 가능

장점: 안정성 + 정확성 결합
단점: 월말 처리 복잡, 시스템 부하

Master Data 설정

Material Master (MM02/MM03)

Accounting 1 View:
┌─────────────────────────────────────┐
│ Price Control: S (Standard Price)   │
│ Price Determination: 3              │
│ ML Indicator: ✓ Activate            │
│ Current Standard Price: 100 KRW     │
└─────────────────────────────────────┘

※ Actual Costing을 사용하려면 모든 자재에 대해 반드시 Standard Price Control을 사용해야 하며, Accounting 1 View에서 Multilevel Price Determination을 3으로 설정해야 합니다. (출처: SAP Community - Material Ledgers Actual Costing)


CKMLCP: Actual Costing Cockpit의 핵심

Transaction Code: CKMLCP

경로: 
Accounting → Controlling → Product Cost Controlling → 
Actual Costing/Material Ledger → Actual Costing → 
Edit Costing Run

 

CKMLCP의 역할:

"CKMLCP는 월말 활동으로, 기간 중 Standard Price로 유지되던 자재의 재고를 Periodic Unit Price(PUP)라는 실제 원가로 평가하고, 생산 Variance를 계산하여 전기 하는 Transaction입니다."

(출처: SAP Community - Material Ledgers Actual Costing)

S/4HANA 1610 이후의 단순화

ECC (8단계) → S/4HANA (5단계)

이전에 Transaction CKMLCP에서 수행되던 처리 단계들(Single-level Price Determination, Multilevel Price Determination, Revaluation of Consumption, WIP Revaluation)이 S/4HANA에서는 단일 Settlement 단계로 대체되었습니다.

Settlement 단계는 원가 배부와 실제 가격 계산을 수행합니다"라고 설명되어 있습니다.

(출처: Zenal Consulting - Costing with S/4HANA Material Ledger)


CKMLCP 5단계 프로세스 상세 가이드

Step 1: Selection (선택)

목적: Actual Costing 대상 자재와 Activity Type 선택

시스템 선택 기준:

Selection 단계는 다음 기준으로 자재를 선택합니다:

1) Costing Run 생성 시 지정한 Plant의 자재,

2) 현재 기간 또는 Material Ledger Go-live 이후 이전 기간에 Goods Movement가 발생한 모든 자재,

3) ML Indicator가 Active로 설정된 자재 목록"이라고 명시되어 있습니다.

(출처: SAP Community - Material Ledgers Actual Costing)

선택 조건:
✓ Price Determination = 3
✓ Price Control = S (Standard Price)
✓ Plant에서 Goods Movement 발생 이력 존재
✓ ML Indicator = Active

 

실행 방법:

CKMLCP → Create Costing Run
1. Costing Run Name: 예) ZRUN_202412
2. Description: 2024년 12월 Actual Costing
3. Period: 12 / Fiscal Year: 2024
4. Application: Actual Costing Run 선택

Plant Assignment 탭:
- Plant: 1000, 2000 (필요한 Plant 추가)

Flow Steps → Selection:
- [Execute] 버튼 클릭
- 결과: 선택된 자재 목록 확인

 

Step 2: Sequencing (순서 결정) --> Preparation

목적: BOM 구조 기반으로 자재 간 계층 관계 파악 Sequencing 단계에서 시스템은 하위 레벨 자재가 상위 레벨로 소비되는 순서를 결정합니다. 이는 Parent-Child 관계의 자재 소비 시나리오에 해당합니다.

(출처: ERPCorp - Material Ledger Period-End Closing)

 

CKMLCP 프로세스의 통합 및 단순화 작업으로 Sequencing 단계는 사라졌으나 프로세스는 내부적으로 존재합니다.

ECC S/4HANA 역할 및 관계
Sequencing (순서 결정) Preparation (준비) 기초 데이터를 준비합니다. 준비 과정에는 원가 계산의 순서(Lowest Level)를 결정하는 로직이 포함됩니다.
없음 Settlement (결산) 결정한 순서에 따라 실제로 원가 차이를 계산하고 확산하는 작업(Single/Multi-level Price Determination)은 이제 'Settlement' 단계에서 통합적으로 수행됩니다.

 

 

프로세스:

Level 1: Raw Material (RM001, RM002)
   ↓
Level 2: Semi-Finished Goods (SF001)
   ↓
Level 3: Finished Goods (FG001)

※ 시스템은 이 구조를 파악하여 Level 1부터 처리 후, Level 2, Level 3 순으로 가격 차이를 Roll-up 합니다.

 

Step 3: Settlement (정산)

Settlement 단계가 수행하는 작업:

A) Preparation (준비)

Settlement Records 생성:
- Revaluation of Ending Inventory
- Revaluation of Single-level Consumption
- Multi-level Revaluation from Input (Material/Activity)
- WIP Input (Material/Activity) to Output Material
- WIP Increase/Reduction

 

B) Single-level Price Determination

개별 자재 수준에서 가격 차이 계산:

자재: RM001 (Raw Material)
Standard Price: 100 KRW

기간 중 구매:
- PO 1: 100개 @ 105 KRW → Price Diff: +500 KRW
- PO 2: 200개 @ 98 KRW → Price Diff: -400 KRW

총 Price Difference: +100 KRW
평균 실제 단가 (PUP): (100×105 + 200×98) / 300 = 100.33 KRW

 

C) Multilevel Price Determination

하위 자재의 가격 차이를 상위 자재로 Roll-up:

RM001 (Level 1) → Price Diff: +100 KRW
   ↓ (Consumption: 2 EA)
SF001 (Level 2) → RM001 Price Diff 승계: +200 KRW
                  자체 Price Diff: +50 KRW
                  총 Price Diff: +250 KRW
   ↓ (Consumption: 1 EA)
FG001 (Level 3) → SF001 Price Diff 승계: +250 KRW
                  자체 Price Diff: +30 KRW
                  최종 PUP 반영: +280 KRW

 

D) WIP Revaluation

미완성 Production Order의 WIP를 실제 원가로 재평가:

Production Order: 1000001
Status: Partially Confirmed (50% Complete)
Standard Cost: 1,000 KRW
Actual Cost (PUP): 1,050 KRW

WIP Revaluation:
Dr. WIP (Increase)  50 KRW
Cr. Price Difference  50 KRW

 

E) Revaluation of Consumption

기간 중 소비된 자재를 실제 원가로 재평가:

Production Order: 1000002 (Completed)
Consumption: RM001 100개 @ Standard 100 KRW
Actual PUP: 100.33 KRW

Revaluation:
Dr. Production Order Variance  33 KRW
Cr. Price Difference  33 KRW

 

실행:

Flow Steps → Settlement:
Parameters:
- Revalue Ending Inventory: ✓ (재고 재평가 여부)
- Revalue Consumption: ✓ (소비 재평가 여부)
- WIP Revaluation: ✓ (WIP 재평가 여부)

[Execute] 클릭
→ 시스템이 자동으로 PUP 계산 및 Settlement Records 생성

Step 4: Post Closing (마감 전기)

목적: 계산된 Variance와 Revaluation을 FI에 실제 전기 Post Closing은 가장 중요한 단계로, 여기서 실제 회계 전표가 생성됩니다. (출처: Infocost - Tips & Tricks for Actual Costing)

 

전제 조건:

□ Settlement 단계 완료
□ Test Run으로 회계 전표 미리보기 확인
□ OBYC 계정 할당 설정 완료:
   - Price Difference Account
   - Inventory Revaluation Account
   - Variance Accounts
□ 회계 기간 Open 상태 확인 (OB52, MMPV)

 

회계 처리 예시:

Scenario: RM001의 재고 재평가

Before:
Inventory: 1,000개 @ 100 KRW = 100,000 KRW

After PUP Calculation:
PUP: 100.33 KRW
Revaluation Amount: 1,000 × 0.33 = 330 KRW

FI Document Posting:
Dr. Raw Material Inventory (150100)  330 KRW
Cr. Price Difference (191100)  330 KRW

→ 재고가 실제 원가로 재평가됨

 

실행:

Flow Steps → Post Closing:
Options:
- Revalue Inventory: Yes
- Revalue Consumption: Yes
- Document Date: 2024.12.31 (기간 말일)
- Posting Date: 2024.12.31

[Test Run] 먼저 실행 → 전표 미리보기 확인
[Execute] 클릭 → 실제 FI Document 생성

중요:

Post Closing 실행 후, 이전 기간의 Material Master Price Control이 'S'에서 'V'로 영구 변경됩니다.

그러나 신규 기간에서는 여전히 'S'로 유지됩니다. (출처: SAP Community - Material Ledgers Actual Costing)

Step 5: Mark Material Price (가격 표시 - 선택 사항)

목적: 계산된 PUP를 차기 기간의 Standard Price로 설정

현재: Period 12 (2024년 12월)
PUP 계산: 100.33 KRW

Mark Material Price 실행:
→ Period 14 (2025년 2월) 이후부터 적용 가능
   (주의: 2 Period 이후만 가능)

Release (CK40N/CK24/CKME):
→ Period 14의 Standard Price = 100.33 KRW로 설정

제약 사항:

예를 들어, Period 06의 Post Closing을 수행하여 PUP를 계산한 경우, 이 가격은 Period 08 이후에만 Future Price로 Mark 할 수 있습니다. 매 기간 PUP를 사용하려는 경우, Material Price Determination을 3으로, Price Control을 S로 유지하면서 Period 6에서 7로의 PUP Release를 CKMLCP 및 후속 프로세스를 통해 실행하는 것이 권장됩니다.

(출처: SAP Community - Material Ledgers Actual Costing)

 

실행:

Flow Steps → Mark Material Price:
Selection:
- Materials: All / Specific Material Numbers
- Future Period: 14 / Fiscal Year: 2025

[Execute] 클릭
→ Material Master Accounting 1 View의 
  "Future Price" 필드에 PUP 값 저장

Release (CK40N):
→ Period 14 도래 시 Future Price가 Standard Price로 자동 전환

실전 Configuration 가이드

필수 Customizing 설정

1. Material Ledger Activation (OMX1)

IMG 경로:
Controlling → Product Cost Controlling → 
Actual Costing/Material Ledger → Actual Costing → 
Activate Valuation Areas for Material Ledger

설정:
┌─────────────────────────────────────┐
│ Valuation Area: 1000 (Plant)        │
│ Price Determination: 2 or 3         │
│- 2: ML Active, Actual Costing 미사용│
│- 3: ML + Actual Costing 모두 사용   │
│ Actual Costing: ✓ Active            │
└─────────────────────────────────────┘

 

주의:

일부 Configuration은 Production 시작 후 취소할 수 없습니다.  (출처: SAP Blogs - Simple Understanding of Material Ledger)

 

2. Account Assignment (OBYC)

Transaction: OBYC (Automatic Account Assignment)

필수 계정 설정:
┌────────────────────────────────────────┐
│ Transaction Key: PRD (Price Difference)│
│ G/L Account: 191100                    │
│ Description: 원재료 가격차이           │
└────────────────────────────────────────┘

┌────────────────────────────────────────┐
│ Transaction Key: GBB (Offsetting Entry)│
│ G/L Account: 140000                    │
│ Description: 재고 평가차액             │
└────────────────────────────────────────┘

┌────────────────────────────────────────┐
│ Transaction Key: KDM (Consumption Reval)│
│ G/L Account: 543000                     │
│ Description: 소비 재평가 차익           │
└────────────────────────────────────────┘

 

3. Material Master Data (MM02)

Material: FG001 (Finished Goods)

Accounting 1 View:
┌─────────────────────────────────────┐
│ Valuation Class: 7900 (Finished Goods)│
│ Price Control: S (Standard Price)    │
│ Standard Price: 1,000 KRW            │
│ Price Unit: 1                        │
│ Price Determination: 3               │
│ ML Indicator: ✓ Active               │
│ Valuation Category: (blank)          │
└─────────────────────────────────────┘

 

4. Standard Cost Estimate (CK11N/CK40N)

Period-End 전 필수 작업:
1. CK11N: Create Cost Estimate for Period N+1
2. CK40N: Mark Cost Estimate (Status: 2)
3. MMPV: Period Shift (N → N+1)
4. CK40N: Release Cost Estimate (Status: 3)
5. CKMLCP: Actual Costing for Period N

ML/Actual Costing의 순서는 항상 다음과 같아야 합니다:

1) Period 1에서 Period 2용 Cost Estimate 생성 및 Mark (CK11N)

2) Period 1에서 2로 Period Shift (MMPV)

3) Standard Cost Estimate Release (CK40N 또는 CK24)

4) Period 1의 ML Period End Closing (CKMLCP)

(출처: SAP Community - Material Ledgers Actual Costing)


Reporting 및 분석

주요 리포트

1. CKM3 (Material Price Analysis)

경로: Accounting → Controlling → Product Cost Controlling → 
      Actual Costing/Material Ledger → Actual Costing → 
      Information System → Material Price Analysis

용도:
- Periodic Unit Price 조회
- Single-level Price Changes 분석
- Multilevel Price Differences 추적
- Negative Usage 발견

Selection:
- Plant: 1000
- Period: 12 / Fiscal Year: 2024
- Material: FG001 (또는 All)

Output:
- Standard Price vs PUP
- Price Difference Amount
- Variance Categories

 

2. CKMLQS (Valuated Quantity Structure)

용도:
- BOM 기반 실제 Consumption 분석
- Multilevel Price Determination 검증
- Cycle 구조 파악

Input:
- Material: FG001
- Plant: 1000
- Date: 2024.12.31

Output:
- Component 별 Consumption Quantity
- PUP 반영 금액
- Price Difference Roll-up

 

3. S_ALR_87013611 (Variance Report)

경로: Information Systems → Logistics → Controlling → 
      Cost Object Controlling → Product Cost by Order → 
      Product Cost Collector → Variances → Overview

용도:
- Production Variance 분석
- Category 별 분류 (Material, Activity, Overhead)
- Actual Costing 영향 확인

Selection:
- Controlling Area: 1000
- Plant: 1000
- Period: 12 / Fiscal Year: 2024
- Variance Category: Input/Output Price/Quantity

Output:
- Variance by Category
- Order 별 Detail
- Trend Analysis

 


ECC에서 S/4HANA로의 전환

핵심 변화 요약:

S/4HANA로 전환 시 Material Ledger 구조가 근본적으로 변경되며, ACDOCA 테이블로의 통합으로 인해 Reconciliation이 자동화되고 Real-time Reporting이 가능해졌습니다.

영역 ECC S/4HANA
ML Activation 선택 사항 필수
데이터 구조 CKM1, CKM2, CKM3, CKMI* ACDOCA 통합
CKMLCP 단계 8단계 5단계
Actual Costing 선택 사항 선택 사항 (변동 없음)
Reporting Classic Reports Fiori + Classic 병행

 

 

실무 Q&A

Q1: Actual Costing은 모든 자재에 필요한가?

A: 아닙니다. Actual Costing은 주로 다음 자재에 적용합니다:

권장 대상:
✓ Finished Goods (완제품)
✓ Semi-Finished Goods (반제품)
✓ 핵심 Raw Material (고가/변동성 큰 원재료)

비권장 대상:
✗ Low-Value MRO Items (소모품)
✗ Services (용역)
✗ Trading Goods (단순 매매 상품)

이유:
- Actual Costing은 시스템 부하가 큼
- Cost-Benefit 분석 필요
- 전략적으로 중요한 자재에 집중

Q2: 매달 PUP를 Standard Price로 업데이트해야 하나?

A: 선택 사항이며, 회사 정책에 따라 다릅니다.

Option 1: 매달 업데이트 (Rolling Actual)
장점:
- 항상 최신 원가 반영
- Standard Price ≈ Actual Price
- Variance 최소화

단점:
- 월말 작업 부담 증가
- Price 변동성 높음
- 예산 통제 어려움

Option 2: 분기/반기/연간 업데이트
장점:
- 안정적인 Price 유지
- 예산 통제 용이
- 작업 부담 적음

단점:
- Standard vs Actual 괴리 발생
- Variance 누적

권장:
- 제조업: 반기/연간
- 유통업: 분기
- 가격 변동성 높은 산업: 분기/월간

Q3: Actual Costing과 Product Costing의 차이는?

A: 시점과 목적이 다릅니다.

Product Costing (CK11N):
- 시점: 사전 (Before Production)
- 목적: Standard Cost 계산
- 기준: BOM + Routing + Standard Rate
- 산출: Standard Cost Estimate
- 사용: 예산, 견적, 가격 결정

Actual Costing (CKMLCP):
- 시점: 사후 (After Production)
- 목적: Actual Cost 계산
- 기준: 실제 Consumption + Actual Rate
- 산출: Periodic Unit Price (PUP)
- 사용: 실적 분석, Variance 분석

관계:
Standard Cost → 생산 중 사용
Actual Cost → 월말 PUP 계산
차이 → Variance로 분석

프로세스 요약

Material Ledger Actual Costing의 전체 흐름:

월중:
Standard Price로 모든 거래 처리
→ Price Difference는 Material Ledger에 누적

월말:
1. CKMLCP Selection: 대상 자재 선택
2. CKMLCP Sequencing: BOM 계층 파악
3. CKMLCP Settlement:
   - Single-level Price 계산
   - Multilevel Price Roll-up
   - WIP Revaluation
   - Consumption Revaluation
4. CKMLCP Post Closing: FI 전표 생성
5. CKMLCP Mark Material Price: 차기 Period Standard Price 설정

결과:
✓ 재고가 실제 원가로 평가됨
✓ Variance가 정확히 계산됨
✓ Management Reporting 정확도 향상

핵심 포인트

  1. Material Ledger는 S/4HANA에서 필수지만, Actual Costing은 선택
  2. CKMLCP는 5단계로 단순화됨 (ECC 대비)
  3. Settlement 단계가 가장 복잡하고 시간 소요가 큼
  4. Post Closing 전 반드시 Test Run 실행
  5. Master Data 품질이 결과의 정확성을 좌우함

참고 문헌 및 출처

SAP 공식 자료 (2020-2023)

  1. SAP Press - Material Ledger and Actual Costing with S/4HANA (2020)
  2. SAP Blogs - Simple Understanding of Material Ledger (2020)
  3. Pikon - Introduction to S/4HANA Material Ledger and Actual Costing (2023)
  4. Zenal Consulting - Costing with S/4HANA Material Ledger (2022)
  5. ERPCorp - Material Ledger Period-End Closing (2023)
  6. SAP Community - Material Ledgers Actual Costing (2024)
  7. LinkedIn - Transition from SAP ECC to S/4HANA (2023)
  8. SAP Wiki - Multilevel Price Determination (2023)
  9. Infocost - Tips & Tricks for Actual Costing (2023)

용어 정리 (Glossary)

용어 설명

Material Ledger 자재별 모든 이동 내역을 Line Item으로 기록하는 Sub-Ledger
Actual Costing 실제 발생 원가 기반으로 자재 가격을 재계산하는 프로세스
PUP Periodic Unit Price, 월말 계산된 실제 단위 원가
CKMLCP Actual Costing Cockpit Transaction Code
Price Determination 가격 결정 지표 (1=Standard, 2=ML Active, 3=Actual Costing)
Multilevel 하위 자재의 가격 차이를 상위 자재로 Roll-up하는 계산
Settlement WIP와 Variance를 FI에 전기하는 프로세스
ACDOCA S/4HANA Universal Journal 테이블
Valuation Area 자재 평가 단위 (보통 Plant)
Price Difference Standard Price와 Actual Price의 차이

 

감사합니다.