From the time of Luca Pacioli, the father of accounting, till today, inventory valuation has been a point of debate. In countries with stable inflation rate it is considered fine to have inventory valuated at standard cost. In such countries material inventory values are normally carried by the SAP system in one currency with raw materials valuated at moving average price and semi-finished and finished goods valuated at standard price. In countries where currency is not stable and inflation rates are high it is pertinent to have inventory valuated at actual costs. In such countries it might also be required to record inventory valuation in more than one currency, usually a local currency and another more stable reporting currency like the USD to indicate the inflationary impact on the inventory values. SAP supports this requirement of showing inventory valuation in multiple currencies at actual cost using the functionality of material ledger and actual costing. This whitepaper provides an overview of material ledger, actual costing, its setup in SAP and some known issues based on real life project experiences.
Introduction: Material Ledger and actual Costing in SAP
Material Ledger in SAP essentially is a line item wise record showing changes in stock and prices with each material movement in up to three currencies. Material records pertaining to opening stock, goods receipt, invoice receipt, debits, credits etc get logged in the ledger along with the price and exchange rate differences throughout the month. The currency translations for the three currencies happen at historical exchange rates available at the time of posting. This ledger with a complete record of each single transaction of the material forms the basis to calculate actual cost for the material at period end. The actual price thus calculated in SAP is called the periodic unit price and can be used to revaluate inventory. This actual price can then also be treated as standard cost for the next month. A typical material ledger and actual costing flow in SAP is as shown below:
The material ledger also becomes useful in cases where transfer prices are active between organizational units of the same enterprise i.e. transfer prices between two legal entities, two groups or two profit centers. In this case material ledger provides the base value for transfer price calculation for the sending material and records the transfer price for the receiving material.
Interface with the User
With material ledger active a SAP user gets exposed to some additional information and operational steps. Following additional information is available at his/her disposal:
- Line item display of all transitions that have happened on the material
- Ability to see the inventory value in more than one currency
Users can conduct a detailed material price analysis at any time as shown below:
Material Price Analysis-Price History View: CKM3
At period end the user can perform actual cost update based on the transactional figures captured in material ledger as follows:
Actual Costing-Costing Cockpit: CKMLCP
SAP also provides a plethora of reports for business users in Actual Costing / Material Ledger Information System.
Settings and Configuration
The settings and configuration steps involved are as listed below:
- Activate Valuation areas for Material Ledger (T.Code: OMX1)
- Assign Currency Types to Material Ledger Type (T.Code: OMX2):
- Assign Material Ledger Types to Valuation Area (T.Code: OMX3):
- OBYC Settings (Regular setup+ material ledger cost price difference setup etc)
- Define Movement Type Groups of Material Ledger (T.Code: OMX7)
- Material update structure (T. Code : OMX9)
- Assign Movement Type Groups of Material Ledger (T.Code: OMX0)
- Assign Material Update Structure to a Valuation Area (T.Code:OMX8):
- Activate actual costing
- Activate Actual Cost Component Split
- Check Material Ledger Settings (T.Code:CKM9)
- Production Startup (CKMSTART): do a test run initially
- Production Startup (CKMSTART): The expected results of a good material ledger production startup is as shown below
Note: During material ledger and actual costing setup transaction code CKM9 is used as a key tool to ensure the setup is technically fine at each step. Each element in this report should show (ok) as a confirmation for the setup to be fine. All the checks except one are set ok once the above setups are correctly maintained. The one check which does not come through the above setup is the “Involved in cost obj. Controlling” setup for material ledger setup. This check automatically becomes active the moment the first cost object (Production Order, process Order, cost collector) for the production process is created in SAP. A section of CKM9 result is as shown below:
Some additional information for material ledger implementations:
- Material masters do not get created after material ledger is made active but not productive. So either create it before material ledger is made active or after it is productive.
- All previous material ledger periods need to be closed in production before going live. In number of cases chances are that material ledger gets productive in one month (say 04,2012) and then business tries to execute closing after the completion of the next month ( say 05, 2012). In such cases system generates error message. Forced closing as per OSS note number 361236.
- Detailed information on posting Logic in material ledger: OSS note 908737
- Setting Material Ledger Unproductive in Development and Quality servers OSS note 108374
SAP’s material ledger functionality provides the ability to record inventory values in more than one currency and indicates the inventory inflationary trends. Line item wise material transactions provide a meticulous approach to conduct actual costing at period ends. It provides detailed information to users on the flow of actual costs and the impact due to it. The functionality needs to be activated with caution as once activated in production environment it cannot be deactivated.