Skip to Content

Material Ledger/ Actual Costing is one of the complex tool provided by SAP to manage its inflows and outflows of core manufacturing related materials in multiple currency and valuations. In this blog, I have tried to explain this functionality in detail with example (mainly Actual Costing).

Basically Material Ledger/Actual Costing are the two separate functionalities which are inter-dependent and are incorporated in the SAP Controlling module which are discussed below.

Actual Costing

Actual Costing is functionality provided by SAP to calculate actual prices i-e; PUP (periodic unit price) of inventories/ valuated material including Raw Material (ROH), Semi- Finished Good (HALB) and Finished Good (FERT). It includes all the actual prices for material in particular period.

Actual Costing Run (CKMLCP) is the month end activity, which is used to valuated the inventory in balance sheet at actual price (PUP- Periodic Unit Price) by calculating and posting Production variance during the month on the Material which was previously maintained at Standard Price (calculated from CK11N) in balance sheet.

Standard costing and actual costing can run completely separate from each other without any conflicts. The only decision to be made is, what price you use for material valuation. You can mark and release your cost estimations from CK40N as standard price to be used during the period. After the period is over and you run your CKMLCP you can decide in the closing entries if you want to revalue the inventory (of last month) by the periodic unit price.

The figure below shows the process and entries for Production Variance without Material Ledger/ Actual Costing,

The figure below shows the process and entries for Production Variance with Material Ledger/ Actual Costing,

If ML / Actual Costing is active the following Price determination setting can be done in Material Master of material.

ML active ML not active
Moving Average price (V) Standard price (S)

Standard price (S)

Recommended for SFG FG

Price determination

2 Transaction-based

(MVA is used for valuation)

Price determination

3 Single/Multilevel

(PUP is used for Valuation in the closed period)

Recommended for FG SFG and also RM

If ML is active with price determination 3 and you have already performed transactions to the material during the current period the costing release (CK40N or CK24) of Standard price to material is not allowed.

Price determination

2 Transaction-based

(Std price is used for Valuation.

MVA is used for Info purpose )

If with ML active you use price determination 2 then you can have both standard and moving average price (S or V) but cannot do inventory valuation at actual costing (PUP).

So, if you decide to use 2 and V then the purpose of ML would only be for parallel valuation (not for actual costing).


Moving Average(V)

Recommended for RM

S4 HANA Simplifications for Actual Costing:

In S4/HANA, there are no changes in the Actual Costing process it is remain optional to client whether to use this functionality or not as in SAP ECC.

Material Ledger

Material Ledger is a tool used to manage your inventory in multiple currencies and/ or perform multiple inventory valuation. It allows the client to manage its inventory in three currencies which is previously (when Material Ledger is not activated) being manged in only one currency with legal valuation.

Material ledger with Or without Multiple valuations

In order to used Multiple Valuations ML must be implemented.

ML with multiple valuations ML w/o multiple valuations

If multiple valuations are  used ML valuates the materials in up to 3 valuation views with 2 currencies

Example 1: 3 val : 2 curr

Legal valuation/ Comp code currency

Group valuation/ Group currency

Profit center valuation/ Group currency


Legal valuation/ Comp code currency

Group valuation/ Group currency

Profit center valuation/ Comp code currency

Example 2: 3 val : 1 curr

Legal valuation/ Comp code currency

Group valuation/ Comp code currency

Profit center valuation/ Comp code currency

If multiple valuations are not used ML just store the material prices/stock values in up to 3 currencies

Example 1:

Comp code currency

Group currency

Hard currency

Example 2:

Comp code currency

Group currency

Index based currency


Used with Multiple Valuation:

Used for parallel valuations. Material price/stock is valuated(costed through CK11N) separately and stored in the specified currency.

Used without Multiple Valuation:

Used if we want to store/display material price/stock/transactions in multiple currencies.

It is a mere translation of price/ stock into different currencies at historical exchange rate .

For each valuation view we maintain separate Version in controlling through t-code: OKEV.


Version Version Description Plan Actual Valuation View WIP/RA Variance




Legal valuation

Group valuation

Profit Ctr Valuation


Legal valuation

Group Valuation

Profit Ctr Valuation



With Legal Valuation, you are able to valuate your business processes similar to how you would do that in the Company Code, using Company Code Currency. Hence your financial reporting will be similar in Profit Center Accounting and FI.

In the Group View, you apply transfer pricing among Profit Centers at cost. Therefore, there are no intra-company transfer profits. The only profits that arise will be with respect to non-group companies.

With the Profit Center View, you apply transfer prices amount Profit Centers with Internal Revenue and Internal Costs. Therefore, rather than transfer the goods at Cost, the sender PC will “sell” the goods to the receiver PC. This differs from the Legal view, where the group valuation is more like a intra-group transfer.

S4 HANA Simplifications for Actual Costing:

Previously in SAP ECC,

Now in SAP S4/HANA,

Material Ledger Simplifications in S4/ HANA,

Material Leger/ Actual Costing Process Flow.

Procure to Pay Cycle for RM (Raw Material):

Figure below shows the Purchase to Order cycle to procure RM1 and RM2 material at respective prices.

Accounting entry generated in FI module during transaction MIGO,

In report CKM3 for RM1, we see that the price difference between standard price maintained in RM1 material and actual price at Good receipts is separately posted and shown under Price difference.

Prerequisites for Production Cycle:

Now check or Run cost estimate for FG and SFG to calculate and update Standard Prices in Material Master. Also create BOM and Routing master data for FG1 (FERT).

Production Cycle for FG (Finished Good):

Now we create Production Order using CS01, as we are using Collective order processing which is a set of production orders for FG and all its SFGs.

To Create a collective order, one of the SFG must have a special procurement key 81 in its MRP/ Costing view of master data.

As, we are using External activity “PCKG” at operation 0020. So when create Production order of any quantity the Purchase requisition for this activity type based on required quantity and standard price got created. Then on the basis of the Purchase requisition purchase order is created and Invoice verification MIRO is done against it.

Now the confirmation for SFG1 operation 0010 is performed. During confirmation the plan yield based on production quantity plus BOM and activity from routing is suggested which is change by manually entering the actual quantity and activity cost. It also suggests scrap of 2% maintained in MRP1 view of material master.

Figure below analyzes RM1 goods issue and SFG1 Production issue for Production order in Material price report CKM3N for RM1 and SFG1.

Now the confirmation for SFG2 operation 0010 is performed. The pertaining accounting entries and moment types are shown in figure below,

Below is the figure to analyze RM2 goods issue and SFG2 Production issue for Production order in Material price report CKM3N for RM2 and SFG2.

Now, we the final confirmation for FG1 fr operations “0010” and “0020” as shown in figure below,

Material Price Analyses report CKM3 for FG1 is analyzed shown below figure,

Following are the additional reports to further analyze the FG1 Material activity, purchase price and production variances.

Now, we calculate actual activity Prices through KSII or entered it manually through KBK6. TECO the all three production arder and run the settlement to calculate Production Variances for FG (FERT) and SFG (HALB).

Month-End Process for Production:

Below the figure showing CKM3 report analysis for FG1, SFG1 and SFG2,

Order to Cash Cycle for FG:

Now we make the sales 100 quantity of FG1. First we maintain the sales price for condition type  PR00 in VK11 and then we execute the sales order cycle for the entry of sales order to billing where the accounting invoice is generated in Finance.

After doing post good issue/ delivery the accounting entry generated for Cost of sales and in Material Price analysis report CKM3 for FG1 we can also see the impact of this sales which are shown in below figure,

Note: If costing based CO-PA is activated we can see the document generated for delivery and billing in Profitability Analysis by using t-code KE24 only after billing.

Actual Costing Run (CKMLCP):


The sequence in ML/Actual Costing should always be the following:

1) Create and mark cost estimate in period 1 for period 2  (T-Code: CK11N)

2) Do the period shift from period 1 to 2  (T-Code: MMPV)

3) Release the Standard cost estimate (T-Code: CK40N or CK24)

4) Do ML period end closing of period 1 (T-Code: CKMLCP)

With ML active, you may use CKMLCP to calculate the actual price and mark it as the further price (but only for two periods later. that’s say, if you do post closing for period 06 and get a periodic unit price, this price can only be marked as future price in period 08 or later). This marked future price can be released via ck40n, ck24, CKME.

If the company decides to go for periodic unit price every period. It is recommended to execute CKMLCP and further processes till release of periodic unit price from period 6 to 7 with material price determination maintain as 3 and S.

Company may decide whether or not to use the PUP (actual price) as future price. If it does not want so, use the normal Product Cost Planning process from CK11N/ CK40N.

Case 1 (Price determination 3 & S):

If ML is active with price determination 3 and you have already performed transactions to the material during the current period, the costing release (CK40N or CK24) of Standard price to material is not possible.

Case 2 (Price determination 2 & V): 

If with ML active you use price determination 2 then you can have both standard and moving average price (S or V) but cannot do inventory valuation at actual costing (PUP). So, if you decide to use 2 and V then the purpose of ML would only be for parallel valuation (not for actual costing).

CKMLCP Execution:

CKMLCP is executed to calculate Period Unit Price (PUP), which basically represent average actual cost for material or semi finished goods. Execution of CKMLCP includes the below steps:

Step 1: Selection

Execution of Selection steps identified, the list of materials for which the Periodic Unit Price calculation need to be executed during CKMLCP. The selection step work on the below concept:

After executing the Selection step, the system will identifies all the materials for which Periodic Unit Price should be calculated during the CKMLCP as in our case materials MAK2 RM1, MAK2 RM2 MAK2 SFG1, MAK2 SF2 & MAK2 FG1 are selected.. The materials selected during this run are based on following criteria,

1- Materials from those plants specified at creation of CKMLCP costing run.

2- It includes all the materials for which any goods movement happened during the current period or any of the previous periods after the go-live off Material ledger in Plant

3- List of materials for which ML indicator is set to active in Material master.

4- Material with status other than not defined or new.

Step 2: Determine Sequence

In this step the system describes the sequence in which the Periodic Unit Price for all the selected materials needs to be calculated.

It determine the group of materials, the cost of which don`t depend the cost of any other materials. Generally these are externally procured materials from external vendor (not from internal organization transfer, or purchase from some other plant of same company). Like in our case raw materials MAK2RM1 and MAK2RM2 gets selected. These materials are considered for actual PUP calculation at single level price determination.

All the other materials, manufacture in-house, sub-contracting, purchase from some other affiliates in the same company are considered for multilevel price determination.

Step 3: Single level price determination

Single-level material price determination is the step in which the Periodic Unit Price (also called PUP, Actual Price) is determined.
This step calculates actual material prices based on Costs of Procurement.
The term single-level always refers to an individual material and its procurement process (external procurement and internal procurement like production or company transfer).

When using Actual costing, all materials are valuated with a preliminary price (standard price) that must remain constant during a period.
Variances (price differences and exchange rate differences) arise during the period for this preliminary valuation price.
At the end of the period, you can use the single-level price determination to assign the variances recorded in the period for each material.

In our case the Price difference for RM1 & RM2 are calculated and production variance for SFG1, SFG2 & FG1 are calculated.

The below figure shows the impact of single level price difference on the ending inventory of FG1

Step 4: Multilevel price determination

In this step system do the PUP price calculations by considering the below prices:

1- Variance between the Standard price of raw materials with the Single level PUP calculated at -single level price determination

2- Variance between Plan activity rate with Actual activity rate

3- Variance allocation performed through the actual flow of goods on actual quantity

4- Variance between inter-plant (under same company, may or may not be under the same co. codes)  transfer are also consider if any goods movement happened between these plants, otherwise not

5- All other variances having an impact on lower level materials actual cost are consider for calculating actual PUP for higher level materials.

The screenshots below depicts the the impact of Multi-Level Price determination on the RM1 to SFG1 highlighted in blue circle.

The picture below shows the the effects of Multi level Price determination on SFG2 from RM2 consumption.

Finally the the variances in consumption of SFG1 & SFG2 for FG1 would be transfer to FG1 Receipt from lower level Variances as shown in the figure below.

Step 5: Revaluation of consumption

In this step system do the revaluations of all the consumption based on the actual PUP calculated at single level or multilevel price determination. The main purpose of this step is to bring the cost of consumption for Good Finished to actual cost, so that the profit margins are not over or under stated.

The below image illustrates the impact of Consumption Revaluation on FG1 as the cost from non-allocated is assigned to Revaluation of Consumption.


Step 6: WIP revaluation

In this step system do the revaluations of all the Work in progress based on the actual PUP calculated at multilevel price determination.

As in our scenario WIP is not calculated for Production Order so we skip this step.

Step 7: Post closing

At post closing step, system do the posting of all the variances calculated during single level or multilevel price determination and do the revaluation of consumption and closing inventory, and passed the necessary entries.

After this the material master price control in the previous period will be changed permanent to V, from S. But in the new period, it will still be S.

Below are Accounting entries for the analysis resulted as a result of Post Closing execution.

In above entries you see that here the activity Price variance is charge to cost center and FG Inventory directly rather than to Cost center and Production Order. Here we don’t have to run t-code CON2 for Revaluation of activity at actual Price.

Step 8: Mark material price

Material ledger provides the functionality of converting the current Periodic unit Price (PUP) as standard cost of next month. This can be done via executing the Mark material price step.

When you mark price with CKMLCP, the future price in accounting view 1 is changed together with the “valid from” date.

After executing this step, the PUP of current months gets updated as marked cost estimate for coming month. For converting, the PUP of current month as standard cost of next month, we need to activate Dynamic price release.

This Blog is aimed to give the concept and use of Material Ledger/ Actual Costing and what benefits an organization gains from this functionality. Below are some references which are knowledge full to readers if they want more insight of Actual Costing. Hope that this article is able to deliver what it is destined too. It is requested from readers to please share their feedback. Your time and efforts would be highly appreciated.







To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply