Skip to Content
Technical Articles
Author's profile photo Venkata Nagendra Kumar Varaganti

Simple understanding of Material Ledger in SAP S/4HANA for beginners

This blog post  for beginners in ML or for  experienced Consultants in other SAP Components, to  understand and navigate Material ledger (ML)-Actual Costing Functionality in SAP S/4HANA.

I tried to keep this blog as simple and brief as possible.:)


Material Ledger is a Tool that collects transaction data for materials whose master data is stored in material master.

The material ledger uses this data to calculate prices to valuate these materials.

The material ledger is the basis of actual costing. It enables material inventories to be valuated in multiple currencies and allows the use of different valuation approaches.

It would be a good idea to have a better understanding about the Product Cost Flow which includes:

  1. Standard Cost Estimates and related configuration/processes
  2. Work In Process/Variance/Settlement Processes under different manufacturing scenarios
  3. Material Valuation and Movements throughout the Supply Chain and manufacturing cycle.

This helps to understand Material Ledger/Actual Costing in SAP quickly and seamlessly.

We will discuss about Multiple Currencies and Valuation Approaches as we move forward.

This blog is just an overview of Material Ledger functionality without navigating through transaction or configuration screens. In this blog, the approach in understanding Material Ledger is to keep it simple,  that ML(Actual Costing) is another sub-ledger and the configuration mapping is required to achieve the business requirements from Inventory Valuation and reporting perspective. If we approach with this objective, it keeps us less overwhelmed in our understanding.

Beginners Myths about Material Ledger:

  • ML is considered to be more complex and complicated topic to understand.
  • ML is having many complex terms to understand
  • Material Ledger and Actual Costing both should be active etc

In this blog, i tried to demystify some of  these myths for the beginners. Experience is an outcome of  continuous learning process.

We think ML is heavy, the basic reason to have such a thinking is the functionality moves around voluminous transactions covering across Procurement, Production Planning, Operations and Controlling. It will touch across the lifeline of the Material’s journey in SAP landscape.

If we draw a comparison, Closing Balance of Fixed Asset depends on many factors like acquisitions, reitrements, useful life, depreciation key, depreciation postings etc. In same fashion, the closing value of Material is influenced by many factors such as its Price set up, receipts/invoice/consumption etc in its journey in SAP Landscape.

We  have Different Depreciation Areas based on Ledger Group/Accounting Principle etc for varied business requirements. In the same way, Material ledger(Actual Costing) will have different valuation views(3) for varied business reasons.

Just tried to give a comparison so as to keep this concept simple. 🙂

Sub-ledger Concept:

Before we discuss about ML Functionality. Lets talk about sub-ledger functionality in FICO.

General Ledger represents the record keeping system for Company’s Financial data in the form of Debit/Credit item records posted. And the GL is validated by a Trial Balance.

Trial Balance is the closing balance of all GL Accounts for a given Date

Balance Sheet represents the financial position as on Date.

Now, our high-level fundamental concepts in place. We will go to the one level below General Ledger ie., Sub-Ledger,  below this level is the Journal Entry Postings.(either within FICO or through integrated postings). Please note some document numbers in CO/ML will appear  as Alphanumeric based on the business scenario/transaction, it is SAP derived based on internal algorithms.

Material Ledger/Actual Costing is one of the Sub-ledgers both from FICO perspective and from Inventory Management Perspective.

Material Ledger/Actual Costing is a Sub-Ledger like AP, AR, Fixed Assets – this gives us some relief indicating ML is just a sub-ledger and we are talking about this sub-ledger functionality. 🙂

Material Ledger as a Tool fufills two basic objectives:

  1. ability to manage material prices in multiple currencies/valuations,
  2. actual costing.

ML is a part of CO Module. IMG>Controlling>Product Cost Controlling>Actual Costing/Material Ledger. This does not mean that ML is restricted for Management Accounting(CO), as the actual costing functionality would be used for valuation of inventory on the balance sheet.

Let us see what this ML Subledger will do and help business:

  1. Inventory Valuation/revaluation
  2. Visibility of Price changes
  3. Updating Standard Cost with Actual Prices (optional)
  4. Periodic Unit price etc

Overall, it is the recording of Material related transaction postings either on account of price change/goods receipt or consumption – anything to do with Material in Multiple Currencies/Valuation Approaches

Material Ledger and SAP S/4HANA – Data Model Changes

Significant Data Model Changes took place in SAP S/4HANA/Conversion Process

Why ML (not actual costing!) is mandatory in SAP S/4HANA?

ML is a matured stable solution and many customers are using ML in ECC. Due to the data model changes in SAP S/4HANA, some tables like xbew undergone substantial data model changes. Apart from Enhanced features, resulting in activation of Material Ledger is mandatory. During a conversion to SAP S/4HANA, the activation of ML and ML type/currency type assignment will be part of conversion process. (Start and Monitor Data Migration cockpit).  Actual Costing is a different topic, will be covered as we move forward.

Multiple Currencies and Valuation Approaches:

What is Multiple Currencies in ML? What are its objectives?

Multiple currencies or Parallel Currencies is a functionality that allows to record transactions in multiple currencies. It does not mean that user has to enter multiple currencies each time they post a document.

To keep this concept simple, lets take an Example for a Company Code A

Company Code Currency1:  USD

Company Code: Currency2: GBP

Transaction/Document Currency: CAD

If a transaction is posted in CAD say 100$ CAD, we can see the FI document in document currency, company code currency, group currency. This is the simple of multiple currencies/parallel currencies.

In SAP S/4HANA, we can have 8 user defined currencies and two fixed currencies (Local and Global).

Some technical info – you will know once we lookinto ACDOCA table.

Local Currency: Company Code Currency (ACDOCA-HSL)

Global Currency/Controlling Area Currency: (ACDOCA-KSL)

User Defined/freely defined: (ACDOC- OSL, VSL, BSL, CSL, DSL,ESL, FSL, GSL).

In ACDOCA table, we can clearly see the field name as Amnt in CompCd Crcy, Amnt in Gl. Crcy, Amount in currency1,2,3…8

Tcode: FINSC_LEDGER for currency settings.

Even though, 2 fixed &  8 additional currencies allowed – For ML only three currencies are allowed as we have three valuation views.

Setup of  Currencies is a topic by itself – which is not covered in this blog.

What is Multiple Valuation Approaches?

Multiple valuation approach is the ability to value inventory in more than one valuation method.

This approach is required for:

1.Legal Valuation – Company Code as a legal entity.

2. Group Valuation – For overall group (Group consolidation) – Elimination of Inter-company profits, the common term used is “Markup”

3. Profit Center Valuation – It is the reverse of Group Valuation. Means ‘markup’ is included not eliminated.

Key points:

  1. Currency and Valuation Profile (CVP) – required for Transfer Pricing Scenario
  2. Material Ledger type and currency Type – mandatory (OMX1,OMX2 tcodes). Based on these settings you can find in Accounting Tab1, the currencies maintained.
  3. Assigning the ledgers to valuation views is an important aspect (Ledger from which CO reads actual data/define ledger for CO version) if actual costing/CVP is set up. Else, this  config is not required. Minimum set up is sufficient.
  4. Details of transfer pricing/CVP not in scope of this blog


Material Ledger/Actual Costing Configuration 

Only Material Ledger Active without Actual Costing:

What does this mean?

It means only Material ledger is active and Actual costing is not active. Indicates that inventories are not valued at Actual Cost based on the Actual Costing Runs.

Material Ledger Active and Actual Costing Active

What does this mean?

It indicates inventories are valuated at actual cost.

Materials are valued at Standard Price which is then adjusted to reflect the difference between the preliminary price and cost.

Each transaction that is relevant to valuation (such as goods receipt, invoice receipt, or production order settlement) records at standard price and the variances against that price such as price difference, exchange rate differences).At the end of the period, these varainces are assinged to Inventories and consumption of the period across multiple production levels. Material Valuation is therefore based on the periodic actual costs.

In Material Master, accounting tab1 – Price determination: 2 OR 3 determines the actual costing.

If the material is having price determination as 2 (Transaction based)- the price difference gets posted to FI and will not participate in inventory valuation at actual cost, still we can see the data of these materials in Material Price Analysis tcode CKM3N.

The key concepts to understand here are:

  1. Price Determination in Material Master Accounting-1 tab
  2. Revaluation of Consumption
  3. Periodic Unit Price
  4. Actual Costing cockpit (CKMLCP) note in S/4HANA AVR is a part of CKMLCP.

We have the option to default the price det either to 2 or 3 in activation of ML (Tcode: OMX1)

I could not able to cover these concepts in this blog as i want to keep this blog simple and brief – giving the overview of ML functionality.

Some changes in configuration in OBYC is not covered in this blog post.

Configuration of Material Ledger:

If we look at the configurable components, ML configurable steps are minimum but its impact is high. We need to be clear about the configuration flow and its purpose. There are certain configuration which cannot be undone after production startup. As such the configuration is to be done with clarity of purpose.

In this blog post, we will not discuss about its purpose of each step. We can refer the documentation available for each configurable step in IMG.

Highlevel Configuration Flow (indicative)


Whenever business requirements are known – a simple process flow chart of configuration with values – helps as a control check to see nothing is missed out during config. All config. values will not fit into the flow chart though 🙂 have some icons/symbols to indicate to refer to an Excel or some tool.

In Material Ledger, the data model is changed  resulting in enhanced feature changes in the functionality of certain programs like Actual Costing Run.

Now, let us touch base on high level understanding of Actual Costing Run in SAP S/4HANA.

Tcode: CKMLCP – Cost Cockpit: Actual Costing  (Actual Valuation or Alternative Valuation Runs/AVR)

  • Same transaction code for AVR as well.
  • In the application area – options for Actual Costing/Alternative Valuation
  • When we create – options to select Actual Costing Run or AVR etc
  • We can see the Plants assigned
  • Sequencing Step:System  sequences the materials by determining which lower-level materials are consumed into higher levels. (Scenarios: Parent-Child relationship of material consumption at higher level materials.
  • Single level price determination: Any price and exchange rate differences that occur for a material on its own level gets determined. Here, system will calculated Actual Cost ie PUP (Periodic Unit Price) the unique term in ML for Actual Costing valuation.It takes the standard cost of cumulative inventory and adding any price or exchange rate differences posted during that period.
  • Multi-level price determination: Here the variances of lower level materials gets moved up to any higher-level materials that consumed them as determined in Sequencing step. Here any variances on cost centers which represents the difference between the plan and actual activity rates, will be transferred to the materials on the production orders that consumed these materials. Please see the config step where we tell the system about this.
  • Revaluation of Consumption: here, any variances on material consumption happened on cost objects (eg: Cost centers ) will be proportionally transferred to these object or to a GL account which represents variance allocated to consumption.
  • WIP Revaluation: Here, the variance of any materials consumed in Production orders still in progress # to DLV/TECO will get proportionally transferred to WIP or GL account set up for this purpose. Please refer the config step.
  • Post Closing: The end of the process where the calculations made in the preceding steps gets posted to GL based on the set up. Material status will be set as Closing Entry Complete. At this point no inventory posting to the period just closed above.

The above steps looks complex and overwhelmed.If we draw the flow chart of its logical sequence, will get better understanding as to why each step is required.

The above actual steps may change based on the business requirements and the configuration.

To simplify our understanding, just take a BoM – Bill of Manufacturing and see the parent child relationship, the cost flow including material cost and activity cost, price control set up of respective material. Simulate various scenarios.

Just take an example of Assembling the Desktop Computer – list out the components and resources required to assemble a desktop which is BoM(Bill of Manufacturing). And just visualize this process keeping in view of change in prices of the components due to its dynamic nature, just simulate what would be the actual cost at the time the desktop is ready as a finished product for sale. Just visualize this concept and see if you want to take the actual cost of components semi assembled at the end of the month or do not value at actual cost.We can take help of excel in listing out BOM and related costs/material movements, just to visualize this concept.

If we get into a  product like desktop or a Fan and understand its BoM, cost, etc and visualize the cost and material movements during a month – we can see what would be its Actual Cost (PUP), WIP at Actual Cost required? what is the actual cost difference that should get reflected in our financials.

I tried to provide with a simple simile, to keep this concept simple in understanding.

Some References (including conversion related):

2354768 – S4TWL – Technical Changes in Material Ledger with Actual Costing

2709553 – How to track value flows of an activity during ML Closing.

2550081 – S/4HANA: Consumption Price Differences are considered for actual price calculation. Field ‘Price Diff. Issues’ is not displayed on CKM3

2558888 – S/4HANA: Post Closing logic in Material Ledger / New Actual Costing

2352383 – S4TWL – Conversion to S/4HANA Material Ledger and Actual Costing

2661581 – FAQ: Production Cost Analysis and Analyze Costs by Work Center/Operation in S/4 HANA On-Premise 1809

2206980 – Material Inventory Managment: change of data model in S/4HANA

2337383 – S4TWL – Material Valuation Data Model Simplification in S/4HANA 1610 and Higher

2345739 – S/4HANA Material Ledger Migration: Relevant notes and frequently asked questions

2267835 – S4TWL – Material Valuation – Statistical moving average price

2577551 – Material Ledger Production Setup in S4HANA (Green field approach)


To sum-up Material Ledger(Actual Costing) is a sub-ledger functionality. It helps for Inventory valuation and reporting.

Learning is a Continuous Journey, Each Experience is one of the milestones in the learning curve.

Hope this Blog meets its objective.

Have a good time.





Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Mukthar Ali Ahamed N
      Mukthar Ali Ahamed N

      Nice blog and good explanation..

      Author's profile photo Rishab Bucha
      Rishab Bucha

      Excellent blog Venkata,

      Thank you for writing it.



      Author's profile photo Dale Kunes
      Dale Kunes

      Nice job Naag... thanks for sharing!

      Author's profile photo alexander roan
      alexander roan

      Great post Venkata. I would perhaps draw the flow around the trail balance and balance sheet differently.

      Accounts are split into various categories assets, liabilities, revenues, expenses etc.  We generally talk about two major categories firstly the balance sheet consisting of assets and liabilities where as you mentioned we look at on a specific date and secondly the profit and loss consisting of revenue and expenses which we look at over a period.

      For the principal of double entry booking when we total all accounts across the balance sheet and P&L this is called a trial balance and should equal zero.

      So we first post to all the accounts and hence we have a balance sheet, and P&L with account balances. Then we look at those altogether to get the trial balance.

      So trial balance does not lead to balance sheet, but rather balance sheet is one input to preparing a trial balance.

      It's impossible to have a non zero trial balance in modern accounting because systems enforce a debit / credit match on all postings.

      Author's profile photo RSSV Prasad Atmakuri
      RSSV Prasad Atmakuri

      Nice Blog… thanks for sharing!



      Author's profile photo Iva Bata Poduska
      Iva Bata Poduska

      Not nice but GREAT blog post!  Thank you.

      Very useful for understanding the ML and Actual costing concepts.

      Author's profile photo Sreenivasulu Reddy
      Sreenivasulu Reddy

      It’s very good explanation

      Author's profile photo Sudhakar Mallampalli
      Sudhakar Mallampalli

      Very good document to give a overview of ML.  Thanks for the post Naag!!

      Author's profile photo Joao Berti
      Joao Berti

      Very good document and explanation! Thanks for sharing!

      Author's profile photo Kuhlman David
      Kuhlman David

      Thank you Naag!  Excellent overview.  Well done.

      Author's profile photo Yogeswaran Thiyagarajan
      Yogeswaran Thiyagarajan

      Excellent view on ML..! Appreciate your effort..!

      Author's profile photo Md Mukul Hossain
      Md Mukul Hossain

      So nice writeup Boss. Thanks for your blog.

      Author's profile photo Letian Wang
      Letian Wang

      Excellent Blog, Thanks Naag.

      Author's profile photo SIVASANKARAN SUNDARESAN

      So nice of you to have explained in detail about Material Ledger.

      Author's profile photo Karunakar Kaku
      Karunakar Kaku

      Nice blog, good to start

      Helpful if it was added with explanations with examples related to PUP, activity pricing, valuations etc.

      Author's profile photo Bashir Ghazi
      Bashir Ghazi

      Thanks Naag.  Very useful blog for understanding ML and Actual Costing.

      Author's profile photo Cesar Garcia
      Cesar Garcia

      This blog is helpful. I have a couple of questions:


      • We are planning the period-end close timetable for a Fortune 500 manufacturing company, as we plan for future monthend in a single S/4 global instance, do we need to have all cost center to cost center allocations done in the system before we can do the material ledger close with actual costing? We understand actual costing will consider transactions that are relevant to valuation (such as goods receipt, invoice receipt, or process order settlement), right. Will it also consider overheads charged from shared cost centers to mill cost centers that would create a variance between plan and actuals and transfer those to production orders where products were manufactured? We have activated the material ledger with actual costing using multi-level price determination and cross-company costing
      • What is the average runtime for material ledger close in a global company having operations in all continents? We have been told about 6-8 hours for a single global instance?




      Author's profile photo Pranav Kumar
      Pranav Kumar

      Thanks Naag for explain very clearly.

      Good One. Step by step Process.



      Pranav Gupta

      Author's profile photo Atul Gopal Mahajan
      Atul Gopal Mahajan

      perfectly said -  ML is just a sub-ledger and we are talking about this sub-ledger functionality.


      this has taken out all my myth & complicated thoughts about ML!

      Author's profile photo Pakorn Pholpong
      Pakorn Pholpong

      Nice writeup bro. very informative

      Author's profile photo Pawankumar Singh
      Pawankumar Singh

      Very nicely explained sir, very helpful for SAP FICO & MM consultant as well.